The overall purpose of this course is to offer students an
understanding of techniques in computer systems with a focus on
correctness and adherence to system properties, such as modularity
and atomicity, while at the same time achieving high performance.
The course exposes students to various system mechanisms,
especially from distributed systems, database systems, and network
The course will explore the following aspects:
System abstractions and design principles
Modularity with clients and services
Atomicity and transactions
Concurrency control and recovery
Reliability, fault-tolerance, and redundancy
Distributed protocols for replication
Large-scale data processing
Describe the design of transactional and distributed systems,
including techniques for modularity, performance, and fault
Explain how to employ strong modularity through a
client-service abstraction as a paradigm to structure computer
systems, while hiding complexity of implementation from
Explain techniques for large-scale data processing.
Implement systems that include mechanisms for modularity,
atomicity, and fault tolerance.
Structure and conduct experiments to evaluate a system's
Discuss design alternatives for a modular computer system,
identifying desired system properties as well as describing
mechanisms for improving performance while arguing for their
Analyze protocols for concurrency control and recovery, as well
as for distribution and replication.
Apply principles of large-scale data processing to
analyze concrete information-processing problems.
See Absalon when the course is set up.
Teaching and learning methods
Lectures and exercise sessions.
Basic principles of operating systems and/or
Working knowledge of Java, including concurrency and communication
Notions of UNIX / shell scripting are helpful, but not
This course was formerly known as
"Principles of Computer Systems
4-6 take home assignments, marked as pass/fail, must be passed
to participate in the final exam.
All aids allowed
7-point grading scale
If student is not qualified then qualification can be achieved
by approval of equivalent assignments with hand-in no later
than 2 weeks before the re-exam.
The re-exam consists of resubmission of original exam assignment
extended by an addendum and an oral examination of 25 minutes
without preparation will ensue. The re-submission will be the basis
for the oral exam; however, the oral exam will not be exclusively
limited to the resubmission. The various elements of the re-exam
will be assessed as a whole.