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 (1) [Topics (1) slides]
  2. Revisiting C
  3. Assembly Introduction
  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. Threads
  16. Leftovers
  17. Conclusion

Course home page. x86-64 Cheat Sheet.

Schedule

Week Deliverables (*) Lecture Hour Lecture Date First Slide
1 1 May 13
2, 3 May 15
2 Lab 1 4 May 20
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
20, 21 Jun 26
8 Lab 7 22 Jul 1
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
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.