Introduction to Computer Science
About
- Module: Introduction to Computer Science (CH-232)
- Semester: Fall 2021
- Instructor: Jürgen Schönwälder
- Office Hours: Monday, 11:15-12:30 (Research I, Room 87)
- TA (Group A): Aydin, Ahmed Hamza
- TA (Group B): Bodaveli, Nikolozi
- TA (Group C): Panthi, Bivek
- TA (Group D): Ramos Alves, Julia
- Class: Tuesday, 11:15-12:30 (SAC Hall 3)
- Class: Friday, 08:15-09:30 (SAC Hall 3)
- Class: Friday, 09:45-11:00 (SAC Hall 3)
- Tutorial: Monday 18:00 to 19:00 (Group A, Ahmed Hamza Aydin, Teams)
- Tutorial: Tuesday 20:00 to 21:00 (Group D, Julia Ramos Alves, West Hall 6)
- Tutorial: Wednesday 18:00 to 19:00 (Group C, Bivek Panthi, Teams)
- Tutorial: Thursday 19:00 to 20:00 (Group B, Nikolozi Bodaveli, West Hall 6)
- 1st Module Exam: Friday, 2021-12-17, 09:00-11:00 (SCC Halls 3+4)
- 2nd Module Exam: Friday, 2022-01-28, 08:00-10:00 (ICC East Wing)
Content and Educational Aims
The module introduces fundamental concepts and techniques of computer science in a bottom-up manner. Based on clear mathematical foundations (which are developed as needed), the course discusses abstract and concrete notions of computing machines, information, and algorithms, focusing on the question of representation versus meaning in Computer Science.
Operating Systems
About
- Module: Operating Systems (CO-562)
- Semester: Fall 2021
- Instructor: Jürgen Schönwälder
- Office Hours: Monday, 11:15-12:30 (Research I, Room 87)
- TA (Group A): Biehl, Jose Ignacio
- TA (Group B): Karki, Aabishkar
- TA (Group C): Merkaj, Edli
- Class: Tuesday, 15:45-17:00 (RLH-172 CNLH)
- Class: Tuesday, 17:15-18:30 (RLH-172 CNLH)
- Class: Thursday, 15:45-17:00 (RLH-172 CNLH)
- Tutorial: Monday, 20:45-22:15 (TAs, Teams)
- 1st Module Exam: Thursday, 2021-12-16, 16:00-18:00 (SCC Halls 1+2)
- 2nd Module Exam: Thursday, 2022-01-27, 14:00-16:00 (ICC-West Wing Conference Hall)
Content and Educational Aims
This module introduces concepts and principles used by operating systems to provide programming abstractions that enable an efficient and robust execution of application programs. Students will gain an understanding of how an operating system kernel manages hardware components and how it provides abstractions such as processes, threads, virtual memory, file systems, and inter-process communication facilities. Students learn the principles of event-driven and concurrent programming and the mechanisms that are necessary to solve synchronization and coordination problems, thereby avoiding race conditions, deadlocks, and resource starvation. The Linux kernel and runtime system will be used throughout the course to illustrate how key ideas and concepts have been implemented and how application programs can use them.
Secure and Dependable Systems
About
- Course: Secure and Dependable Systems (CO-566)
- Semester: Spring 2021
- Instructor: Jürgen Schönwälder
- Office Hours: Monday, 11:15-12:30, R.1-87
- TA: Rafey, Rafey Abdur
- Class: Tuesday, 15:45-17:00, R.3-51 Lecture Hall
- Class: Wednesday, 14:15-15:30, RLH-172 Conrad Naber Lecture Hall
- 1st Module Exam: Tuesday, 2021-05-18, 16:00-18:00, ICC-West Wing Conference Hall
- 2nd Module Exam: Tuesday, 2021-08-24, 14:00-16:00, R.1-53 Lecture Hall
Content and Educational Aims
This module introduces students to the fundamentals of computer security and techniques used to build and analyze dependable systems. This is an important topic given that computer systems are increasingly embedded in everyday objects (such as light bulbs) and taking over important control functions (such as driving cars). Furthermore, computer systems control complex communication systems that form critical infrastructure of the modern globalized world. Proper protection of information requires an applied understanding of cryptography and how cryptographic primitives are used to secure data and information exchanges. The aim of this module is to make students aware of what types of security vulnerabilities may arise in computing systems and how to prevent, identify, and fix them.
CS Bachelor Project and Thesis
About
- Course: Project Computer Science (CA10-320305)
- Course: Thesis Computer Science (CA10-320306)
- Semester: Fall 2020
- Semester: Spring 2021
- Instructor: Peter Baumann
- Instructor: Andreas Birk
- Instructor: Horst Karl Hahn
- Instructor: Sergey Kosov
- Instructor: Kinga Lipskoch
- Instructor: Francesco Maurelli
- Instructor: Jürgen Schönwälder
- Instructor: Peter Zaspel
- Prerequisites: Two CS core modules passed
Timeline
Activity | Deadline |
---|---|
Project topic/supervisor selection (campus track) | 2020-09-18 (Friday) |
Project topic/supervisor selection (world track) | 2021-02-08 (Monday) |
Project and thesis kickoff meeting | 2021-02-08 (Monday) |
Presentations | 2021-05-10 (Monday) |
Presentations | 2021-05-11 (Tuesday) |
Bachelor thesis submission | 2021-05-17 (Monday) |
We expect that our students take the initiative and drive the process. How self-organized students work is part of the assessment. In terms of effort, please note that 1 CP equals ~25 hours.
Computer Science at Jacobs University
Introduction to Computer Science
About
- Module: Introduction to Computer Science (CH-232)
- Semester: Fall 2020
- Instructor: Jürgen Schönwälder
- TA: Chhetri, Maulik
- TA: Gjoni, Petri
- TA: Karki, Aabishkar
- TA: Paudel, Subigya
- TA: Pham, Tuan
- TA: Sota, Henri
- Class: Tuesday, 11:15-12:30 (ICC East Wing)
- Class: Friday, 08:15-09:30 (ICC East Wing)
- Class: Friday, 09:45-11:00 (ICC East Wing)
- Tutorial: Tuesday, 19:30-21:30 (Group A, Petri)
- Tutorial: Tuesday, 19:00-21:00 (Group B, Henri)
- Tutorial: Wednesday, 19:00-21:00 (Group C, Maulik)
- Tutorial: Monday, 19:00-21:00 (Group D, Subigya)
- Tutorial: Tuesday, 19:00-21:00 (Group E, Tuan)
- Tutorial: Wednesday, 20:00-22:00 (Group F, Aabishkar)
- 1st Module Exam: Friday, 2020-12-18, 09:00-11:00 (SCC Hall 1-3)
- 2nd Module Exam: Wednesday, 2021-01-27, 17:00-19:00 (ICC East Wing)
- Office Hours: Monday, 11:15-12:30 (Research I, Room 87)
Content and Educational Aims
The module introduces fundamental concepts and techniques of computer science in a bottom-up manner. Based on clear mathematical foundations (which are developed as needed), the course discusses abstract and concrete notions of computing machines, information, and algorithms, focusing on the question of representation versus meaning in Computer Science.
Operating Systems
About
- Module: Operating Systems (CO-562)
- Semester: Fall 2020
- Instructor: Jürgen Schönwälder
- TA: Balani, Eglis
- TA: Kabadzhov, Ivan
- TA: Turcuman, Horia
- Class: Tuesday, 15:45-17:00 (East Wing)
- Class: Tuesday, 17:15-18:30 (East Wing)
- Class: Thursday, 15:45-17:00 (East Wing)
- Tutorial: Monday, 19:00-20:30 (Horia, group C)
- Tutorial: Tuesday, 20:30-22:00 (Ivan, group B)
- Tutorial: Wednesday, 19:00-20:30 (Eglis, group A)
- 1st Module Exam: Wednesday, 2020-12-09, 12:30-14:30 (SCC Hall 1-2)
- 2nd Module Exam: Monday, 2021-01-25, 11:00-13:00 (Research I, Lecture Hall)
- Office: Monday, 11:15-12:30 (Research I, Room 87)
Content and Educational Aims
This module introduces concepts and principles used by operating systems to provide programming abstractions that enable an efficient and robust execution of application programs. Students will gain an understanding of how an operating system kernel manages hardware components and how it provides abstractions such as processes, threads, virtual memory, file systems, and inter-process communication facilities. Students learn the principles of event-driven and concurrent programming and the mechanisms that are necessary to solve synchronization and coordination problems, thereby avoiding race conditions, deadlocks, and resource starvation. The Linux kernel and runtime system will be used throughout the course to illustrate how key ideas and concepts have been implemented and how application programs can use them.
Accreditation BSc Computer Science
The German Accreditation Council has accredited our Computer Science BSc program on its meeting on September 29th, 2020. The accreditation is valid for the period from October 1st, 2020 to September 30th, 2028. Obtaining program accreditation is an intense process, a huge amount of documentation has to be produced and a group of independent evaluators visit the university to talk with leadership and administration, faculty and students. The process took about two years, and it did consume quite some resources. Is the result worth the time and money invested? This is a complex question. I believe that our Computer Science program improved by going through this (at times painful) process and we have to see to what extend our investment in much more precisely defined program handbooks and more effective quality management processes pays off in the future.
Student Project and Thesis Topics (2020/2021)
Below is a collection of ideas for student projects. Some are half-backed, some are not even written down. If you are interested in systems-oriented computer science and computer security, talk to me in person. In general I expect that students have a solid understanding of operating systems and computer networks and that they are able to handle programming tasks well.
Trusted Execution Environments
Trusted Execution Environments (TEEs) such as ARM's Trustzone or Intel's Enclave are secure areas inside a main processor. The idea is that data and applications contained in TEEs is protected with respect to confidentiality and integrity. Systems execute a trusted operating system inside the TEE and they may load trusted applications into the TEE. The goal of this project is investigate the state of the art in TEEs and their open source software systems and to prototype novel trusted applications that may help to secure networked embedded devices.
CS Bachelor Project and Thesis
About
- Course: Project Computer Science (CA10-320305)
- Course: Thesis Computer Science (CA10-320306)
- Semester: Fall 2019
- Semester: Spring 2020
- Instructor: Peter Baumann
- Instructor: Andreas Birk
- Instructor: Horst Karl Hahn
- Instructor: Sergey Kosov
- Instructor: Kinga Lipskoch
- Instructor: Francesco Maurelli
- Instructor: Jürgen Schönwälder
- Instructor: Peter Zaspel
- Prerequisites: Two CS core modules passed
Timeline
Activity | Deadline |
---|---|
Project topic/supervisor selection (campus track) | 2019-09-20 (Friday) |
Project topic/supervisor selection (world track) | 2020-02-03 (Monday) |
Project and thesis kickoff meeting | 2020-02-10 (Monday) |
Presentations | 2020-05-11 (Monday) |
Presentations | 2020-05-12 (Tuesday) |
Bachelor thesis submission | 2020-05-15 (Friday) |
We expect that our students take the initiative and drive the process. How self-organized students work is part of the assessment. In terms of effort, please note that 1 CP equals ~25 hours.