Java
We’re using Java 21.
Docs
- Official Documentation: https://docs.oracle.com/en/java/javase/21/docs/api/
- W3 Schools: (more approachable) https://www.w3schools.com/java/
- Sololearn (if you want a free certificate, yes actually) https://www.sololearn.com/en/learn/courses/java-introduction
Videos/Playlists
A super short intro…
A more extensive course…
IDE (Eclipse)
Ah yes, Eclipse. Because nothing screams “modern development” like software from the early 2000s. But hey, it’s required (as of 2024 at ETHZ, because progress is overrated).
MacOS
Do yourself a favor and use Homebrew (https://brew.sh/) to install stuff. It’s like the one sane tool in this chaotic world.
(Yes, there’s a formula for that: https://formulae.brew.sh/cask/eclipse-java. You’re welcome.)
Windows
Oh boy. Windows users, may God have mercy on your soul.
You might be able to use Chocolatey (https://community.chocolatey.org/packages/eclipse-java-oxygen), assuming the universe hasn’t shifted and Chocolatey actually works as intended. But honestly, just download the .exe like it’s 2005 and hope for the best :D
Linux and Others
Linux users, you don’t need instructions. You probably already installed and set up Eclipse before appearing in the lecture.
EBNF
You’ve probably never heard of this, and let’s be honest - you’ll probably never use it again. But hey, it’s actually a decent concept to wrap your head around.
For the real MVP: Thomas Gassmann’s EBNF validator (yes, he’s from ETHZ too). Use it to check and validate your EBNF (Explanation: https://thomasgassmann.com/blog/ebnf-tooling).
Other Resources
Gohar Tamrazyan’s Site and Videos
A goated site by Gohar (CS student + EProg TA from 2023). Seriously, check it out:
https://eprog23.wixstudio.com/hs23/videos
If you wanna add your site/resource to the list or have any other useful resources, let me know :D