Mitigating Metal Dendrite Formation in Lithium ... - ACS Publications

Dec 24, 2018 - Despite issues related to dendrite formation, research on Li metal anodes has resurged because of their high energy density. In this st...
0 downloads 0 Views 593KB Size
Design of Paper CPU Project to Improve Student Understanding of CPU Working Principle Juan Chen∗

College of Computer, National University of Defense Technology Changsha, Hunan, China [email protected]

ABSTRACT With the continued surge in the popularity of CS classes, an unprecedented number of non-major undergraduate students enroll in an introductory computer science course. It is a little difficult for freshmen to totally understand CPU working principle in one or two lessons. In the literature, many CS0 curriculum teaching methods have been proposed and studied. One challenge in helping students understand the structure of CPU and how it performs the instructions of a program, is partially the lack of tools for students to be engaged in the CPU working process. In this article, we present a paper CPU project that has been used in an introductory computer science course in our university. A paper CPU represents a virtual CPU made by paper or other materials. During this activity, students presented the CPU working process by "executing" a program. We describe the goal, the principle, the design for our project, the class activity organization, the outcome (handcraft works of paper CPUs), the presentation, and the feedback from the students. We also discuss how the students were influenced during developing paper CPUs, what were the highest ranked difficulties, etc. Students used four kinds of materials to make their paper CPUs and they really enjoyed this activity. Students got a deep understanding for CPU working principle through such a CPU-making process and presentation. Finally, we present our quantitative findings to reflect the effectiveness of our project, as well as the statistics about the students’ achievements on this project.

CCS CONCEPTS • Computers and Education → Computer and Information Science Education;

KEYWORDS Introductory Computer Science Courses, CS0, CPU Working Principle ∗ Juan

Chen is the corresponding author of this paper.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. TURC 2018, May 19–20, 2018, Shanghai, China © 2018 Association for Computing Machinery. ACM ISBN 978-1-4503-6415-7/18/05. . . $15.00 https://doi.org/10.1145/3210713.3210735

Li Shen

College of Computer, National University of Defense Technology Changsha, Hunan, China [email protected] ACM Reference format: Juan Chen and Li Shen. 2018. Design of Paper CPU Project to Improve Student Understanding of CPU Working Principle. In Proceedings of ACM Turing Celebration Conference - China, Shanghai, China, May 19–20, 2018 (TURC 2018), 7 pages. https://doi.org/10.1145/3210713.3210735

1

INTRODUCTION

Introductory computer science course is a compulsory course for CS majors and CS non-majors [1–8]. For an introductory computer science course, it is very important to understand how a CPU basically performs an instruction and runs a program. CPU structure and its working principle form important parts of an introductory computer science course "body of knowledge" as identified by the ACM and IEEE computer science curriculum task force. According to the introductory computer science curriculum, students need to understand CPU structure and its working principle, in order to understand well the principle of computation and learn how to think computationally. Therefore it is essential for CS0 instructors to use some tools, models or simulators to help students understand the nature of CPU working principle [4, 7]. But for non-majors, they have some difficulties in understanding CPU working principle. Especially for those students who have no interests in computer science, they often confuse about some key concepts of computer hardware system, and also feel hard to grasp the principle of computation. How to motivate them to be more interested in computer science is our concern. From our perspective, one challenge in helping students understand the structure of CPU and how it performs the instructions of a program, is partially the lack of tools for students to be engaged in the CPU working process. According to the theory of the Learning Pyramid [9], learners retain approximately 75% of what they learn when they practice what they learned. Nowadays, many efforts on developing useful teaching tools, or models to help students understand the nature of CPU have been done in the world. For example, Thomas J. Cortina [4] designed and implemented a novel introductory computer science course for non-majors. The instructor focused on the major contributions in computer science from the perspective of the process of computation, but didn’t include programming language. Students focused on algorithms and the principle of computational thinking. They could use a flowchart simulator to experiment with all kinds of algorithms and also could build simple computer games without considering programming language syntax. The feedback shows that this course are popular by various departments. One of common methods for guiding students to design a simple CPU

