Skip to content
Snippets Groups Projects
Viktor Kuncak's avatar
Viktor Kuncak authored
91f43838
History

EPFL CS320 - Computer language processing, Spring 2025

Course Description and Schedule

IMPORTANT

Please register for groups on Moodle as soon as this is possible

Grading

The grade is based on a midterm (30%) as well as team project work (70%).

The project work is done in groups of 2-3 people (no individual groups; the goal is in part to learn how to work together). The work has many aspects: the implementation in Scala of aspects of an interpreter and compiler (labs 1 to 5) and Lab 6, which is an open project. There will be no written exam at the end of the semester and no exam in the exam period. Here are the weights of the milestones in the overall course grade:

  • Midterm exam: 30% (see the archive of past exams; note that we will have fewer multiple-choice questions this time)
  • 10% Lab 1
  • 10% Lab 2
  • 10% Lab 3 (First team work statement to be sent afterwards)
  • 10% Lab 4
  • 10% Lab 5
  • 20% Lab 6 (Compiler extension, customized, the final team work statement)

For the final Lab 6, each group will need to do their own project (based on our suggestions or your own ideas that you check with the teaching staff). Each member of the group must present the project in a slot in one of the last two weeks of the semester and answer questions. The presentation part of of each person will be graded individually and includes answers to questions (a person not presenting will be given a 0 points for the presentation part of the Compiler extension lab). The final report on the project will need to handed in after the end of the semester but the students are encouraged to complete it during the semester as this is a continuous control course.

To monitor whether everyone is doing their share of work, we ask each student to submit via email their teamwork statement, twice during the semester: once right after Lab 3 is due, and once at the end of the semester. Please read Teamwork Statements on the format and the relevance of these emails.

Staff

Professor Viktor Kunčak
PhD TA Samuel Chassot
PhD TA Sankalp Gambhir
MSc TA Sidonie Bouthors
MSc TA Sébastien Kobler
MSc TA Marcin Wojnarowski
MSc TA Jacopo Moretti

Books

Our goal is for lectures to be self-contained. The following books contain overlapping material with some recommendations for most relevant parts:

Schedule and Material

Week Day Date Time Room Topic Videos & Slides
1 Wed 19.02.2025 13:15 BC 01 Lecture 1 Intro to CLP, Formal languages
Fri 21.02.2025 13:15 ELA 2 Lecture 2 Operations on Formal Languages, Regular Expressions and Idea of a Lexer
Fri 21.02.2025 15:15 ELA 2 Lab 1 Interpreter
Wed 26.02.2025 13:15 BC 01 Lecture 3 First Symbols. Constructing a Lexer, From Regular Expressions to Automata
Fri 28.02.2025 13:15 ELA 2 Exercise 1 Languages, Automata and Lexers
Fri 28.02.2025 15:15 ELA 2 Lab 2 Lexer