Java

We’re using Java 21.

Docs

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.

brew install --cask eclipse-java  

(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