To content

Type Systems for Correctness and Security

Module: INF-MSc-329
LSF: 042540
Credits: 6 (lecture 3.5 / exercises and labs 2.5)
Hours: 5 (lecture 3 sws / exercises 2 sws)
Location: digital only (Zoom and Moodle)
Start: Thursday, April 22nd 2021
Moodle: https://moodle.tu-dortmund.de/course/view.php?id=26334

This course will be given in English.

Course Content

Type systems help to avoid errors in programs from the very beginning. They allow for valuable feedback for developers to avoid bugs and system crashes or even to detect security vulnerabilities. In this lecture we will develop and study type systems. We will cover the theory, discuss the properties with which type systems assist us in software development, and examine the implementation of current type systems. We will take a pragmatic approach and practice implementing type checkers during the course of the lecture and exercises. Furthermore, we will examine the type systems of well-known programming languages such as Java or Scala in more detail.

Literature

The course is based on the following book:
Benjamin C. Pierce. 2002. Types and Programming Languages. The MIT Press.

Selected topics are based on this :
Benjamin C. Pierce. 2004. Advanced Topics in Types and Programming Languages. The MIT Press. 

Further reading material will be announced throughout the course.

Lecture

  • The lectures are held on Zoom every Thursday 3:30pm - 6pm. You will find the appropriate link in the corresponding sections in Moodle. Given that everybody agrees, recordings of the lecture can be made. 
  • The session is interactive. So you can ask questions at any time. Feel free to do so.
  • Additionally, the recordings from last years couse are available.

Theoretical Exercises

  • There will be accompanying exercises to the lecture content in the form of a video conference 7 days after the exercise sheet is available, so you have time to work on it yourself.
    I ask you to have your camera activated in Zoom. This will help to make the distance seem at least a little smaller. 
  • The exercise sessions will be on Zoom every Friday 10am - 11:30am. The according links will be available in the proper Moodle section. Again, recordings can be made if all participants agree.
  • These exercise sheets will not be corrected by us.
  • 14 days after the exercise is issued, we will provide a suggested solution that you can use for self-correction.
  • However, we strongly recommend doing these exercises as they prepare you for the exam.
  • It will also give you a feel for the nature of the questions.
  • You can find the exercises in Moodle for the appropriate topic in each case.

Practical Exercises (Course Credit!)

  • There will be an accompanying practical course in which the lecture contents will be deepened practically. 
  • These programming practicals are to be carried out alone and independently.
  • The submission will take place via a submission platform provided by us.
  • It is necessary to get at least 50% of the achievable points to be admitted to the exam.

Communication

  • Every Monday 10:00 - 11:00 a.m. there will be a office hour in Zoom. The link for this office hour will soon be found at the top of Moodle.
  • This office hour is explicitly designed as a group office hour
  • Please use it to ask questions about the exercises and practical tasks.
  • I ask you to have your camera activated in Zoom. This will help to make the spatial distance seem at least a little smaller. 
  • In the forum Questions and Answers in Moodle you can ask a question about the course at any time. You can also answer questions from other students there at any time. I will follow the discussions and add to them if necessary and answer questions that are still unanswered. I ask you to make use of this opportunity and help each other here in working out the material. It is scientifically proven that nothing helps to learn (or consolidate) a thing more than explaining it to other people. 
  • If you have a personal concern (e.g. regarding registration formalities), please write to me and ask for a personal appointment. 

Exams

Exams will be oral examinations or written exams (depending on number of participants)

Location & approach

The campus of TU Dort­mund University is located close to interstate junction Dort­mund West, where the Sauerlandlinie A 45 (Frankfurt-Dort­mund) crosses the Ruhrschnellweg B 1 / A 40. The best interstate exit to take from A 45 is “Dort­mund-Eichlinghofen” (closer to South Campus), and from B 1 / A 40 “Dort­mund-Dorstfeld” (closer to North Campus). Signs for the uni­ver­si­ty are located at both exits. Also, there is a new exit before you pass over the B 1-bridge leading into Dort­mund.

To get from North Campus to South Campus by car, there is the connection via Vogelpothsweg/Baroper Straße. We recommend you leave your car on one of the parking lots at North Campus and use the H-Bahn (suspended monorail system), which conveniently connects the two campuses.

TU Dort­mund University has its own train station (“Dort­mund Uni­ver­si­tät”). From there, suburban trains (S-Bahn) leave for Dort­mund main station (“Dort­mund Hauptbahnhof”) and Düsseldorf main station via the “Düsseldorf Airport Train Station” (take S-Bahn number 1, which leaves every 20 or 30 minutes). The uni­ver­si­ty is easily reached from Bochum, Essen, Mülheim an der Ruhr and Duisburg.

You can also take the bus or subway train from Dort­mund city to the uni­ver­si­ty: From Dort­mund main station, you can take any train bound for the Station “Stadtgarten”, usually lines U41, U45, U 47 and U49. At “Stadtgarten” you switch trains and get on line U42 towards “Hombruch”. Look out for the Station “An der Palmweide”. From the bus stop just across the road, busses bound for TU Dort­mund University leave every ten minutes (445, 447 and 462). Another option is to take the subway routes U41, U45, U47 and U49 from Dort­mund main station to the stop “Dort­mund Kampstraße”. From there, take U43 or U44 to the stop “Dort­mund Wittener Straße”. Switch to bus line 447 and get off at “Dort­mund Uni­ver­si­tät S”.

The AirportExpress is a fast and convenient means of transport from Dortmund Airport (DTM) to Dortmund Central Station, taking you there in little more than 20 minutes. From Dortmund Central Station, you can continue to the university campus by interurban railway (S-Bahn). A larger range of international flight connections is offered at Düsseldorf Airport (DUS), which is about 60 kilometres away and can be directly reached by S-Bahn from the university station.

The H-Bahn is one of the hallmarks of TU Dort­mund University. There are two stations on North Campus. One (“Dort­mund Uni­ver­si­tät S”) is directly located at the suburban train stop, which connects the uni­ver­si­ty directly with the city of Dort­mund and the rest of the Ruhr Area. Also from this station, there are connections to the “Technologiepark” and (via South Campus) Eichlinghofen. The other station is located at the dining hall at North Campus and offers a direct connection to South Campus every five minutes.

The facilities of TU Dortmund University are spread over two campuses, the larger Campus North and the smaller Campus South. Additionally, some areas of the university are located in the adjacent “Technologiepark”.

Site Map of TU Dortmund University (Second Page in English).