CMPT 295 Lecture Notes

  1. Course Introduction [“Course Introduction” slides]
    1. This Course [This Course slides]
    2. Grading [Grading slides]
    3. Lectures and Labs [Lectures and Labs slides]
    4. Mini-Project [Mini-Project slides]
    5. Quizzes/Exams [Quizzes/Exams slides]
    6. References [References slides]
    7. Assumptions [Assumptions slides]
    8. Expectations [Expectations slides]
    9. Computer Systems [Computer Systems slides]
    10. Hardware [Hardware slides]
    11. Topics [Topics slides]
  2. Revisiting C [“Revisiting C” slides]
    1. Command Line C [Command Line C slides]
    2. The Heap [The Heap slides]
    3. Multi-file C [Multi-file C slides]
    4. Compiling C [Compiling C slides]
    5. Aside: Integers in C [Aside: Integers in C slides]
  3. Assembly Introduction [“Assembly Introduction” slides]
    1. Our First Assembly [Our First Assembly slides]
    2. Calling Convention [Calling Convention slides]
    3. The Registers [The Registers slides]
    4. Example: call preserving [Example: call preserving slides]
    5. Registers, Cores, Threads [Registers, Cores, Threads slides]
  4. The Processor
  5. Assembly: Conditions and the Stack
  6. Binary Representations
  7. Bit Tricks
  8. Assembly: Using Memory
  9. Memory & Storage
  10. Processor Tricks
  11. Tools
  12. Floating Point
  13. Data Parallelism
  14. Returning to C
  15. Language Abstractions
  16. Threads
  17. Leftovers
  18. Conclusion

Course home page. x86-64 Cheat Sheet. Table of Tables.

Schedule

Week Deliverables (*) Lecture Hour Lecture Date First Slide
1 1 Sep 9
2, 3 Sep 11
2 Lab 1 4 Sep 16
5, 6 Sep 18
3 Lab 2 7 Sep 23
8, 9 Sep 25
4 Lab 3 10 Sep 30
11, 12 Oct 2
5 Lab 4 13 Oct 7
14, 15 Oct 9
6 Lab 5 16 Oct 14
17, 18 Oct 16
7 Lab 6 19 Oct 21
20, 21 Oct 23
8 Lab 7 22 Oct 28
23, 24 Oct 30
9 Lab 8 25 Nov 4
26, 27 Nov 6
10 Lab 9 28 Nov 11
29, 30 Nov 13
11 Lab 10 31 Nov 18
32, 33 Nov 20
12 Lab 11 34 Nov 25
35, 36 Nov 27
13 Lab 12 37 Dec 2
38, 39 Dec 4
Mini-Project, Final Exam

* Check CourSys for the actual due dates and times.

Quiz instruction slide