TURC 2018, May 19–20, 2018, Shanghai, China architecture is to simulate. Derek C. Schuurman [7] presented a step-by-step design and simulation for a simple CPU architecture which used a free and open source simulator called Logisim. Such a design provided students an opportunity to grasp basic computer architecture concepts by making their own CPU. Although we could not provide the same chance for students to make their own CPU, we can provide the opportunity for them to make a "virtual" CPU. The virtual CPU means all the units on chip are made by paper or other similar materials instead of real hardware components or simulator components. They can learn some basic CPU structure concepts and its working principle by making this "virtual" CPU. It is convenient for students to move instructions and data on the virtual CPU when running a program. What we are concerned about is to adopt some useful methods, such as handcraft models, to motivate students to explore the essential features in CPU. Making a paper CPU is a helpful method. By cutting out different shapes for each unit and fixing all the units on the plastic foam board, or carton/paper/cloth, students definitely deepen their impression of CPU structure. Furthermore, they need to execute a program by moving the instructions and data between memory and CPU, as well as placing them into appropriate positions. The whole process really helps them understand CPU working principle. In this paper, we will show all the details about the goal, the principle, the design for our project, the class activity organization, the outcome, the presentation, and the feedback from the students. Our effort is intended for not only introductory computer science instructors, but also those who are interested in instructional technologies. Our work focuses on the three primary emphasis areas: motivation and objective, CPU-making process and presentation, and effectiveness and feedback. The motivation behind this project is why non-majors have more difficulties in understanding CPU working principle, and how to motivate them to be more interested in CS. We emphasize on what materials students needed to prepare for making a paper CPU, how they made a paper CPU, how they presented the CPU working process in class, what the highest ranked difficulties were, how they finally got the whole idea for CPU working principle, and what they thought about this project. Totally 60 students were divided into 25 groups, and each group of students worked together to complete one paper CPU. 25 paper CPUs were made by four major materials: plastic foam board, carton, paper and cloth as Figure 2 shows. We also show the track of the pushing project, which includes preparation and paper-making, discussion and report writing, presentation, formal report and feedback. Our quantitative findings clearly indicate that making a paper CPU and running a program on the paper CPU really help students better understand CPU structure and its working principle. The main contributions of this article are as follows. • We developed a practice project to improve student understanding for CPU structures and its working principle. During the activity, students were engaged in the CPU working process by making paper CPUs. • We designed and organized the class presentation activities. From the feedback of students, they enjoyed the whole process and really got a lot from the activity. More importantly,

Juan Chen and Li Shen these non-major students showed great interests in computer science. The structure of this article is as follows. Section 2 presents the goal, the principle and the design of our practice project. Section 3 presents the class activity organization and the effectiveness. Section 4 gives some quantitative findings. And Section 5 summarizes our work.

2

GOAL, PRINCIPLE AND DESIGN OF OUR PRACTICE PROJECT 2.1 Goal and Principle of Our Practice Project Our introductory computer science course totally consists of nine chapters, which are the overview for computer system, computer basic information representation, computer hardware system, operating system, computer network and application, multimedia technology, database technology, information security technology, and computational thinking and problem solving. This course is a compulsory course for the freshmen in our university. Chapter 3 is about computer hardware system, which covers a lot of core knowledges about the physical parts or components of a computer, such as CPU, storage devices, computer buses, I/O devices, etc. Among them, CPU is the core component of computer hardware system, which carries out the instructions of a program by performing the basic arithmetic, logical, control and input/ouput operations. In this article, we present a practice activity about CPU structure and its working process. The lecture part for CPU structure takes a 45-minute lesson, and the class activity for CPU working principle presentation takes two 45-minute lessons. In this article, we focus on how to use these three lessons to improve student understanding of CPU structure and its working principle. The goal of our practice project is to make non-major freshmen to learn CPU structure and its basic working principle by making paper CPUs. CPU working process is the process of repeatedly executing instructions. An instruction cycle is the basic operational process of a computer. A computer retrieves a program instruction from its memory, determines the actions, and carries out the actions. This cycle is repeated continuously by CPU. In class, we calculate the sum from 1 to 1000 as an example to illustrate CPU working process. How does the CPU carry out the instructions in one instruction cycle? The whole process for an instruction cycle is as follows: fetch a program instruction from the memory, decode the instruction to determine what actions the instruction dictates, carries out these actions and then writes the results back to the memory. Figure 1 shows all the components during this process, which includes CPU, memory and bus. We show three major units in CPU (control unit CU, arithmetic and logic unit ALU and registers), as well as CPU inside bus that connects them together. The principle of our practice project includes: (1) The core of learning CPU working principle is to quite understand what happens in one instruction cycle, how a program automatically runs from the first instruction, and how a program executes a jump instruction. (2) The outcomes of the project are that students can correctly build all the components in Figure 1 to form a virtual CPU;

