The course
Java Arena follows the order and topics of the University of Helsinki's Java Programming MOOC, parts 1 to 14, with its own lessons and exercises.
Projects: larger programs built over several milestones, each after the modules it needs.
Pro Track: projects for your own computer, for after the course.
Topics A to Z: Java keywords, classes, methods and ideas, each with the steps that teach it.
Java Programming I
Parts 1 to 7 of the MOOC: the basics of programming, up to classes, objects and larger programs.
- Printing
- Reading input and strings
- Variables and types
- Calculating with numbers
- Making decisions
- Conditions and logic
- Problem-solving patterns
- Repeating with while
- Loop conditions and for
- Methods and parameters
- Return values and the call stack
- Finding bugs
- Lists
- For-each, list methods and lists in methods
- Arrays
- Working with strings
- Classes and objects
- Getters, toString and bigger classes
- Objects in a list
- Reading files
- Designing classes and overloading
- Primitive and reference variables
- Objects working together
- Lists inside objects
- Separating the UI from program logic
- Troubleshooting and unit testing
- Procedural and object-oriented programs
- Sorting and searching
- Larger programs
Java Programming II
Parts 8 to 14 of the MOOC: hash maps, inheritance, interfaces, streams, exceptions, generics, and graphical programs.
- Warm-up: recap of parts 1 to 7
- Hash maps
- Comparing objects: equals and hashCode
- Grouping data with hash maps
- Inheritance and abstract classes
- Interfaces
- Polymorphism
- Streams and lambdas
- Ordering objects: Comparable and Comparator
- StringBuilder, regular expressions, enums and iterators
- Class diagrams
- Packages and imports
- Exceptions
- Writing files
- Type parameters (generics)
- Building your own list and hash map
- Random numbers
- Two-dimensional arrays
- GUI: windows, components and layouts
- GUI: event handling
- GUI: multiple views
- Data visualization
- Drawing, images and sound
- Project: an Asteroids-style game
- Libraries, Maven and databases
Extra modules
Newer Java features and topics the MOOC doesn't cover. Optional, for after the course.
- Recursion Extra
- Records Extra
- switch, var and text blocks Extra
- Pattern matching and sealed types Extra
- Linked lists, stacks, queues and trees Extra