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
Demo: ED 30
Tue 2-4
Quiz 0 and 1 Proj ED 30
1. By the C, by the C, by the Beautiful C
Demos: CL 10 and CL 20
Tue 2-11
Quiz 2 Proj CL 10 Discussion 1
2. A Deeper Dive into C Programming
Demo: ED 202
Tue 2-18
Quiz 3 Proj CL 20 Discussion 2
3. C Debugging Tools
Demo: C 101
Tue 2-25
Quiz 4 Proj ED 202 Discussion 3
4. Binary and Data Representation
Demos: C 101 continued, ED 204
Tue 3-4
Quiz 8 Proj C 101 Discussion 4
8. 32-bit x86 Assembly (IA32)
Demos: ASM 100, ASM 104
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
Demos: ASM 105, ASM 110, ASM 120
Tue 3-25
Holiday -- no class
Tue 4-1
Quiz 11 ASM 105 and ASM 110 Discussion 7
11. Storage and the Memory Hierarchy
Demo: ASM 200, ASM 210, ASM 310
Tue 4-8
Quiz 12 ASM 120 Discussion 8
12. Code Optimization
Demo: ED 205, ED 206
Tue 4-15
ASM 200 and ASM 210 Discussion 9
13. The Operating System
Demos: R 10 and R 20
Tue 4-22
Quiz 13 (extra credit) ED 204 Discussion 10
14. Leveraging Shared Memory in the Multicore Era (Part 1)
Demo: ED 210
Tue 4-29
ED 205 Discussion 11
14. Leveraging Shared Memory in the Multicore Era (Part 2)
Tue 5-6
ED 206
15. Looking Ahead: Other Parallel Systems and Parallel Programming Models
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 ·
PDF ·
Keynote
14. Leveraging Shared Memory in the Multicore Era (Part 1) ·
PDF ·
Keynote
15. Looking Ahead: Other Parallel Systems and Parallel Programming Models