teaching

Secure and Dependable Systems

About Course: Secure and Dependable Systems (CO21-320203) Semester: Spring 2018 Instructor: Jürgen Schönwälder TA: Yufei Liu TA: Orgest Xhelili 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.

Operating Systems

About Course: Operating Systems (CO20-320202) Semester: Fall 2017 Instructor: Jürgen Schönwälder TA: Tayyab Mateen 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: Steven Abreu TA: Malte Aaron Granderath TA: Alexandru Hambasan TA: Tudor Cristian Maiereanu TA: Mohit Shrestha TA: Mihail Tarigradschi 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.

Computer Networks

About Course: Computer Networks (CO20-320301) Semester: Fall 2016 Instructor: Jürgen Schönwälder TA: Felix Schmoll 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.

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: Felix Schmoll 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.

Programming in C II

About Course: Programming in C II (JTSK-320112) Semester: Spring 2017 Instructor: Jürgen Schönwälder TA: Stefan Bogdan TA: Joana Halili Class: Thursday, 14:15-18:30, Seminar Room Research V (R-V) Class: Friday, 14:15-18:30, Seminar Room Reimer Luest Hall (RLH) Start: 2017-02-09 Content Programming Language C Resources Slides lecture 1 and 2 Slides lecture 3 and 4 Slides lecture 5 and 6 Practice sheet Source code Books Brian W. Kernighan, Dennis M. Ritchie: The C Programming Language, 2nd edition, Prentice Hall, 1988 Stephen Prata: C Primer Plus, 5th edition, Sams Publishing, 2004 Steve Oualline: Practical C Programming, 3rd edition, O'Reilly, 1997 Links C Programming (wikibook) Schedule Lab Session Topics 2017-02-09 (Thu) C Preprocessor, Bit Operations 2017-02-10 (Fri) Pointers and Arrays 2017-02-16 (Thu) Pointers and Structures, Compiling and Linking 2017-02-17 (Fri) Makefiles, Function Pointers 2017-02-23 (Thu) Stacks and Queues, Modifiers 2017-02-24 (Fri) File I/O Dates Date/Due Name Topics 2017-02-09 Sheet #1 C Preprocessor, Bit Operations 2017-02-10 Sheet #2 Arrays, Pointers, Multidimensional Arrays 2017-02-16 Sheet #3 Linked Lists and Multiple Sources 2017-02-17 Sheet #4 Makefiles and Function Pointers 2017-02-23 Sheet #5 Stacks and Queues 2017-02-24 Sheet #6 Queues and Files Rules The final grade is made up of the final exam (65 %), and the assignments (35 %).

Operating Systems

About Course: Operating Systems (CO20-320202) Semester: Fall 2016 Instructor: Jürgen Schönwälder TA: Aiman Al-Eryani Class: Monday, 08:15-09:30 (Lecture Hall Research III) Class: Tuesday, 14:15-15:30 (Lecture Hall Research III) Final: Friday, 2016-12-14, 12:30-14:30 (CNLH) Office: Monday, 11:15-12:30 (Research I, Room 87) Start: 2016-09-05 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.

Programming in Java

About Course: Programming in Java (320341) Semester: Fall 2015 Instructor: Jürgen Schönwälder TA: Nicholas Lee Class: Thursday, 17:15-18:30, West Hall 2 Class: Friday, 17:15-18:30, West Hall 2 Start: 2015-09-03 Content Java is an object-oriented programming language which is very widely used for the development of applications running on the Internet, and in particular electronic commerce applications. Java has some unique features such as platform independence and a very rich set of reusable class libraries.

Computer Networks

About Course: Computer Networks (320301) Semester: Fall 2015 Instructor: Jürgen Schönwälder TA: Nicholas Lee Class: Thursday, 14:15-15:30, West Hall 2 Class: Friday, 14:15-15:30, West Hall 2 Start: 2015-09-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.