CMPT 295 Lecture Notes
- Course Introduction [“Course Introduction” slides]
- This Course [This Course slides]
- Grading [Grading slides]
- Lectures and Labs [Lectures and Labs slides]
- Mini-Project [Mini-Project slides]
- Quizzes/Exams [Quizzes/Exams slides]
- References [References slides]
- Assumptions [Assumptions slides]
- Expectations [Expectations slides]
- Computer Systems [Computer Systems slides]
- Hardware [Hardware slides]
- Topics [Topics slides]
- Revisiting C [“Revisiting C” slides]
- Command Line C [Command Line C slides]
- The Heap [The Heap slides]
- Multi-file C [Multi-file C slides]
- Compiling C [Compiling C slides]
- Aside: Integers in C [Aside: Integers in C slides]
- Assembly Introduction [“Assembly Introduction” slides]
- Our First Assembly [Our First Assembly slides]
- Calling Convention [Calling Convention slides]
- The Registers [The Registers slides]
- Example: call preserving [Example: call preserving slides]
- The Processor [“The Processor” slides]
- Digital Circuits [Digital Circuits slides]
- The Processor [The Processor slides]
- Instructions [Instructions slides]
- Memory [Memory slides]
- Instruction Cycle [Instruction Cycle slides]
- Reality [Reality slides]
- The Point [The Point slides]
- Assembly: Conditions and the Stack
- Binary Representations
- Bit Tricks
- Assembly: Using Memory
- Memory & Storage
- Processor Tricks
- Tools
- Floating Point
- Data Parallelism
- Returning to C
- Threads
- Leftovers
- Conclusion
Course home page.
x86-64 Cheat Sheet.
Schedule
| Week |
Deliverables (*) |
Lecture Hour |
Lecture Date |
First Slide |
| 1 |
|
1 |
May 13 |
Intro |
| 2, 3 |
May 15 |
Multi-file C |
| 2 |
Lab 1 |
4 |
May 20 |
Example: call preserving |
| 5, 6 |
May 22 |
|
| 3 |
Lab 2 |
7 |
May 27 |
|
| 8, 9 |
May 29 |
|
| 4 |
Lab 3 |
10 |
Jun 3 |
|
| 11, 12 |
Jun 5 |
|
| 5 |
Lab 4 |
13 |
Jun 10 |
|
| 14, 15 |
Jun 12 |
|
| 6 |
Lab 5 |
16 |
Jun 17 |
|
| 17, 18 |
Jun 19 |
|
| 7 |
Lab 6, Quiz 1 |
19 |
Jun 24 |
Quiz 1 |
| 20, 21 |
Jun 26 |
|
| 8 |
Lab 7 |
22 |
Jul 1 |
Canada Day holiday 🍁 |
| 23, 24 |
Jul 3 |
|
| 9 |
Lab 8 |
25 |
Jul 8 |
|
| 36, 27 |
Jul 10 |
|
| 10 |
Lab 9 |
28 |
Jul 15 |
|
| 29, 30 |
Jul 17 |
|
| 11 |
Lab 10, Quiz 2 |
31 |
Jul 22 |
Quiz 2 |
| 32, 33 |
Jul 24 |
|
| 12 |
Lab 11 |
34 |
Jul 29 |
|
| 35, 36 |
Jul 31 |
|
| 13 |
Lab 12 |
37 |
Aug 5 |
|
| 38, 39 |
Aug 7 |
|
| 14+ |
Mini-Project, Final Exam |
— |
* Check CourSys for the actual due dates and times.