CS4130

Edition 2023-2024 Q4
Course CS4130
Start-
End-
Enroll until-

About

Programming languages is a core field in computer science that studies the design, theory and applications of both new and existing programming languages. Topics in programming languages include compiler construction, program analysis, program transformations, meta-programming, parsing, formal semantics, program verification, and type systems.

In this course, we will read scientific journal and conference articles in the field of programming languages to get a deeper understanding of programming languages.

If you wish to do a MSc thesis in the programming languages group, we highly recommend taking this course.

By following this course, you will acquire:

  • Skills to read and discuss scientific articles.
  • Understanding of the topics in the research field of programming languages.
  • Understanding of the research methodology in the research field programming languages.

We will run this seminar as a discussion seminar with meetings once a week. In each meeting, we discuss a scientific article that has been studied by the participants in advance. The following activities are required for each meeting:

  • Reading a scientific article
  • Writing and submitting a short summary of the article (max 0.5 pages)
  • Active participation in the discussion of the article

You will also do a course capstone project related to a research problem, applying methods, knowledge, and techniques from the programming language literature. Possible projects could for example be implementing a small programming language using a language workbench, creating an embedded domain-specific language with a unique feature, extending an existing compiler with a new code transformation or optimization, or using a proof assistant to formalize and prove things about a language or code transformation.