Fundamental Computer Architecture and Operating Systems

2025/2026

Content, progress and pedagogy of the module

Disclaimer. This is an English translation of the module. In case of discrepancy between the translation and the Danish version, the Danish version of the module is valid.

PURPOSE          
Provide an understanding of how applications are run on a computer in interaction with system software Programs are written in high-level languages, translated into machine code and then executed on computers in interaction with the operating system. The course gives the student knowledge of the various steps in translations and execution of high-level programs on computers, including how a specific processor executes a program.  The course also introduces how the architecture and system services can be used in application programs with a focus on concurrency. In this course, the student gains knowledge of basic concepts within computer architecture, operating systems, and concurrency

Learning objectives

Knowledge

  • abstraction layer in computer architecture and operative systems 
  • organization of hardware components (processor, memories, external devices, buses,...)
  • processor architectures (Harvard, von Neuman) and types (embedded, desktop, high-performance, server, micro-controllers, DSP)
  • number and data representation
  • instruction set architectures
  • instruction level parallelism
  • digital logic circuits and Boolean algebra
  • the storage hierarchy
  • virtual memory
  • the runtime environment of a running program
  • interrupts, system calls, and exceptions
  • kernels and Operating Systems (Virtual Machines)
  • multiprogramming: processes and threads, synchronization, deadlocks
  • basic Multi-core programming

Skills

  • understand the behavior of simple assembler level program
  • analyze simple, system-related programs that use parallelism and/or concurrency
  • apply the subject's techniques to ensure mutual exclusion, fairness and absence of backlock in simple concurrent/parallel systems
  • using correct technical terminology, could explain the structure, structuring, functionality and operation of the architecture and operating system

Competences

  • include knowledge of computer architecture, runtime environments, operating systems in the development of applications
  • write simple correct concurrent applications
  • acquire new knowledge about control systems and programming of concurrent and parallel systems

Type of instruction

The type of instruction is organised in accordance with the general instruction methods of the programme, cf. § 17.

Extent and expected workload

The student is expected to spend 30 hours per ECTS, which for this activity means 150 hours.

Exam

Exams

Name of examFundamental Computer Architecture and Operating Systems
Type of exam
Written or oral exam
ECTS5
Permitted aidsAids (if any) will be posted on the course page In MOODLE
Assessment7-point grading scale
Type of gradingExternal examination
Criteria of assessmentThe criteria of assessment are stated in the Examination Policies and Procedures

Additional information

Contact: The Study board for Computer Science at cs-sn@cs.aau.dk or 9940 8854

Facts about the module

Danish titleGrundlæggende computerarkitektur og operativsystemer
Module codeDSNBAITB533
Module typeCourse
Duration1 semester
SemesterAutumn
ECTS5
Language of instructionDanish and English
Empty-place SchemeYes
Location of the lectureCampus Aalborg
Responsible for the module

Organisation

Education ownerBachelor of Science (BSc) in Information Technology
Study BoardStudy Board of Computer Science
DepartmentDepartment of Computer Science
FacultyThe Technical Faculty of IT and Design