Design of Paper CPU Project to Improve Student Understanding of CPU Working Principle T URC 2018, May 19–20, 2018, Shanghai, China • Q4: How does this project help students understand CPU working principle well? • Q5: What is the feedback from the students? Is there anything else we could do to improve the teaching effectiveness?

Inside Bus

Registers

Bus

3 Memory

Figure 1: Framework for CPU, memory and bus between them. Initially, program instructions are stored in memory. the students must illustrate how the instructions of this example program move between CPU and memory, and also show how these instructions move among the units in CPU. (3) Our assessment for the project includes how well each group build the paper CPU; whether they can provide a correct presentation or not; whether they can answer all the questions by the teacher and other students; whether they can provide a formal project report.

2.2

Design of Our Practice Project

We spent one 45-minute lesson to explain CPU structure. After class, I assigned a homework to the students about making a "paper" CPU. Students could use any materials they want to make their virtual CPUs. Paper is the only one choice. Totally 60 students were divided into 25 groups. Each group needed to complete a paper CPU. This paper CPU needs to include CPU, memory, bus between them, and also major units in CPU as Figure 1 shows. In order to make it possible to move the instructions in memory, all the instructions to be executed should be made seperately. The detailed demands for making a paper CPU are as follows. (1) "Fetch instructions" is represented by moving a slip of paper with the instruction to Instruction Register (IR); (2) The value of Program Counter (PC) determines the memory address of the instruction that is to be executed next. The initial value is 0x0010. Assume the length of each instruction is four bytes; (3) The values of general registers need to be updated in each instruction cycle; (4) "mov R0, sum" means moving the value of register R0 to the right place of memory marked as sum; (5) The sum of 1+2+...+1000 is stored back to the memory. The questions we are concerned about are: • Q1: What kind of materials could the students use for making paper CPUs? How many slips of paper do they need to cut? • Q2: How could the student correctly present the CPU working process by moving these program instructions between CPU and memory? • Q3: What are the highest ranked difficulties for CS non-majors during the making process and presentation?

