The SIN Foundations of Software course at EPFL is taught on
Tuesdays from 10:15 to 12:00 and on Fridays from
10:15 to 12:00. Courses are in INM 202,
projects and exercises in INF 1 (not
CO 020, or
CO 121).
Description
Software foundations (or theory of programming languages) is the mathematical study of the meaning of programs. Students will learn ways to describe program behaviors, and mathematical tools to formalize and check interesting properties of programs. This course concentrates on operational techniques and type systems.
Course's progress
- Tuesday, Nov 4
- Course “Recursion, References and Store Typings”
- Friday, Nov 7
- Pen+paper exercise session: mid-term exam 2006 (solution)
- Tuesday, Nov 11
- Course on type reconstruction
- Friday, Nov 14
- Mid-term exam (solution)
- Tuesday, Nov 18
- Course “Subtyping”
- Friday, Nov 21
- Exercise session on type reconstruction
- Tuesday, Nov 25
- Course “Objects”
- Friday, Nov 28
- Exercise session on type reconstruction
- Tuesday, Dec 2
- Course “Featherweight Java”
- Friday, Dec 5
- Exercise session on practical type systems
- Tuesday, Dec 9
- Course “Featherweight Java”
- Friday, Dec 12
- Exercise session on practical type systems
- Tuesday, Dec 17
- Course “Featherweight Scala”
- Friday, Dec 19
- Pen+paper exercise session: final exam 2006 (solution)
Mid-term exam
The mid-term exam took place on November 14th, 2008, in room INR 219 from 10:15-12:00. Last year's mid-term exam can be consulted here (solution). The exam is "open books", so you are allowed to bring the textbook and print outs of the course's slides.
Final exam
The final exam will take place on January 21st, 2009, in room INM 200 from 14:00-16:00. Last year's final exam can be consulted here (solution). The exam is "open books", so you are allowed to bring the textbook and print outs of the course's slides.
Course's grading
Each enrolled student will receive a grade based on his results for the projects, the mid-term exam and the final exam. The relative importance of each part is as follows.
Part | Importance |
---|---|
projects | 30% |
mid-term exam | 30% |
final exam | 40% |
A note about cheating (plagiarism)
Sharing ideas between groups is very recommended. Plagiarising code as part of a project will not be tolerated — whatever the source.
In case of cheating, you will receive the grade “NA” (not acquired, zero) for the concerned project or exam, or for the whole course. You may furthermore be denounced and punished in accordance with the ordonnance sur la discipline.
If you are in any fashion worried about this, speak with an assistant.