Modern Imperative Programming Languages Proseminar/Seminar
In this proseminar/seminar we will investigate the modern imperative programming languages C++, Go, Rust and Scala.
General Information
When | Friday at 14:00 (sine tempore) |
Where | Room 401, E1 3 |
The first meeting will be on April, 28th, 2017.
Modus Operandi
Participants will be divided into four groups, one group for each language. Each group will implement a concurrent SAT solver. Each group will present their work with a focus on the features and restrictions of the chosen programming language.
If you want to take this as a seminar, you will also work through a paper about one of the languages and give a presentation about it.
Registration
The registration is closed for now and we already have a waiting list in place. If you want to take this as a seminar, you have to register it in the LSF to get a certificate for the seminar
Coding
Please register in our GitLab and email Roland Leißa your GitLab username and desired group name. You will then get access to a GitLab project matching your group's name. You can use this project for coding. Additionally, you will obtain read access to the paper list in our Wiki.
Material
- Background reading on CDCL: Conflict-Driven Clause Learning from the Handbook of Satisfiability
- Benchmarks in the DIMACS format
Schedule
Date | Speaker | Topic | Comments |
---|---|---|---|
2017-04-28 14:00 s.t. | - | First Meeting | Programming groups will be formed |
2017-05-05 14:00 s.t. | Fabian Ritter | Introduction to CDCL | |
2017-05-12 14:00 s.t. | - | Informal Meeting | Not a mandatory event - just to clarify questions |
2017-05-19 14:00 s.t. | Pascal Held | A promising Semantics for relaxed-memory Concurrency | |
2017-06-02 14:00 s.t. | Valentin Seimetz | Communicating Sequential Processes | and its Relation to Go |
2017-06-09 14:00 s.t. | Niklas Metzger | Fencing off Go | |
2017-06-23 14:00 s.t. | Julian Rosemann | Mathematizing C++ Concurrency | |
2017-06-30 14:00 s.t. | Sven Ehses | Foundations of path-dependent Types | |
2017-07-07 14:00 s.t. | Jannic Warken | Actors that unify Threads and Events | |
2017-07-14 14:00 s.t. | Jesko Dujmovic | Session Types for Rust | |
2017-07-21 14:00 s.t. | Philip Lukert | Short Paper: Rusty Types for Solid Safety |
Final Talks
Date | Speakers | Topics |
---|---|---|
2017-07-26 08:30-09:00 s.t. | Hendrik Meerkamp | Slices and Objects in Go |
2017-07-26 09:00-09:30 s.t. | Valentin Seimetz | Communicating Sequential Processes and its Relation to Go |
2017-07-26 09:30-10:00 s.t. | Niklas Metzger | Fencing off Go |
2017-07-26 10:00-10:30 s.t. | buffer/break | -- |
2017-07-26 10:30-11:00 s.t. | Philip Lukert | Rusty Types for Solid Safety |
2017-07-26 11:00-11:30 s.t. | Sanny Schmitt | Rust - Introduction & Memory Safety |
2017-07-26 11:30-12:00 s.t. | Christian Schulz | Objektorientierte Ansätze in Rust |
2017-07-27 08:30-09:00 s.t. | Sven Ehses | Foundations of Path-Dependent Types |
2017-07-27 09:00-09:30 s.t. | Jannic Warken | Actors That Unify Threads and Events |
2017-07-27 09:30-10:00 s.t. | Kallistos Weis | Pattern Matching in Scala |
2017-07-27 10:00-11:00 s.t. | break | -- |
2017-07-27 11:00-11:30 s.t. | Jesko Dujmovic | Session Types for Rust |
2017-07-27 11:30-12:00 s.t. | Lukas Schäfer | Rust's functional Side |
2017-07-27 12:00-12:30 s.t. | Lukas Schwitzgebel | Fearless Concurrency with Rust |
2017-07-28 08:30-09:00 s.t. | Jan Baumeister | Algorithms and Thread Support Library in C++ |
2017-07-28 09:00-09:30 s.t. | Timo Gros | Innovations in C++17 |
2017-07-28 09:30-10:00 s.t. | Pascal Held | A promising semantics for relaxed-memory concurrency |
2017-07-28 10:00-10:30 s.t. | buffer/break | -- |
2017-07-28 10:30-11:00 s.t. | Julian Rosemann | Mathematizing C++ Concurrency |
2017-07-28 11:00-11:30 s.t. | Jannis Roth | Friends, Smart Pointers and OpenMP in C++ |