CLASS ACTIVITY ORGANIZATION AND EFFECTIVENESS 3.1 Class Activity Organization Totally 60 students were divided into 25 groups. Each group of students worked together to complete a paper CPU. "Paper CPU" doesn’t mean that CPU model is only made by paper. Actually, 25 paper CPUs were made by four kinds of materials including plastic foam board, carton, paper, and cloth as Figure 2 shows. Among them, six groups used plastic foam board to make their paper CPUs, eight groups made paper CPUs by carton, ten groups made them by paper and other one group made it by cloth, a bed sheet. 14 slips of paper are needed to cut, which present seven instructions and seven instruction addresses. In addition, several slips of paper for presenting constants are needed. These constants will temporarily be stored in registers. (the answers for Q1) After the first lecture lesson, students spent nearly three hours in preparing and making paper CPUs in average. Before the second lesson began, students needed to finish the following things: (1) Preparation. Firstly, the students had to read the textbook and review the first lesson about CPU structure, instruction cycle, and etc. Then, they needed to determine what kind of material they prefer and what paper-making plan they would choose before moving to the next step. (2) Paper-making. What components or units did they need to cut and combine together? Then, they needed to prepare about 20 slips of paper for presenting the instructions and addresses stored in memory and the data in registers? (3) Instruction cycle replay. The students needed to know how the first instruction starts to move from memory to CPU followed by other steps in one instruction cycle. For example, initially, all the instructions are stored in memory as Figure 2 shows and PC holds the address of the first instruction. (i) In the fetch step, CPU completes copying the data from memory to the instruction register according to the memory location indicated by PC. The PC is incremented so that it points to the next instruction in memory. Students needed to move the current instruction from memory to the instruction register, and then update the piece of paper for PC by adding one. (ii) In the decode step, CPU determines what instruction is to be performed, which is done by the CPU’s Control Unit. Students needed to explain what operation is performed now. (iii) In the execute step, the function of the instruction is performed. For the arithmetic or logic instructions, the ALU is utilized. Students needed to update the piece of paper for the corresponding registers. (iv) In the written-back step, the calculation data is written back to memory. They needed to move some values from registers to memory. (the answers for Q2) (4) Discussion and report writing. In all the above phases, students discussed together and then reached an agreement for each decision. When disagreement occurs, students tried

TURC 2018, May 19–20, 2018, Shanghai, China

(a) Made by plastic foam board

Juan Chen and Li Shen their best to find the answers from books or asked help from others. Students needed to write a project report to record all the details about preparation, making paper CPUs, instruction cycle replay, discussion, experience, and etc. The objective of our class activity is to give a presentation to clearly explain each step of an instruction cycle, and to illustrate how a CPU automatically runs a program from the first instruction. During this presentation, they pointed out each component on the board, each CPU unit, and its function. Then, they used the example I provided in the first lesson to explain: how the first instruction was fetched from memory and was moved to CPU. Where was it placed into and what changes happened in PC and the instruction registers? How about the decode step, execute step and written-back step? Furthermore, they explained how a jump instruction changed the address of the next instruction. In Table 1, we summarize features, advantages and disadvantages for each type of paper CPUs made by 25 groups of students. Table 1: Features, advantages and disadvantages for each type of paper CPUs Type Made by paper

(b) Made by carton Made by carton

(c) Made by paper

Made by foam board

Made by cloth

Features This material is easy to get. Most of time was spent on how to design, how to "run" a program and how to prepare a presentation. Most of groups built a complete paper CPU by paper cutting. About two hours were spent in average. Carton is also easy to get. But students spent more time in building this paper CPUs made by carton. Some students used a hook or pushpins to stick the instructions on the memory. They also used doublesided tape to fix the CPU units. About three hours were spent in average. The foam board is very smooth. All the CPU units and components were fixed on the foam board. And the instructions were made by paper and then sticked on the memory. About three hours were spent in average. Very big. It is really creative to use a bed sheet to make a paper CPU. About three hours were spent in average.

Advantages 20% paper CPUs adopted different colors for different CPU units so as to identify the temperature variance for different units. Most of this type CPUs are big enough for presentation. One group of students adopted a dual-core processor instead of a single-core processor for a higher running speed. Most of foam boards were very clear and tidy.

All the components and CPU units were drawn on the cloth. Very clearly.

Disadvantages Most of paper CPUs were too small to show when students gave the presentation. And nearly half of this type of paper CPUs were too simple to reach our demands. Paper CPU made by carton is a little hard to be exquisitely made.

This material is not easy to find.

Instructions were also drawn on the cloth, which were fixed. It is not possible to move. Bed sheet is soft, which brings about a little trouble for presentation.

(d) Made by cloth (bed sheet)

Figure 2: Four kinds of materials are used to make paper CPUs.

