NDAA09004U Principles of Computer Systems Design
Volume 2013/2014
Education
MSC Programme in Computer
Science
Content
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 systems.
The course will explore the following aspects:
The course will explore the following aspects:
- System abstractions and design principles
- Modularity with clients and services
- Performance
- Atomicity and transactions
- Concurrency control and recovery
- Reliability, fault-tolerance, and redundancy
- Distributed protocols for agreement and replication
- Large-scale data processing
Learning Outcome
Knowledge:
Skills:
Competences:
- Describe the design of transactional and distributed systems.
- Explain how to enforce modularity through a client-service abstraction.
- Explain techniques for large-scale data processing.
Skills:
- Implement systems that include mechanisms for modularity, atomicity, and fault tolerance.
- Structure and conduct experiments to evaluate a system's performance.
Competences:
- Discuss design alternatives for a computer system, identifying system properties as well as mechanisms for improving performance
- Analyze protocols for concurrency control and recovery, as well as for distribution and replication.
- Apply principles of large-scale data processing to concrete problems.
Literature
See Absalon when the course
is set up.
Academic qualifications
Basic principles of
operating systems and/or databases.
Working knowledge of Java and/or C#
Notions of UNIX / shell scripting are helpful, but not required
Working knowledge of Java and/or C#
Notions of UNIX / shell scripting are helpful, but not required
Teaching and learning methods
Lectures and exercise
sessions.
Workload
- Category
- Hours
- Exam
- 24
- Lectures
- 42
- Project work
- 90
- Theory exercises
- 50
- Total
- 206
Sign up
Self Service at KUnet
As an exchange, guest and credit student - click here!
Continuing Education - click here!
As an exchange, guest and credit student - click here!
Continuing Education - click here!
Exam
- Credit
- 7,5 ECTS
- Type of assessment
- Written assignment, 5 daysThe final exam is a 5-day take home assignment with external grading, grades using the "7-point grading scale". Submission in Absalon.
- Exam registration requirements
- 5-7 take home assignments, marked as pass/fail, must be passed to participate in the final exam.
- Marking scale
- 7-point grading scale
- Censorship form
- External censorship
- Re-exam
- The re-exam consists of resubmission of original exam assignment extended by an addendum. An oral examination of 25 minutes without preparation will ensue, with external grading, and grades using the "7-point grading scale". The re-submission will be the basis for the oral exam; however the oral exam will not be exclusively limited to the resubmission.
Criteria for exam assesment
See learning outcome.
Course information
- Language
- English
- Course code
- NDAA09004U
- Credit
- 7,5 ECTS
- Level
- Full Degree Master
- Duration
- 1 block
- Placement
- Block 2
- Schedule
- A
- Continuing and further education
- Study board
- Study Board of Mathematics and Computer Science
Contracting department
- Department of Computer Science
Course responsibles
- Marcos Antonio Vaz Salles (vmarcos@di.ku.dk)
Saved on the
21-05-2013