Weekly Lecture Schedule

  1. Monday Lecture (RN Robertson Theatre, 15:30 pm) and online via Zoom

  2. Thursday Lecture (Marie Reay 6.02, 11 am) and online via Zoom

Weekly Tutorial Schedule

Day Time Room Zoom Link
Tuesday 10:00 N109 Zoom Link
Wednesday 10:00 N112 Zoom Link
Wednesday 15:00 N109 Zoom Link
Thursday 15:00 M109 Zoom Link
Friday 11:00 N111 Zoom Link
Friday 11:00 N113 Zoom Link

Weekly Lecture Content

  1. Digital abstraction, Numbering systems, Representing numbers, Logic gates
  2. Combinational logic and circuits
  3. Sequential logic and memory elements
  4. Instruction set architecture (ISA), ARM ISA, Writing ARM assembly
  5. ARM microarchitecture, CPU design
  6. Pipelined microarchitecture, Cache and memory hierarchy
  7. Virtual memory, input/output (I/O), and storage devices
  8. Tutorial introduction to C, Variables and types, Control flow
  9. C call stack, Heap, Pointers and arrays in C
  10. Arrays and data structures in C, Hash table design
  11. Using standard library, C file I/O, Performance, Real-word example code
  12. Advanced topics (optional)

Weekly Lab Content

  1. Introduction to digital logic
  2. Combinational logic (ALU)
  3. Sequential logic (Register File)
  4. CPU design - Part 1
  5. CPU design - Part 2
  6. CPU design - Part 3
  7. Assembly
  8. Introduction to C
  9. Function and Recursion in C
  10. Data structures in C
  11. Dynamic memory allocation
  12. C File I/O

Assessments

Assignments

CPU design assignment (30%)

You will design a CPU microarchitecture in Digital against an ISA specification we provide.

  • 5% due on 6 pm, March 15
  • Full assignment due on 12 pm, Monday of week 8

The first six labs are critical for finishing the first assignment and obtaining a good grade. More specifically, in each lab, you will finish a sub-component of the CPU design assignment. If you finish the first six labs, you will finish (almost) 50% of the first assignment.

Important We only mark the week 2–3 labs to make sure you are making progress and give you feedback (due week 4, March 15, 6 pm). This mark contributes five marks out of 100 (total). Please remember to push your files related to the week 2–3 labs by the due date.

Programming assignment (30%)

You will use the C programming language to implement a data structure for solving a real-world problem.

  • Due on Monday 6 pm, week 13

Updated:    07 Feb 2023 / Responsible Officer:    Director, School of Computing / Page Contact:    Shoaib Akram