DM548 - Computer Architecture and System Programming, 2018

Course description


(Official schedule)

Week Day Class Material Notes
36 Mon. F Slides, Code, Ch. 1, 2 Introduction
37 Mon. F Slides, Code, Part of Ch. 12, 13 Assembly (1 Oct: slide 24 updated with flags and mode for “open”)
Wed. F Slides, Ch. 9, 10 Computer arithmetic
Tue. / Wed. L (no class)
Thu. E (no class)
38 Mon. F   Computer arithmetic, continued
Wed. F Slides, Ch. 11 Digital logic
Tue. / Wed. L Lab, Code Introduction to assembly
Thu. E (no class)
39 Mon. F Slides, Ch. 3 Top-level view
Wed. L Lab, Code I/O and command line arguments
Thu. E Exercises Computer arithmetic
40 Mon. F Slides, Ch. 4 Caches (15 Oct.: slides updated)
Wed. F (cancelled)
Tue. / Wed. L Lab, Code More assembly
Thu. E (no class)
41 Mon. F (cancelled)
Wed. F   Caches, continued
Tue. / Wed. L (cancelled)
Thu. E (cancelled)
42   (fall break)
43 Mon. F Slides, Ch. 5, 6 Internal and external memory
Tue. F Slides, Ch. 7 I/O
Thu. E Exercises Computer arithmetic and boolean algebra
44 Mon. F Slides, Ch. 14 Processor structure and pipelining
Wed. F Slides, Ch. 15 RISC
Tue. L Lab SSE
Thu. E Exercises Cache and memory
45 Mon. F Slides, Ch. 16, Slides, Ch. 17, 18 Superscalar processors. Parallel Processing and Multicore Computers
Wed. F Slides, Ch. 20, 21 Parallel Processing and Multicore Computers, continued. Control unit
Thu. E   Remaining exercises and project Q/A
46 Mon. F   Control unit, continued
Wed. F Intro Slides, Code Introduction to C
Thu. E Exercises I/O, Processor Structure, and RISC
Sun. Assignment 1 deadline
47 Mon. F I/O Slides Introduction to C, continued. I/O in C
Wed. F Makefile Slides, Makefile Code, UDT Slides, UDT Code I/O in C continued, Makefiles, User-defined types (30 Nov.: Makefile slides and code updated)
Tue. / Wed. L Lab Introduction to C
Thu. E Exercises Superscalar processors and parallel processing
48 Mon. F Dyn. Mem. Slides, Dyn. Mem. Code, Various Slides, Various Code User-defined types continued, Dynamic memory allocation, Various
Wed. F   Various continued.
Tue. / Wed. L Lab, Code A binary search tree in C.
Thu. E (no class)
49 Mon. F Libraries Slides, Libraries Code Libraries
Tue. / Wed. L   A binary search tree in C, continued.
Thu. E Exercises  
50 Sun. Assignment 2 deadline

Mandatory Assignments

Assignment 1: Sorting in Assembly

  • Project description: PDF
  • Code snippets: code
  • Deadline: Sunday 18 November

Assignment 2: A Dynamic Array in C

  • Project description: PDF
  • Code snippets: code
  • Deadline: Sunday 16 December


  • Examination dates
  • The details of the written exam are posted on Blackboard under Course Information and Announcements.
  • The exam questions will be in English, but answers may be written in either English or Danish.
  • A selection of exam questions from previous years can be found here. The filenames refer to the year the course took place, not the year the exam was held. The oldest questions are unfortunately only available in Danish. Note that not all questions are relevant in the current curriculum.

Teaching Assistants

  • Caroline Berntsen Knudsen
  • Jørn Guldberg


William Stallings: Computer Organization and Architecture — Designing for Performance, Global Edition, 10th edition, Pearson, 2015.

Course Evaluation

The course evaluation, without free-text comments, can be found here, and the action plan can be found here.

Additional Resources