Lab pages will be released periodically. Lab sessions will run in every week, starting in week 1.
Schedule#
Lab timeslots, enrolment and location available on MyTimetable.
| Day | Time | Location | ID | Tutors |
|---|---|---|---|---|
| Wednesday | 17:00-19:00 | CSIT N112 | 01 | Kshama |
| Thursday | 11:00-13:00 | CSIT N113 | 05 | Christo |
| Thursday | 14:00-16:00 | CSIT N113 | 03 | Jack |
| Thursday | 18:00-20:00 | CSIT N112 | 04 | Itay |
| Friday | 14:00-16:00 | HN 1.23 | 06 | Alex |
| Friday | 17:00-19:00 | CSIT N113 | 08 | Jasper |
Lab Pages#
To get the most out of your lab time we highly recommend reading through these lab pages before your lab each week1. This means you will have more in-lab time to attempt the exercises and ask questions of your tutors.
Lab 1: Introduction to C
Explore the basics of the C programming language
Lab 2: Recursion and Data Structures in C
Explore recursion and simple data structures
Lab 3: x86_64 and More C
Explore x86_64 Assembly, and practice writing more C programs
Lab 4: Process Control and Signal Handling
Exceptional Control Flow and Signal Handlers
Lab 5: Building Dynamic Memory Allocators
Implementing manual memory management
Lab 6: Sanity Checking Implicit Free List Implementation
Implementing manual memory management
Lab 7: Syscall and Memory-Mapped File I/O
Input/Output in C
Lab 8: Network Programming
Network Programming
Lab 9: Concurrency 1
Concurrency with POSIX Threads
Lab 10: Concurrency 2
Building Concurrent Servers
-
Even briefly skimming the page on your phone while rushing to your lab is better than nothing! ↩