For paper CPUs made by paper, there were ten groups of students who chose paper as their materials. Most of students spent about two hours in completing this paper CPU. They finished paper cutting. They drew each unit in CPU, as well as memory and bus. Then they prepared some slips of paper to represent the instructions and

Design of Paper CPU Project to Improve Student Understanding of CPU Working Principle T URC 2018, May 19–20, 2018, Shanghai, China the data. It is worth mentioning that some groups used different colors to identify different units because they have different temperatures. For example, red was used for registers and control unit, and purple was used for other units as Figure 3 shows. This point shows students improved their thinking ability and creative ability. For the disadvantages for this type of paper CPUs, most of paper CPUs were too small and too simple to show when they gave the presentation. It would be better if they cut each CPU unit instead of drawing them.

for each group, there were unavoidably some questions. Someone might argue with the presenter. The presenter, together with the team-mates needed to answer all the questions to support their paper CPUs and to support their illustrations about CPU working principle. After presentation, each group needed to modify their project report and submit a formal report. Finally, we gave the scores for each group according to the quality of their paper CPUs, their presentation and the formal project report.

3.2

Effectiveness

About the effectiveness of class activity, the most achievement from this project is that the students recognized the important points and difficulties. They really thanked this project for providing the opportunity to see the problems and improve the understanding for CPU working principle. The highest ranked difficulties for those CS non-majors are (the answers for Q3):

Figure 3: paper CPUs made by paper. Different colors are used to represent different CPU units with varying temperatures. For paper CPUs made by carton, there were eight groups of students who chose carton as their materials. The making process is more complicated than the paper-making. So students spent more time in making this type of paper CPUs, nearly three hours in average. They used all kinds of accessories to aid, such as hook, pushpins, double-sided tape and etc. This type of paper CPUs are commonly big enough and also striking. It is good for presentation. But, there are also several groups that did not make a satisfactory product. One interesting thing is that, one group of students wanted to get a higher running speed so that they adopted a dual-core processor instead of a single-core processor. This shows the students invested extreme enthusiasm in making their paper CPUs, and really got their creative ability improved. For paper CPUs made by foam board, there were six groups of students who chose plastic foam board as their materials. The foam board is very smooth. All the CPU units and components were fixed on the foam board. The instructions were made by paper and then were sticked on the memory. But, the plastic foam board is not easy to find. The last type of materials is cloth. There was only group of students who used a bed sheet to make it. It is very big. It is really creative for them to use this type of materials. All the components and CPU units were drawn on the cloth. They also drew the instructions on the cloth, so that the instructions were fixed, could be moved. It is not convenient for them to present the instruction cycle. For the presentation session, nearly all the students showed great enthusiasm on their own presentations. Most of them were so proud of their products and eager to show their making process and share their experiences. For each group, the presentation time was limited within three or four minutes. Therefore, actually the class activity lasted two 45-minute lessons. Each group elected a representative to give the presentation. During the presentation

(1) learning the working principle for the decoder. (2) understanding the working process for the jump instruction. For example, what is the next step after performing a jump instruction? (3) understanding the working process for the program counter. (4) some units were often missing during their drawing CPU structure, such as instruction decoder, CPU bus, control unit. The second effectiveness from this project is to motivate the students’ enthusiasm and confidence for CS. Those students are nonmajors. Before this project, most of them have no interest or confidence for CS. But, by making the paper CPU and presenting a program running, they really got a deep understanding for CPU working principle. They also think this presentation greatly improved their oral expression ability and thinking ability, as well as team cooperation ability. In order to get a high-quality presentation, the teammates have to overcome some difficulties in the lack of CS knowledge. There are still some groups who are eager to see the next project assignment. From the following several aspects, the students were influenced by designing and presenting paper CPUs. (the answers for Q4) (1) The demands for making a paper CPU forced them to review the CPU structure. (2) The process of making a paper CPU strengthened the students’ understanding for the instruction cycle. (3) Some arguments during group discussions helped them correct some errors and misunderstandings. (4) The presentations in class inspired most students’ interests and confidences. Questions and arguments also helped them recognize their disadvantages and furthermore deepen their understanding. (5) By writing project reports, the students summarized their projects and proposed some insightful implications. (6) Many creative ideas were proposed by some students, which enriched our class. For example, several colors were used for different units to stand for different temperatures; a dual-core processor instead of a single-core processor was adopted; etc.

