- français
- English
Coursebooks
Functional programming
CS-210
Lecturer(s) :
Kuncak ViktorOdersky Martin
Language:
English
Summary
Understanding of the principles and applications of declaratative programming, the fundamental models of program execution, application of fundamental methods of program composition,meta-programming through the construction of interpreters and advanced programming techniques.Content
Introduction to programming in Scala
Functions and Evaluation
Higher-Order Functions
Data and Abstraction
Types and pattern matching
Lists
Collections
Lazy evaluation
For expressions, generators and monads
Functions and State
Lambda calculus and Lisp
Interpreting Functional Languages
Learning Prerequisites
Required courses
CS-107 Introduction to programming
CS-108 Practice of object-oriented programming
Learning Outcomes
By the end of the course, the student must be able to:- Create functional programs
- Design robust and readable software
- Formalize program correctness
- Interpret programs automatically
- Prove correctness using induction
- Construct software
- Demonstrate a capacity for creativity.
- Use a work methodology appropriate to the task.
- Set objectives and design an action plan to reach those objectives
- Give feedback (critique) in an appropriate fashion.
Teaching methods
MOOC. Ex Cathedra. Exercises and projects
Assessment methods
- 70% exam in the exam session
- 25% programming lab assignments during the semester
- 5% written exercises during the semester
Supervision
Office hours | Yes |
Assistants | Yes |
Forum | Yes |
Resources
Bibliography
Abelson/Sussman : Structure and Interpretation of Computer Programs, MIT Press
Martin Odersky, Lex Spoon, and Bill Venners: Programming in Scala (Third Edition). A comprehensive step-by-step guide. https://www.artima.com/shop/programming_in_scala
Ressources en bibliothèque
- Structure and Interpretation of Computer Programs / Abelson
- Programming in Scala (Third Edition) / Odersky
Websites
In the programs
- SemesterFall
- Exam formWritten
- Credits
5 - Subject examined
Functional programming - Lecture
2 Hour(s) per week x 14 weeks - Exercises
2 Hour(s) per week x 14 weeks
- Semester
- SemesterFall
- Exam formWritten
- Credits
5 - Subject examined
Functional programming - Lecture
2 Hour(s) per week x 14 weeks - Exercises
2 Hour(s) per week x 14 weeks
- Semester
- Passerelle HES - IN, 2020-2021, Autumn semester
- SemesterFall
- Exam formWritten
- Credits
5 - Subject examined
Functional programming - Lecture
2 Hour(s) per week x 14 weeks - Exercises
2 Hour(s) per week x 14 weeks
- Semester
- Passerelle HES - SC, 2020-2021, Autumn semester
- SemesterFall
- Exam formWritten
- Credits
5 - Subject examined
Functional programming - Lecture
2 Hour(s) per week x 14 weeks - Exercises
2 Hour(s) per week x 14 weeks
- Semester
- SemesterFall
- Exam formWritten
- Credits
5 - Subject examined
Functional programming - Lecture
2 Hour(s) per week x 14 weeks - Exercises
2 Hour(s) per week x 14 weeks
- Semester
- SemesterFall
- Exam formWritten
- Credits
5 - Subject examined
Functional programming - 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 | |||||
12-13 | |||||
13-14 | |||||
14-15 | |||||
15-16 | |||||
16-17 | |||||
17-18 | |||||
18-19 | |||||
19-20 | |||||
20-21 | |||||
21-22 |
Under construction
Lecture
Exercise, TP
Project, other
legend
- Autumn semester
- Winter sessions
- Spring semester
- Summer sessions
- Lecture in French
- Lecture in English
- Lecture in German