This repository contains my solution code for University of Helsinki’s Java programming MOOC course. The course’s scope and material are identical to CS Introduction to Programming and Advanced Programming courses.
- Part 1:
- Getting started with programming
- Printing
- Reading input
- Variables
- Calculating with numbers
- Conditional statements and conditional operation
- Part 2:
- Recurring problems and patterns to solve them
- Repeating functionality
- More loops
- Methods and dividing the program into smaller parts
- Part 3
- Discovering errors
- Lists
- Arrays
- Using strings
- Part 4
- Introduction to object-oriented programming
- Objects in a list
- Files and reading data
- Part 5
- Learning object-oriented programming
- Removing repetitive code (overloading methods and constructors)
- Primitive and reference variables
- Objects and references
- Part 6
- Objects on a list and a list as part of an object
- Separating the user interface from program logic
- Introduction to testing
- Part 7
- Programming paradigms
- Algorithms
- Larger programming exercises
- Part 8:
- Short recap
- Hash Map
- Similarity of objects
- Grouping data using hash maps
- Fast data fetching and grouping information
- Part 9:
- Class inheritance
- Interfaces
- Object polymorphism
- Part 10
- Handling collections as streams
- The Comparable Interface
- Other useful techniques
- Part 11
- Class diagrams
- Packages
- Exceptions
- Processing files
- Part 12
- Type parameters
- ArrayList and hash table
- Randomness
- Multidimensional data
- Part 13
- Graphical user interfaces
- UI components and their layout
- Event handling
- Application's launch parameters
- Multiple views
- Part 14
- Data visualization
- Multimedia in programs
- Larger application: Asteroids
- Maven and third-party libraries
- Conclusion