IS1200 Computer Hardware Engineering 7.5 credits

Datorteknik, grundkurs

Show course information based on the chosen semester and course offering:

Offering and execution

No offering selected

Select the semester and course offering above to get information from the correct course syllabus and course offering.

Course information

Content and learning outcomes

Course contents *

The course gives fundamental knowledge of computer organization, both from a hardware and software perspective. The course is organized in six modules that include, among other things, the following concepts and terms:

  1. C and Assembly Programming: pointers, functions, stack, assembly language, machine language, instruction coding, and processor registers.
  2. Input/Output Systems: timers, interrupts, and memory mapped input/output.
  3. Digital Design: truth tables, gates, Boolean algebra, multiplexer, decoder, adder, combinational logic, sequential logic, and registers.
  4. Processor Design: arithmetic logic unit, datapath, control unit, and pipeline.
  5. Memory Hierarchy: instruction cache, data cache, and virtual memory.
  6. Parallel Processors and Programs: Amdahl’s law, various kinds of parallelism, and multicore.

Note that module 3 is recommended prerequisites for the course and will not be covered in lectures or laboratory exercises. However, the course material for module 3 will be available on the course web page because the knowledge of this module is prerequisite for module 4.

Intended learning outcomes *

After the course, the student will be able to:

  • Implement low-level programs in the C programing language and in an assembly language.
  • Analyze processor microarchitectures, with and without a pipeline.
  • Explain the principles of memory hierarchies, including cache structures.
  • Implement low-level programs with input-output, timers, and interrupts.
  • Explain the principles of multiprocessor computers and how they can be programmed.
  • Explain and describe technical solutions, both orally and in writing.    

Course Disposition

No information inserted

Literature and preparations

Specific prerequisites *

  • Registered on course IE1204 or IE1205
  • Registered on course ID1018 or ID1004

Recommended prerequisites

Fundamental knowledge of programming and digital electronics.


No information inserted


Selected chapters from the books:

  • David Money Harris and Sarah L. Harris. Digital Design and Computer Architecture, Second Edition, Morgan Kaufmann, 2012.
  • David A. Patterson and John L. Hennessy. Computer Organization and Design – the Hardware/Software Interface, Fifth Edition, Morgan Kaufmann, 2013.

The course literature also includes material from lectures, laboratory exercises, and exercise sessions.

Examination and completion

Grading scale *

A, B, C, D, E, FX, F

Examination *

  • LAB1 - Laboratory Work, 4.5 credits, Grading scale: P, F
  • TEN1 - Examination, 3.0 credits, Grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


David Broman

Further information

Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web IS1200

Offered by

EECS/Computer Science

Main field of study *


Education cycle *

First cycle

Add-on studies

No information inserted

Ethical approach *

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Supplementary information

In this course, the EECS code of honor applies, see: