Homework Assignment #0 (Ungraded)


0. Confirm your participation in the course!

Log in to Laulima, go to the site for this course, click on Weekly Engagement and complete the Week 1 - Participation Verification “assignment.”

1. Required OS

Most programming assignments in this course are in Java, and so can be done on any OS. Assignments that require other programming languages (C/C++, Python) will be done via a Linux Docker container that is invoked from Java! Provided that Docker runs on your machine, you should be good for this course regardless of your OS.

2. Required Software for the course

2.1 Java 21

Your system must support Java 21, so any JDK 21 will work (it’s the LTS). If you don’t know which version you have, if any, in a terminal just type java --version. The first line of output will look like openjdk version "X.0.1". If X is 21 or higher, you’re all set and you can proceed to Section 2.2 below. If not, or if you get some command not found message, you have to install a more recent JDK.

There is plenty of information on how to do this on-line, with OpenJDK or Oracle’s JDK

Once you’re done, doing java --version should behave as expected.

2.2. Maven 3.6.3 or beyond

Maven is a build tool for Java, and we will use it extensively. It really makes configuring/building Java projects a breathe. There are other systems, some fancier (like Gradle), but in this course we’ll stick to Maven. If you don’t know which version you have, if any, in a terminal just type mvn --version. The first line of output will look like Apache Maven X.Y.Z. If X.Y.Z is 3.6.3 or higher, you’re all set and you can proceed to Section 2.3 below. If not, or if you get some command not found message, then you have to install Maven:

Installing Maven

2.3. Docker

Make sure Docker is installed and runs on your system.

2.4. An IDE

Make sure you have an IDE installed for developing Java code. I use the IntelliJ IDEA IDE, but if you already have your own IDE of predilection that’s fine of course.