Teaching Reform to Computer System Fundamentals (RISC-V Version) for Developing Students’ Computer System Capabilities
摘要
Currently, most college students majoring in computer science in China have studied the computer science courses such as C language programming, compiling principles, digital logic circuit, computer organization and system architecture. However, many of them cannot specifically state how a C program runs inside the computer when they graduate. A key reason for this phenomenon is because these courses are taught independently, and lack coherence and continuity with each other. Consequently, the students are lack of computer system capabilities. To solve this problem, we offered a course named “Computer System Fundamentals (RISC-V version)” in Wuhan University of Technology. This course integrates the knowledge from different software and hardware courses so as to improve the students’ computer system capabilities. Specifically, this course designs a representative C program example, and then uses this example to investigate how a program runs inside the computer from the high-level application layer to the low-level hardware layer. First, it guides the students to explore how a C program is converted into assembly code; Then, it discusses how the assembly code is translated into machine code; Next, it introduces how the machine code is stored in the memory system; Finally, it investigates how to design a RISC-V CPU to run the machine code in the memory system. This course can help the students understand the correlation between software and hardware, and enhance the ability to analyze a computer problem from a global system perspective. The course has been offered in the computer science major of Wuhan University of Technology for 4 years and has been greatly welcomed by the students. The survey results also show this course has effectively improved the students’ computer system capabilities.