Last updated on
Week 11 Debrief: November poll, final exam
Congrats on completing your 11th week of CS-214! Here is a round-up of interesting questions, tips for exercises and labs, and general notes about the course.
Administrivia
-
We’ve released a transcript of the second git demo.
-
We have updated the solutions of the safe-effect exercises to add an example of benchmarking.
-
Our November poll is up. We’re counting on your feedback to improve the course!
-
Unguided lab checkoffs slots are up on Moodle. We have attributed every team a default slot; you may chose a different one if the one we gave you does not work for you.
Final exam
-
The CS214 final exam will take place from 8AM to 11:45 on January 30th, 2025, on EPFL computers with limited internet access.
-
We will have a final-exam dry-run on December 18th from 4 to 7 PM. Attendance at this dry-run is mandatory. Seat assignments will be communicated next week.
-
If you need a non-QWERTZ keyboard, you may bring a quiet one (no mechanical keyboards) if you fill this poll on Moodle by next Sunday.
Interesting Ed questions
- Webapps
- What if I need more than just user names to start the app?
- What if I need client-side state?
- What if I don’t know my users in advance?
- Where do I put images that my app needs access to? How about other static resources?
- Do I need to worry about multiple app instances running in parallel?
- Can I use my app over the internet instead of a local network? 🔥
- Scala
Unguided lab updates
Our advice for this week
At this point, you should have a minimum viable prototype: a version of your app that does just a fraction of what it needs to do, but which captures the essence of your idea. This week, we recommend that you build a second prototype, now with almost all functionality complete:
- Backend: All state transitions and projections;
- Frontend: Complete UI and actions triggering transitions;
- Tests: Complete unit and integration tests, based on last week’s diagrams.
The idea is to keep a full week for debugging, polishing things up, preparing your demo, etc.