TURC 2018, May 19–20, 2018, Shanghai, China

4

QUANTITATIVE FINDINGS

In June 2017, Totally 60 questionnaires were sent out, and 60 were effectively received with effectively recovery of 100%. Through this questionnaire, we can learn whether this making paper CPU project did help CS non-majors understand for CPU structure and its working principle. Each group of students wrote down their making process and their experiences. Many details were included, such as how to prepare, how much time they spent, what features about their paper CPUs, what do they think of this activity, etc. According to the feedback from students, we can draw the following results. (the answers for Q5) (1) All the students think that making process greatly deepens their understanding for CPU structure and also for how CPU works in each instruction cycle. (2) In average, the students spent about one hour in reviewing the textbook before they started making paper CPUs. All the groups spent a lot of time in discussing some design details and also arguing some problems, at least half an hour. They reached an agreement before they started to make. In average, each group spent two or three hours in making paper CPUs. (3) About 80% students think that presentation really deepens their understanding and also corrects some errors. (4) 90% students think this activity really makes them more interested in CS. For non-major students, this change greatly benefits the introductory computer science course. We can see this from some comments by students. "This presentation greatly improved my oral expression ability and thinking ability. I think it is a very awesome activity". "This is a novel project! We really got a lot from this practice. Now we found we had great interests in CS! Thank the teacher so much". "It was the first time for me to present my product in front of other classmates. This project greatly influenced me. I believe I can learn CS well in the future"....... (5) 100% students think this activity is full of fun. They really enjoyed the whole making process. The students also shared something interesting. For example, one group utilized a used poster to make their paper CPU. One group of students even used a used bed sheet to make a huge paper CPU. We provide the detailed comments for each group and also gave the scores for their products and the presentations as Table 2 shows.

5

CONCLUSIONS AND FUTURE WORK

This article presents a paper CPU project that has been used in the introductory computer science course in our university. We focus on how to help freshmen improve their understanding for CPU structure and CPU working principle. During this activity, students used four kinds of materials to complete their paper CPUs, and they also gave a presentation to show the CPU working process. The presentation includes illustrating the function of each CPU unit and other components, explaining how a CPU works during each instruction cycle, how a CPU performs an automatic program running, etc. The goal, the principle, the design, the class activity organization, the outcome, the presentation, and the feedback have been presented in this article. Finally, our quantitative findings

Juan Chen and Li Shen Table 2: The comments and the scores for each group. No. of Groups Paper 1

Paper 2 Paper 3 Paper 4 Paper 5 Paper 6 Paper 7 Paper 8 Paper 9 Paper 10 Carton 1 Carton 2 Carton 3 Carton 4 Carton 5 Carton 6 Carton 7 Carton 8 Foam board 1 Foam board 2 Foam board 3 Foam board 4 Foam board 5 Foam board 6 Cloth 1

Descriptions and Comments They drew each unit in CPU, as well as memory and bus. But they didn’t make slips of paper for instructions and data so that they couldn’t move instructions between CPU and memory and couldn’t change the values of registers. They didn’t make all the CPU units. They didn’t quite understand the decode step. Instruction decoder and bus were missing. It is a little difficult for them to understand how the jump instruction works. They used different colors to represent different units. But they didn’t mark the decoder and control unit. This group didn’t implement a real paper CPU. Students drew a framework instead. But this group paid more attention to understand CPU working process. Considering CPU has high power consumption, they used yellow color to represent CPU. The paper CPU has a complete structure. They drew all the CPU units and other components on a piece of paper. The paper-making product was a little bit simple. The paper-making product was simple. But the presentation is OK. The paper-making product was too simple. They drew a paper CPU on a colorful piece of paper. It was too simple. They made all the components. All the instructions and address values were made into slips of paper. The biggest paper one. They used a hook to stick the instructions on the memory. Very clean and tidy. They adopted a dual-core processor instead of a single-core processor. They used the pushpins to fix all the slips on the carton. But they didn’t quite understand the decode step well. They used the double-sided tape and other aided materials.

