- français
- English
Coursebooks
Foundations of software
CS-452
Lecturer(s) :
Odersky MartinLanguage:
English
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
- simple types, lambda-calculus
- normalization, references, exceptions
- subtyping
- recursive types
- polymorphism
- advances features of the Scala type system
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
Resources
Ressources en bibliothèque
Websites
In the programs
- SemesterFall
- Exam formWritten
- Credits
4 - Subject examined
Foundations of software - Lecture
2 Hour(s) per week x 14 weeks - Exercises
2 Hour(s) per week x 14 weeks
- Semester
- SemesterFall
- Exam formWritten
- Credits
4 - Subject examined
Foundations of software - Lecture
2 Hour(s) per week x 14 weeks - Exercises
2 Hour(s) per week x 14 weeks
- Semester
- SemesterFall
- Exam formWritten
- Credits
4 - Subject examined
Foundations of software - Lecture
2 Hour(s) per week x 14 weeks - Exercises
2 Hour(s) per week x 14 weeks
- Semester
- SemesterFall
- Exam formWritten
- Credits
4 - Subject examined
Foundations of software - Lecture
2 Hour(s) per week x 14 weeks - Exercises
2 Hour(s) per week x 14 weeks
- Semester
- SemesterFall
- Exam formWritten
- Credits
4 - Subject examined
Foundations of software - Lecture
2 Hour(s) per week x 14 weeks - Exercises
2 Hour(s) per week x 14 weeks
- Semester
Reference week
Mo | Tu | We | Th | Fr | |
---|---|---|---|---|---|
8-9 | |||||
9-10 | |||||
10-11 | |||||
11-12 | CO020 | ||||
12-13 | |||||
13-14 | |||||
14-15 | INM10 | ||||
15-16 | |||||
16-17 | |||||
17-18 | |||||
18-19 | |||||
19-20 | |||||
20-21 | |||||
21-22 |
Lecture
Exercise, TP
Project, other
legend
- Autumn semester
- Winter sessions
- Spring semester
- Summer sessions
- Lecture in French
- Lecture in English
- Lecture in German