Last updated on
Week 9 Debrief: midterm and callback scores, unguided lab
Congrats on completing your 9th 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 have posted callback and midterm scores to Moodle, as well as midterm solutions. Take the time to browse the solutions, and don’t hesitate to ask in help sessions if you have questions about them.
-
We have adjusted the course schedule slightly: this week on Wednesday we’ll study contextual implicits, and we’ll return to version control next week instead. The syllabus has been updated.
-
The CS-214 final exam will be held on January 30th, 2024, from 8:15 AM to 11:15AM. Our hope is to have a computer-based exam on EPFL machines, but we are still exploring the feasibility of this, and not excluding the possibility of a paper-based final. We will post a separate announcement about final logistics within the next few weeks.
-
As a reminder: last week, we posted a complete transcript of the signal-processing lecture.
Interesting Ed questions
- Webapps
- Troubleshooting
Webapp-RPS
-
We have posted a step by step guide to building a Webapp (
memory
), based on Monday’s lecture. Use it as guidance if you don’t know where to start inwebapp-rps
! -
If you run into issues with imports and completions in VSCode, switch your build server to SBT.
Unguided lab
We have released the unguided-lab writeup, which explains how to create your own app. This technical document is separate from the unguided lab policies, which explains deadlines and grading.
If you’re unsure what to build for your unguided lab, the unguided-lab writeup has plenty of ideas to get you inspired.
The next unguided-lab deadline is the proposal, which is due Fri, Nov 22, 23:00. Feel free to ask the staff for feedback on your proposal in help sessions!
A Scala puzzle 🔥
In the week-1 debrief, I linked to Reflections on Trusting Trust. In this lecture, Ken Thompson writes:
In college, before video games, we would amuse ourselves by posing programming exercises. One of the favorites was to write the shortest self-reproducing program. […]
More precisely stated, the problem is to write a source program that, when compiled and executed, will produce as output an exact copy of its source. If you have never done this, I urge you to try it on your own. The discovery of how to do it is a revelation that far surpasses any benefit obtained by being told how to do it.
Such a program (a self-contained program that, when executed, prints its own source code, without reading it from disk) is usually called a quine.
Is it possible to write a quine in Scala?