The lecture schedule for this course is:

The lecture slides below are part of this website, so (like any other website) they can be updated. There won’t be major changes after the lectures have been delivered, but I’ll correct any errors, add any new examples/analogies which come up in class.

It is expected that you attend every lecture and make your own notes. The lecture slides aren’t a textbook—they’re visual aids to help explain the concepts in the lectures. This is a good thing—there’s nothing worse than a lecturer who just drones on, reading the textbook from the slides. We’re gonna have more fun than that :)

However, this means that taking notes (in addition to the lecture slides) is an essential part of the learning process. You can’t just download the slides the night before exam and expect to be able to memorise a bunch of facts and pass the course.

Lecture recordings are provided for each Tuesday/Thursday lecture in both low and high-quality versions. Any use of the video recordings (outside the scope of this course) requires explicit permission by the course convenor (i.e. Ben).

Any information referring to lectures which haven’t happened yet is subject to change—so check back regularly.

Week 1: Introduction & Digital Logic

Week 2: ALU Operations

Week 3: Memory Operations

Week 4: Control Structures

Week 5: Functions

From here, the lecture notes aren’t up yet, although you can see the topics we’ll cover. Check back closer to the time for the slides (and afterwards for the videos).

Week 6: Assembler Macros

mid-semester break

Week 7: Data Structures

Week 8: Interrupts & Exceptions

Week 9: Concurrency & Synchronisation

Week 10: Operating Systems

Week 11: Networks

Week 12: Architectures

Updated:  20 Mar 2018/ Responsible Officer:  Head of School/ Page Contact:  Ben Swift/ Licence:  CC BY-NC-SA 4.0