Java
In this course we use Java version 21. Java is an object oriented programming language widely used in industry. Knowing how to program, and especially Java is crucial for this course, and the rest of your study. Becoming comfortable in it is not wasted.
Learning Java §1
If you are still not completely comfortable in Java, here are some resources that might help you (but not an endorsement of any).
A simple tutorial
https://www.w3schools.com/javaInteractive:
https://www.learnjavaonline.org/en/Hello%2C_World%21Interactive:
https://codingbat.com/java(Semi-paid)
https://www.geeksforgeeks.org/java(Semi-paid)
https://hyperskill.org/categories/2
To learn programming in general, here are some interesting resources:
Tactical Learning §1.1
While the best way to learn is by building project like this one, you can also learn a lot from doing small exercises.
A set of mathematical problems
https://projecteuler.netA lot of interesting X-mas inspired problems
https://adventofcode.com(Semi Paid)
https://leetcode.com
Strategical Learning §1.2
Try to build a larger project. Choose a problem you might find fun. You can use a chat-bot to create the boilerplate and then try to extend and change it. Here are some small ideas which are suitable for beginners:
Tick-tac-toe in the terminal.
An old style texted based dungeon crawler.
An http server build from scratch.
A reverse polish notation calculator
https://en.wikipedia.org/wiki/Reverse_Polish_notation.