CS-452 / 4 crédits

Enseignant: Odersky Martin

Langue: Anglais


Summary

The course introduces the foundations on which programs and programming languages are built. It introduces syntax, types and semantics as building blocks that together define the properties of a program part or a language. Students will learn how to apply these concepts in their reasoning.

Content

Learning Prerequisites

Recommended courses

Advanced topics in programming, Compiler construction

Important concepts to start the course

Functional programming

Basic knowledge of formal languages

Learning Outcomes

By the end of the course, the student must be able to:

  • Argue design decisions of programming languages
  • Assess / Evaluate soundness of type systems
  • Compose higher-order functions
  • Verify progress and preservation in type systems
  • Work out / Determine operational equivalences
  • Carry out projects of 2-3 weeks duration
  • Distinguish valid from invalid proofs
  • Implement type systems and operational semantics

Transversal skills

  • Assess progress against the plan, and adapt the plan as appropriate.
  • Evaluate one's own performance in the team, receive and respond appropriately to feedback.
  • Identify the different roles that are involved in well-functioning teams and assume different roles, including leadership roles.
  • Manage priorities.

Teaching methods

Ex cathedra, practical exercises

Assessment methods

With continuous control

Dans les plans d'études

  • Semestre: Automne
  • Forme de l'examen: Ecrit (session d'hiver)
  • Matière examinée: Foundations of software
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines
  • Semestre: Automne
  • Forme de l'examen: Ecrit (session d'hiver)
  • Matière examinée: Foundations of software
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines
  • Semestre: Automne
  • Forme de l'examen: Ecrit (session d'hiver)
  • Matière examinée: Foundations of software
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines
  • Semestre: Automne
  • Forme de l'examen: Ecrit (session d'hiver)
  • Matière examinée: Foundations of software
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines
  • Semestre: Automne
  • Forme de l'examen: Ecrit (session d'hiver)
  • Matière examinée: Foundations of software
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines

Semaine de référence

 LuMaMeJeVe
8-9     
9-10     
10-11     
11-12  INJ218  
12-13    
13-14     
14-15 INF1   
15-16    
16-17     
17-18     
18-19     
19-20     
20-21     
21-22     

Mardi, 14h - 16h: Cours INF1

Mercredi, 11h - 13h: Exercice, TP INJ218