This is the page describing the lab called “Implementation of Programming Languages (IMPL)”, and also theses around this topic.
For those that enjoyed the content of our lectures and seminars, we offer several opportunities to get in contact with our research at Software Technology. Usually, there is no list of open topics, each topics is aranged individually by discussion between the student and a researcher of the Software Technology Group. Labs and theses differ in the workload and credit points you get:
| what | credit | workload |
|---|---|---|
| lab | 06cp | 08 hours/week |
| bachelor thesis | 12cp | 16 hours/week |
| master thesis | 30cp | 40 hours/week |
⚠️ Note: Students occassionally underestimate the workload of a lab or thesis. In particular, a master thesis is not something you can do on the side! If you plan to do a lab, you should dedidacte a full day each week for it, for a bachelor thesis two days, and for a master thesis five days.
How to contact us, so that you get a response
Look at our list of research interest below and contact a few (but not all) persons by email, if you are interested in pursuing a topic related to their interests for your lab or thesis.
In your email, mention:
- First make clear what you are looking for, and what lead you to this person, for example:
- “I am contacting you because you are mentioned on website XXX in a list of persons to contact for a lab / bachelor thesis / master thesis. Of the topics mentioned for you, YYY catched my interest.”).
- Programming Languages and other Skills:
- the programming languages you speak (and are interested in learning), and
- other (programming) experiences and skills that are relevant to the topic
- Relevant Courses:
- if and which relevant courses you have visited
- in particular our courses, but other courses may also be relevant
- Lecture: Concepts of Programming Languages (COPL)
- Lecture: Type Systems (TYPES)
- Seminar: Design and Implementation of Programming Languages (DAIMPL)
- Transcript of Records: a pdf export of your grades in tucan
Finally, if you are not sure who to contact or if you did not receive a response in 7 days, write a mail to jobs@stg.tu-….
Who to Contact, and their Research Interests
- General Programming Language Research
- Functional Compilers for Efficiency
- Mechanized Proofs for Correctness
- Functional Programming Design Patterns (Monads, Lenses, …)
- Applications to various Domain-Specific Concepts: Distributed Programming (Deadlock-Freedom, Choreographic Programming and Session Types), Differentiable and Probabilistic Programming, Program Inversion, Program Incrementalization, …
- Dr. David Richter
- Timon Böhler
- Simon Daniel
- often using https://lean-lang.org
- Programming Decentralized and Local-First Systems
- Design Patterns for Local-First Systems
- Algebraic and Replicated Datatypes Local-First Software
- Automated Verification of Distributed Systems
- Dr. Ragnar Mogk
- Julian Haas
- Christian Kuessner
- often using https://scala-lang.org
- Neurosymbolic Reasoning and Program Verification
- Dr. Tobias Reinhard
- often using https://ocaml.org