Before you keep reading...
Runestone Academy can only continue if we get support from individuals like you. As a student you are well aware of the high cost of textbooks. Our mission is to provide great books to you for free, but we ask that you consider a $10 donation, more if you can or less if $10 is a burden.
Before you keep reading...
Making great stuff takes time and $$. If you appreciate the book you are reading now and want to keep quality materials free for other students please consider a donation to Runestone Academy. We ask that you consider a $10 donation, but if you can give more thats great, if $10 is too much for your budget we would be happy with whatever you can afford as a show of support.
4.9. Abstraction Inside the CPU optional¶
This lesson leads students from a low level programming language to a higher level language in order to illustrate the layers of abstraction at work in a computer. It also illustrates some of the basic concepts around how hardware components work in the computer. There are a number of technical terms that should be reviewed as needed with students.
The Student Lesson: Complete the activities for Mobile CSP Unit 4 Lesson 4.10: Abstraction: Inside the CPU.
- Presentation system (LCD projector/Interactive whiteboard)
- Access to computer, laptop, or Chromebook (install the Companion app on Chromebooks)
- Videos and Simulators Pages:
4.9.1. Learning Activities¶
Estimated Length: 45 minutes
- Hook/Motivation (5 minutes): Show the trailer to the ENIAC Programmers Story. Engage students in a discussion of the skills programmers needed at the time of the ENIAC versus the skills they are learning in this class. Responses might include that they need more math skills to program on the ENIAC, but they should also be able to identify that they needed to think abstractly and solve problems, including debugging errors, as well as work collaboratively in teams.
- Experiences and Exploration (30 minutes): The lesson consists of three short videos, interspersed with self-check questions and activities. Students should watch the videos, and then work together either in pairs, or teams to work out the solutions to the questions and problems.
All of the problems focus on a 4-bit Computer Simulator that models the development of a digital computer through several generations, starting with the raw machine, which has to be programmed directly in machine language (Generation 1), through the use of primitive software tools (Generation 2), through the use of an Assembly Language (Generation 3).
The theme of the lesson is abstraction. Try to get students to appreciate the role that ever more sophisticated software abstractions have played in making computers more accessible. Try to draw a comparison between the primitive nature of machine language and assembly language, which the ENIAC women used, and the sophisticated nature of the App Inventor language that they are using.
Another important fact to point out is that the 4-bit Simulator, as simple and primitive as it is, accurately models today's powerful computers, including their smart phones. At the heart of today's computers are still components such as RAM and the CPU; today's computer's are still based on a fetch-execute cycle, in which machine language instructions are interpreted and executed by the CPU. And today's programs, regardless of what high-level language they are written in, still need to be translated (by software) into machine language before they can be run on a computer.
- Rethink, Reflect, and Revise (10 minutes): One of the themes of this lesson is the usefulness of models and simulations in helping us understand complex phenomena. Engage students in a discussion of the 4-bit Computer Simulator and how it helped deepen their understanding of how computers work.
The College Board's AP Classroom provides a question bank and Topic Questions. You may create a formative assessment quiz in AP Classroom, assign the quiz (a set of questions), and then review the results in class to identify and address any student misunderstandings.The following are suggested topic questions that you could assign once students have completed this lesson.
Suggested Topic Questions:
Differentiation: More Practice
Background Knowledge: Fetch-Execute Cycle
Background Knowledge: Female Role Models
Teaching Tips: Technical Terms
4.9.2. Professional Development Reflection¶
Discuss the following questions with other teachers in your professional development program.
- How do the lesson activities reinforce the computational practice of abstractingfor students?
I am confident I can teach this lesson to my students.
- 1. Strongly Agree
- 2. Agree
- 3. Neutral
- 4. Disagree
- 5. Strongly Disagree