Mak- Presening tation C C

C

C

C

B

B

B+

C-

C

C+

B-

C+

B-

C+ C+ C

B BC

B

B

B+

B

B

B

B

B

B-

B-

All the components and instructions were made by carton. Instructions and addresses were free to move. They used different colors to identify the different parts. Pushpins were used to fix the instructions. Most of the key units were made.

B

B

B

B

B

B

They used foam board and paper to make their paper CPU, among which foam board represented CPU chip and paper was cut for different CPU units. They used foam board, pushpins, etc to make it. The hand crafted fine. They used foam board, pushpins, etc to make it. The hand crafted fine, color is rich. They used foam board, pushpins, etc to make it. The hand crafted fine, color is rich. The teammates showed a great enthusiasm during the presentation. This paper CPU includes the complete units. The presentation was good. The teammates enjoyed this paper-making and also realized some disadvantages. They used foam board, cardboard, glue, etc to make it. The hand crafted fine. They made a very big virtual CPU using a bed sheet. The project report was good. The presentation was complete and enthusiastic.

B

B

A

A

A

A

A

A

B+

B+

B+

B+

A

A

reflect our project really improves student understanding of CPU working principle and also motivates student to be more interested in computer science.

ACKNOWLEDGMENTS The work is supported by the NUDT Teaching Reform Research Project under grant No. U2015013 and No. yjsy2016012, and by the Teaching Reform Research Project of Hunan Province under grant No. JG2017B004.

REFERENCES [1] Evan Barba and Stevie Chancellor. 2015. Tangible Media Approaches to Introductory Computer Science. In Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE ’15). ACM, New York, NY, USA, 207–212. https://doi.org/10.1145/2729094.2742612

Design of Paper CPU Project to Improve Student Understanding of CPU Working Principle T URC 2018, May 19–20, 2018, Shanghai, China [2] Zack Butler, Ivona Bezakova, and Kimberly Fluet. 2017. Pencil Puzzles for Introductory Computer Science: An Experience- and Gender-Neutral Context. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’17). ACM, New York, NY, USA, 93–98. https: //doi.org/10.1145/3017680.3017765 [3] James P. Cohoon. 2007. An Introductory Course Format for Promoting Diversity and Retention. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’07). ACM, New York, NY, USA, 395–399. https://doi.org/10.1145/1227310.1227450 [4] Thomas J. Cortina. 2007. An Introduction to Computer Science for Non-majors Using Principles of Computation. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (SIGCSE ’07). ACM, New York, NY, USA, 218–222. https://doi.org/10.1145/1227310.1227387 [5] Marie Desjardins and Michael L Littman. 2010. Broadening student enthusiasm for computer science with a great insights course. (2010), 157–161. [6] Timothy Huang and Amy Briggs. 2009. A Unified Approach to Introductory Computer Science: Can One Size Fit All?. In Proceedings of the 14th Annual ACM SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE ’09). ACM, New York, NY, USA, 253–257. https://doi.org/10.1145/1562877. 1562956 [7] Derek C. Schuurman. 2013. Step-by-step Design and Simulation of a Simple CPU Architecture. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE ’13). ACM, New York, NY, USA, 335–340. https://doi. org/10.1145/2445196.2445296 [8] Justin Solomon. 2007. Putting the Science into Computer Science: Treating Introductory Computer Science As the Study of Algorithms. SIGCSE Bull. 39, 2 (June 2007), 46–49. https://doi.org/10.1145/1272848.1272882 [9] D. A. Sousa. 2001. How the brain learns: a classroom teacher’s guide (2nd. ed.). Corwin Press, Thousand Oaks, Calif.