The organization and behavior of real computer systems at the
assembly-language level. The mapping of statements and
constructs in a high-level language into sequences of machine
instructions is studied, as well as the internal representation of
simple data types and structures. Numerical computation is
examined, noting the various data representation errors and
potential procedural errors. May not be repeated. SC
The quizzes are multiple-choice, online, and open-book. However, you may not ask other people to help you during the quizzes. You will need to study the textbook chapter
before the lecture covering it, and take the quiz before that class.
Each quiz is due 30 min. before class. Each quiz has 5 questions, you have ten minutes to take it, and you can make two attempts. If you take the quiz twice, the higher score counts.
There are discussion board topics most weeks, and
participation in the discussions is graded. There are dates
listed in the schedule with Discussion assignments
due.
For the topics and requirements, see the Discussion
board in Canvas.
Schedule
Date
Due
Topic
Tue 1-28
0. Introduction
Tue 2-4
Quiz 0 and 1 Proj ED 30
1. By the C, by the C, by the Beautiful C
Tue 2-11
Quiz 2 Proj CL 10 Discussion 1
2. A Deeper Dive into C Programming
Tue 2-18
Quiz 3 Proj CL 20 Discussion 2
3. C Debugging Tools
Tue 2-25
Quiz 4 Proj ED 202 Discussion 3
4. Binary and Data Representation
Tue 3-4
Quiz 8 Proj C 101 Discussion 4
8. 32-bit x86 Assembly (IA32)
Tue 3-11
Quiz 7 ASM 100 Discussion 5
7. 64-bit x86 Assembly (x86-64)
Tue 3-18
Quiz 9 ASM 104 Discussion 6
9. ARM Assembly
Tue 3-25
Holiday -- no class
Tue 4-1
Quiz 11 ASM 105 and ASM 110 Discussion 7
11. Storage and the Memory Hierarchy
Tue 4-8
Quiz 12 ASM 120 Discussion 8
12. Code Optimization
Tue 4-15
Quiz 13 ASM 200 and ASM 210 Discussion 9
13. The Operating System
Tue 4-22
ED 204 Discussion 10
TBA
Tue 4-29
ED 205 Discussion 11
TBA
Tue 5-6
ED 206
TBA
Tue 5-13
Last Class: No New Material
Tue 5-13 through Tue 5-20
Final Exam available online throughout the week.
You can only take it once.
All Quizzes due 30 min. before class
Lecture Slides
0. Introduction ·
PDF ·
Keynote
1. By the C, by the C, by the Beautiful C ·
PDF ·
Keynote
2. A Deeper Dive into C Programming ·
PDF ·
Keynote
3. C Debugging Tools ·
PDF ·
Keynote
4. Binary and Data Representation ·
PDF ·
Keynote
8. 32-bit x86 Assembly (IA32) ·
PDF ·
Keynote
7. 64-bit x86 Assembly (x86-64) ·
PDF ·
Keynote
9. ARM Assembly ·
PDF ·
Keynote
11. Storage and the Memory Hierarchy ·
PDF ·
Keynote
12. Code Optimization ·
PDF ·
Keynote
13. The Operating System
14. Leveraging Shared Memory in the Multicore Era
15. Looking Ahead: Other Parallel Systems and Parallel Programming Models