6 ECTS credits
150 h study time

Offer 1 with catalog number 1019883ANR for all students in the 2nd semester at a (A) Bachelor - preliminary level.

Semester
2nd semester
Enrollment based on exam contract
Impossible
Grading method
Grading (scale from 0 to 20)
Can retake in second session
Yes
Enrollment Requirements
Students who want to enroll for this course, must have passed or be enrolled for "Structure of Computerprograms I".
Taught in
Dutch
Faculty
Faculty of Sciences and Bioengineering Sciences
Department
Computer Science
Educational team
Joeri De Koster (course titular)
Activities and contact hours
26 contact hours Lecture
26 contact hours Seminar, Exercises or Practicals
Course Content

This course teaches the fundamentals of operating systems and their different implementations. It focuses especially on the aspects that good programmers should be aware of to use a computer system with a certain operating system in a good and efficient manner. This comprises the following subjects:

1. The history of operating systems

2. The global architecture and functioning of hardware on which an operating systems functions

3. The basic concepts for operating systems such as processes, threads and files.

4. Number representation

5. Processes and threads, and their implementation

6. Memory management

7. File management

The course also contains a programming assignment where a microcontroller is being programmed.

Additional info

None

Learning Outcomes

General competences

Learning goals:

 

This course teaches the following subjects with associated learning goals:

1. The history of operating systems:

The student can describe the main phases in the history of operating systems.

2. The global architecture and functioning of hardware on which an operating system functions

The student can identify the main components of a motherboard and explain how they cooperate. This also includes interrupt handling, the usage of memory, the interaction of the different layers in the memory-hierarchy, the functioning of the CPU, et cetera.

3. The basic concepts for operating systems

The student can explain the basic concepts of processes and file systems.

4. Number representation

The student can convert and compute numbers in the binary and hexadecimal representations.

5. Processes and threads, their basic concepts and their implementation

The student can explain how processes are generally implemented in operating systems.

The student can explain the difference between processes and threads.

The student can recognise race conditions and knows how to solve these with semaphores.

6. Memory management

The student can describe the memory abstraction provided by memory management, and how this can be implemented.

The student knows what virtual memory is and how this is generally implemented.

7. File management

The student can describe what a file system is and how it is generally implemented.

8. Application

The student is able to develop a realtime software application in Racket-Scheme, that runs on a microcontroller and to drive a number of provided sensors/actuators.

Grading

The final grade is composed based on the following categories:
Other Exam determines 100% of the final mark.

Within the Other Exam category, the following assignments need to be completed:

  • other exam with a relative weight of 1 which comprises 100% of the final mark.

Additional info regarding evaluation

Written exam 80% - Project 20%

Allowed unsatisfactory mark
The supplementary Teaching and Examination Regulations of your faculty stipulate whether an allowed unsatisfactory mark for this programme unit is permitted.

Academic context

This offer is part of the following study plans:
Bachelor of Computer Science: Default track (only offered in Dutch)
Master of Teaching in Economics: standaard traject (90 ECTS, Etterbeek) (only offered in Dutch)