Software construction
CS-214
Media
[CS214 W04 SE] Specs (2024-10-09)
09.10.2024, 19:24
Week05 - FP videos
04.10.2024, 13:16
Week05 - FP videos
04.10.2024, 13:16
Week05 - FP videos
04.10.2024, 13:16
1. Subtyping and Generics
03.10.2024, 22:57
2. Tuples and generic methods
04.10.2024, 16:55
3. Variance
04.10.2024, 16:56
4. Other Collections
04.10.2024, 17:00
5. Combinatorial Search and For Expressions
04.10.2024, 17:03
6. Combinatorial Search Example
04.10.2024, 21:11
7. Maps
04.10.2024, 21:12
8. Putting the Pieces Together
04.10.2024, 21:12
Week05 - FP videos
04.10.2024, 13:16
This file is part of the content downloaded from Software construction.
- Course website (URL)
- Syllabus (URL)
- Policies (URL)
- Monday livestreams (URL)
- Wednesday livestreams (URL)
- Lecture recordings (URL)
- Background Textbook: Discrete mathematics and its applications (Rosen), 2019 (URL)
- Help session rooms:Mondays 1-3pm: Check the syllab... (Text and media area)
- polls: Welcome! (Questionnaire)
- Slides: Course intro (File)
- FP Slides: Functional programming intro (File)
- Sample Lab: Degrees converter (URL)
- Find Lab : Handout (URL)
- Find Lab : Bundle (File)
- Exercises: Structural recursion & Git (URL)
- Exercises solution: Structural recursion & Git (URL)
- SE Slides: Version control (File)
- New-course feedback: Week 1 (Questionnaire)
- Week 2 FP Slides: HOFs (File)
- Week 2 SE slides: Debugging (File)
- Exercises: HOFs and debugging (URL)
- Exercises Solutions: HOF and Debugging (URL)
- New-course feedback: Week 2 (Questionnaire)
- Week 3 FP Slides (File)
- OOP, the extended cut (URL)
- Exercises: Pattern Matching (URL)
- Exercises solution: Pattern Matching (URL)
Tue, Oct 1 help session: INF 1 open only after 5pm. INF 2,3 open from 4pm as usual.
- New-course feedback: Week 3 (Questionnaire)
- Week 4 FP Monday Slides: Proofs and Generics (File)
- Scala List API (URL)
- Week 4 SE Slides: Tests (File)
- Exercises: Polymorphism, Proofs and Tests (URL)
- Exercises Solution: Polymorphism, Proofs and Tests (URL)
No live lectures this week! Instead, recorded lecture videos:
- New-course feedback: Week 4 (Questionnaire)
- FP Slides: Collections and Comprehensions (File)
- FP playlist: Collections and Comprehensions (2025-10-06) (URL)
- SE Slides: Specs (File)
- SE recording - Specs (2025-10-08) (URL)
- Exercises: Comprehensions, Variance and Specs (URL)
- Exercises Solutions: Comprehensions, Variance and Specs (URL)
- Exam Lab Resources (Folder)
- Unguided Callback (URL)
- Unguided Callback Teams (Group choice)
- New-course feedback: Week 5 (Questionnaire)
- Week 6 Monday Slides on Parallelism (File)
- Week 6 Monday Lecture Code Examples (File)
- Week 6 Wednesday Slides (More Parallelism) (File)
- Exercises: Parallelism (URL)
- Exercises solution: Parallelism (URL)
- Exam Lab Resources (Folder)
HOLIDAY BREAK
- New-course feedback: Week 6 (Questionnaire)
- Week 7 FP Slides (File)
- Week 7a Slides on Functional Data Structures (File)
- Exercises: Laziness (URL)
- Exercises solution: Laziness (URL)
- Unguided callback: Mandatory self-assessment (Questionnaire)
- Midterm Study Guide (URL)
- Additional midterm-prep problems (URL)
- Additional midterm-prep problems solutions (URL)
- Exam lab resources (Folder)
- New-course feedback: Week 7 (Questionnaire)
- Midterm room floor plans (Folder)
- Midterm seat assignments (Page)
- Midterm instructions and appendix (File)
- Week 8 SE slides: Signal processing with lazy lists (Monday) (File)
- SE recording - Signal processing with lazy lists (2024-11-04) (URL)
- Week 8 Monday lecture transcript and code: Signal processing with lazy list (URL)
- Week 9 Monday Slides: Webapps (File)
- Week 9 Wednesday Slides: Le retour du Git (File)
- Exercises: Webapps & Git 2 (URL)
- Exercises solution: Webapps & Git 2 (URL)
- Exam Lab Resources (Folder)
- Unguided lab instructions (URL)
- Unguided Lab Teams (Group choice)
- Week 10 Wednesday slides (File)
- New-course feedback: Week 9 (Questionnaire)
- Week 10 Slides for Monday (File)
- Exercises: Contextual Abstraction and Mutation Reasoning (URL)
- Exercises solutions: Contextual Abstraction & Mutation Reasoning (URL)
- Examples of webapps (URL)
- Week 10 Wednesday slides (File)
- Midterm 2025 - empty (URL)
- Midterm 2025 - Solution (URL)
- Week 11 Slides for Monday 2025-11-23 (File)
- Week 11 SE slides: Distributed version control II, human aspects of software engineering (File)
- Exercises: Safe Effects & Git III (URL)
- Exercises solution: Safe Effects & Git III (URL)
- New-course feedback: Weeks 10-11 (Questionnaire)
- Week 12 FP Slides - Asynchronous programming with Futures (File)
- Exercises: Futures & Property Based Testing (URL)
- Exercises solution: Futures & Property Based Testing (URL)
- Week 12 SE Slides: Automated testing (File)
- Week 13 Monday slides - How to get a job in CS (part 1) (File)
- Week 13 Monday slides - How to get a job in CS (part 2) (File)
- Week 13 Wednesday Slides - Contextual abstraction II (File)
- Exercises: Contextual Abstraction (URL)
- Exercises Solutions: Contextual Abstraction (URL)
16 December - 22 December
- Week 14 Monday - Stainless Examples (File)
- Week 14 Monday Slides - Formal Verification (File)
- Exercises: Monads and Formal Verification (URL)
- Week 14 Wednesday slides - Monads (File)
- Exercises solution: Week 14 (URL)
- In-depth evaluation (one checkbox) (Questionnaire)
17.12 dry-run: 2024 final part 1
07.01 dry-run: 2024 final part 2
Final exam study materials
Final exam
- final25: seat assignments (Page)
- final25: write-up (URL)
- Exam announcements mirrorpairs If your solution ca... (Text and media area)