Course syllabus for Computer system engineering

Course syllabus adopted 2026-02-10 by Head of Programme (or corresponding).

Overview

  • Swedish nameDatorsystemteknik
  • CodeEDA333
  • Credits7.5 Credits
  • OwnerTKDAT
  • Education cycleFirst-cycle
  • Main field of studyComputer Science and Engineering, Electrical Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 49127
  • Maximum participants165
  • Open for exchange studentsNo
  • Only students with the course round in the programme overview.

Credit distribution

0119 Examination 4.5 c
Grading: TH
4.5 c
0219 Laboratory 3 c
Grading: TH
3 c

In programmes

Examiner

Eligibility

General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements

Course specific prerequisites

EDA452 Introduction to computer engineering and EDA482 Machine oriented programming or equivalent courses.

Aim

The course aims to convey how a modern computer system is constructed and how its hardware modules interact with eachother and with low- level software. Performance issues are particularly emphasized, since many design decisions are made to maximize performance at a given cost, or to minimize cost at a given performance level.

Learning outcomes (after completion of the course the student should be able to)

Knowledge and understanding:

  • Describe data path and control path for the execution of an instruction on a pipeline processor
  • Describe the function and performance influence of a memory hierarchy, including caches, main memory and virtual memory, including different parameters for size, block size, and associativity.
  • Explain how computer system performance is defined and measured.
  • Give an overview of the architecture of a multicore processor.

Competence and skills:

  • Read and write simple assembly programs for a typical three-address register machine.
  • Use arithmetic instructions (integer and floating-point) in a correct way.
  • Carry out a simple co-optimization of software (at assembly level) with hardware parameters to reach the best possible cost/performance ratio for a certain system. Present the carried out work in a brief written report.

Judgement and approach:

  • Identify the basic types of conflicts that occur as a result of pipelining the datapath of a processor. 
  • Identify and describe simple methods to avoid and work around these conflicts, describe limitations of these simple methods, and estimate their influence on performance.
  • Identify performance bottlenecks in such a system.
  • Estimate the influence of parameter changes on system performance.

Content

Lectures, group exercises and laborative work combine to convey basic insights into the design and functionality of a small computer system (with a processor, memory, and I/O). The main focus is on performance and on interaction with low-level software.

Organisation

The course contains lectures, group exercises, and lab work using a simulator of a small computer system. The laborative part ends with a hand-in task.

Literature

Patterson & Hennessy: "Computer Organization and Design RISC-V Edition: The Hardware/Software Interface". Additional material via the course homepage in Canvas

Examination including compulsory elements

The course is examined by an individual written exam for 4.5 credits and laboratory project assignments for 3 credits.

The laboratory assignments are carried out in groups and graded with pass (P) or fail (F). One of the assignments is a project that is graded fail (F), 3, 4 or 5. Students pass the laboratory part of the course if they receive a passing grade on all assignments. The laboratory grade then corresponds to the project grade.

The grading scale for both the exam and the entire course comprises fail (F), 3, 4 and 5.

To pass the course, students must obtain a passing grade in both the laboratory part and the written exam. The final course grade is determined by combining the grade from the laboratory project with the exam result (maximum 60 points). A grade of 4 on the laboratory project adds 6 points to the exam score, and a grade of 5 adds 12 points.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers about disability study support.

Computer system engineering | Chalmers