CS-210 / 5 credits

Teacher(s): Odersky Martin, Kuncak Viktor

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

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.

Transversal skills

  • 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 during the semester
  • 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

Websites

In the programs

  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Functional programming
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Functional programming
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Functional programming
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Functional programming
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Functional programming
  • Lecture: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks

Reference week

 MoTuWeThFr
8-9     
9-10     
10-11    CO021
ELA1
ELD120
DIA005
DIA004
11-12    
12-13     
13-14  CO1  
14-15    
15-16     
16-17     
17-18     
18-19     
19-20     
20-21     
21-22     

Wednesday, 13h - 15h: Lecture CO1

Friday, 10h - 12h: Exercise, TP CO021
ELA1
ELD120
DIA005
DIA004