DISCLAIMER: The solutions that I have provided are my way of solving the exercises and are not necessarily the shortest, most efficient and clean-code looking like.
This course is from University of Helsinki's free Massive Open Online Course (MOOC), from the Department of Computer Science.
The course is split up into two different sub courses, first being Java Programming I and the second being Java Programming II.
Each course consists of seven parts, with its own set of exercises.
Part 1:
- Getting started with programming
- Printing
- Reading input
- Variables
- Calculating with numbers
- Conditional statements and conditional operation
- Programming in our society
Part 2:
- Recurring problems and patterns to solve them
- Repeating functionality
- More loops
- Methods and dividing the program into smaller parts
- End questionnaire
Part 3:
- Discovering errors
- Lists
- Arrays
- Using strings
- Summary
Part 4:
- Introduction to object-oriented programming
- Objects in a list
- Files and reading data
- Summary
Part 5:
- Learning object-oriented programming
- Removing repetitive code (overloading methods and constructors)
- Primitive and reference variables
- Objects and references
- Conclusion
Part 6:
- Objects on a list and a list as part of an object
- Separating the user interface from program logic
- Introduction to testing
- Complex programs
Part 7:
- Programming paradigms
- Algorithms
- Larger programming exercises
- Conclusion