Computer Science Guided Research (2016)
Guided Research Timeline
Introduction | 2015-09-14 (Monday) |
Topic selection | 2015-10-01 (Thursday) |
Proposal submission | 2015-12-04 (Friday) |
(Proposal submission 1) | 2016-03-06 (Sunday) |
Thesis submission | 2016-05-08 (Sunday) |
Presentations | 2016-05-13 (Friday) |
Guided Research Materials
Guided Research Proposal
The preparation of the Guided Research Proposal is the first half of your thesis work. Don't underestimate it! Without a successful preparation phase, by experience, thesis finalization will be less thorough and, hence, less successful. For example, large parts of the Guided Research Proposal will go into the main thesis, related work being a good example.
Computer Science Guided Research (2017)
Guided Research Timeline
Introduction | 2016-09-05 (Monday) |
Topic selection | 2016-10-01 (Saturday) |
Proposal submission | 2016-12-07 (Wednesday) |
(Proposal submission 1) | 2017-03-10 (Friday) |
Thesis submission | 2017-05-12 (Friday) |
Presentations | 2017-05-15 (Monday) |
Presentations | 2017-05-16 (Tuesday) |
Guided Research Materials
- Guided Research Computer Science (Introduction)
- Large-Scale Information Services (Peter Baumann)
- Machine Learning (Herbert Jaeger)
- Logic (Florian Rabe)
- Computer Networks and Distributed Systems (Jürgen Schönwälder)
Below are some LaTeX templates that you are expected to use for typesetting the proposal and later the thesis. Please do not change or improve the format, it is usually far better to spend your brain cycles on the content instead of the format (and we really appreciate a common format).
Computer Networks
About
- Course: Computer Networks (CO20-320301)
- Semester: Spring 2018
- Instructor: Jürgen Schönwälder
- TA: Glontaru, Alexandru-Mihai
- TA: Hambasan, Alexandru
- Class: Monday, 09:45-11:00, Seminar Room RLH
- Class: Friday, 11:15-12:30, Seminar Room RLH
Content
The course discusses network protocols in some depth in order to enable students to understand the core issues involved in network protocol design. Fundamental algorithms and principles are explained in the context of existing IEEE / Internet protocols in order to demonstrate how they are applied in real-world scenarios. This course is recommended for all students with a strong interest in communication networks and distributed systems.
CS Bachelor Project and Thesis
About
- Course: Project Computer Science (CA10-320305)
- Course: Thesis Computer Science (CA10-320306)
- Semester: Fall 2017
- Semester: Spring 2018
- Instructor: Peter Baumann
- Instructor: Andreas Birk
- Instructor: Horst Karl Hahn
- Instructor: Herbert Jaeger
- Instructor: Kinga Lipskoch
- Instructor: Jürgen Schönwälder
- Instructor: Michael Sedlmair
- Prerequisites: Two CS core modules passed
Timeline
Activity | Deadline |
---|---|
Introduction | 2017-09-11 (Monday) |
Project topic/supervisor selection (campus track) | 2017-09-18 (Monday) |
Project topic/supervisor selection (world track) | 2018-02-02 (Friday) |
Presentations | 2018-05-14 (Monday) |
Presentations | 2018-05-15 (Tuesday) |
Bachelor thesis submission | 2018-05-16 (Wednesday) |
Materials
Doing research in computer science usually starts with a lot of reading and learning. In order to do research that is significant, it is crucial to pick a tractable topic and it is essential to understand the state of the art as well as any algorithms and tools that are relevant. While the details differ depending on the area of computer science, reading about the state of the art is essential for all of them. To find relevant literature, it is good to be aware of systems such as:
Secure and Dependable Systems
About
- Course: Secure and Dependable Systems (CO21-320203)
- Semester: Spring 2018
- Instructor: Jürgen Schönwälder
- TA: Liu, Yufei
- TA: Xhelili, Orgest
- Class: Monday, 08:15-09:30, Lecture Hall Research I
- Class: Friday, 09:45-11:00, Conference Room Research IV
Content
This course introduces formal methods for analyzing and assuring safety and security of software systems. The course starts off with a clarification of concepts such as dependability, quality, safety, and security of software systems, and how to achieve them in the software development process. We introduce the foundations of cryptography as a basis for security mechanisms. The main part of the course introduces different paradigms of safety/security analysis such as formal testing (code coverage), static program analysis (control/data flow analysis and abstract interpretation), model checking (computational tree logic), and program verification (Hoare calculus, dynamic logic). The formal techniques will be used for analyzing both safety and security properties of programs. Where possible, students will be given hands-on micro-projects in state-of-the-art tools (e.g., Isabelle for program verification).
Operating Systems
About
- Course: Operating Systems (CO20-320202)
- Semester: Fall 2017
- Instructor: Jürgen Schönwälder
- TA: Mateen, Tayyab
- Class: Wednesday, 14:15-15:30, Lecture Hall Research I
- Class: Thursday, 14:15-15:30, Lecture Hall Research II
Content
This course provides an introduction to the concepts underlying operating systems. Students will develop an understanding how operating systems realize a virtual machine that can be used to execute multiple concurrent application programs. The course discusses resource allocation algorithms and how concurrency problems can be solved.
Introduction to Computer Science
About
- Course: Introduction to Computer Science (CH08-320101)
- Semester: Fall 2017
- Instructor: Jürgen Schönwälder
- TA: Abreu, Steven
- TA: Granderath, Malte Aaron
- TA: Hambasan, Alexandru
- TA: Maiereanu, Tudor Cristian
- TA: Shrestha, Mohit
- TA: Tarigradschi, Mihail
- Class: Tuesday, 08:15-09:30, Lecture Hall Research II
- Class: Tuesday, 09:45-11:00, Lecture Hall Research II
- Class: Thursday, 11:15-12:30, Lecture Hall Research II
Content
The course covers the 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.
Computer Networks
About
- Course: Computer Networks (CO20-320301)
- Semester: Fall 2016
- Instructor: Jürgen Schönwälder
- TA: Schmoll, Felix
- Class: Tuesday, 11:15-12:30, West Hall 5
- Class: Friday, 11:15-12:30, West Hall 6
- Start: 2016-09-02
Content
The course discusses network protocols in some depth in order to enable students to understand the core issues involved in network protocol design. Fundamental algorithms and principles are explained in the context of existing IEEE / Internet protocols in order to demonstrate how they are applied in real-world scenarios. This course is recommended for all students with a strong interest in communication networks and distributed systems.
Operating Systems Lab
About
- Course: Operating Systems Lab (CO20-320202)
- Semester: Fall 2016
- Instructor: Jürgen Schönwälder
- Labs: Thursday, 15:45-17:00 (West Hall 8)
- Labs: Thursday, 17:15-18:30 (West Hall 8)
- Start: 2016-09-01
Content
This lab complements the Operating Systems course. Students will gain practical experience with systems programming above and below the system call interface of operating systems. Students will learn how to write concurrent programs and gain understanding how kernel programming differs from normal application development.
Computer Networks
About
- Course: Computer Networks (CO20-320301)
- Semester: Spring 2017
- Instructor: Jürgen Schönwälder
- TA: Schmoll, Felix
- Class: Tuesday, 09:45-11:00, Lecture Hall Research I
- Class: Wednesday, 08:15-09:30, Lecture Hall Research I
- Class: Wednesday, 14:15-15:30, Lecture Hall Research I
- Class: Friday, 11:15-12:30, Lecture Hall Research III
- Start: 2017-02-03
Content
The course discusses network protocols in some depth in order to enable students to understand the core issues involved in network protocol design. Fundamental algorithms and principles are explained in the context of existing IEEE / Internet protocols in order to demonstrate how they are applied in real-world scenarios. This course is recommended for all students with a strong interest in communication networks and distributed systems.