Program Overview
Program Overview
The Computer Systems course is designed to teach operating systems and networks in an integrated fashion, emphasizing fundamental concepts and techniques that make their interaction possible and practical. Core lectures will be coupled with C programming lectures and assignments for hands-on experience.
Course Description
This course will communicate concepts and techniques through examples at different layers of the stack and draw connections and parallels between different aspects of computing systems. Key topics include:
- The role of the Operating System
- File systems
- Virtual memory
- Efficient resource management
- Networked applications
- The Internet
- Transport layer
- Network layer
- Link layer
- Data-centers and cloud systems
Learning Prerequisites
Required courses:
- CS-107 Introduction to Programming
- CS-108 Practice of Object-Oriented Programming
- CS-173 Fundamentals of Digital Systems Important concepts to start the course:
- Basic Programming
- Basic computer architecture
Learning Outcomes
By the end of the course, students must be able to:
- Manage key elements of operating systems and networks
- Critique the design of an OS or network protocol
- Design and implement C programs and network applications
- Compare different OS functions and network protocols
- Investigate simple OS and network attacks
- Investigate the correctness of C programs through debugging
Teaching Methods
- Ex cathedra
- Hands-on exercise sessions
Expected Student Activities
- Participate in lectures and exercise sessions
- Answer quizzes
- Submit programming assignments
- Take midterm and final exams
Assessment Methods
- Programming assignments (by groups of two)
- Midterm and final exam
- Quizzes
Supervision
Office hours are available.
Resources
No additional resources are specified.
Prerequisite for
This course is a prerequisite for:
- CS-311 The Software Enterprise - from ideas to products
- CS-300 Data-Intensive Systems
In the Programs
This course is part of the following programs:
- Computer Science, Bachelor semester 4
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Computer systems
- Courses: 4 hours per week x 14 weeks
- Exercises: 2 hours per week x 14 weeks
- Lab: 2 hours per week x 14 weeks
- Type: mandatory
- Communication Systems, Bachelor semester 4
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Computer systems
- Courses: 4 hours per week x 14 weeks
- Exercises: 2 hours per week x 14 weeks
- Lab: 2 hours per week x 14 weeks
- Type: mandatory
- Passerelle HES - IC, Spring semester
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Computer systems
- Courses: 4 hours per week x 14 weeks
- Exercises: 2 hours per week x 14 weeks
- Lab: 2 hours per week x 14 weeks
- Type: optional
- Communication systems minor, Spring semester
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Computer systems
- Courses: 4 hours per week x 14 weeks
- Exercises: 2 hours per week x 14 weeks
- Lab: 2 hours per week x 14 weeks
- Type: optional
- Computer science minor, Spring semester
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Computer systems
- Courses: 4 hours per week x 14 weeks
- Exercises: 2 hours per week x 14 weeks
- Lab: 2 hours per week x 14 weeks
- Type: optional
- Cyber security minor, Spring semester
- Semester: Spring
- Exam form: Written (summer session)
- Subject examined: Computer systems
- Courses: 4 hours per week x 14 weeks
- Exercises: 2 hours per week x 14 weeks
- Lab: 2 hours per week x 14 weeks
- Type: optional
Reference Week
A detailed schedule is provided, outlining the course's timing and structure throughout the week.
Related Courses
No related courses are specified beyond those mentioned in the prerequisites and programs.
