Java Programming 2 MOOC University of Helsinki

This is the second part of the University of Helsinki’s free massive open online course (MOOC) on Object-Oriented Programming with Java. The course is split up into two individual courses: Java Programming I and Java Programming II. Each course consists of seven parts, each with its own exercise set.

Those present in the repo are my solutions to the exercises I held from 27/05/2020 to 12/09/2020 of the Java Programming 2, Part 8 to 14.


Course Contents


Part 8:

  1. Short recap
    1. Programming exercise: Cubes
    2. Programming exercise: Average of positive numbers
    3. Programming exercise: Liquid containers (3 parts)
    4. Programming exercise: Liquid Containers 2.0 (2 parts)
    5. Programming exercise: To do list (2 parts)
  2. Hash Map
    1. Quiz: Retrieve from a hash map
    2. Programming exercise: Nicknames
    3. Quiz: Object as a HashMap value
    4. Programming exercise: Abbreviations
    5. Programming exercise: Print me my hash map
    6. Programming exercise: Print me another hash map
    7. Programming exercise: I owe you
  3. Similarity of objects
    1. Quiz: Equals
    2. Quiz: Equals and ArrayList
    3. Programming exercise: Same date
    4. Programming exercise: Hash for date
    5. Programming exercise: Vehicle Registry (3 parts)
  4. Grouping data using hash maps
    1. Programming exercise: Dictionary of many translations
    2. Programming exercise: Storage facility (2 parts)
  5. Fast data fetching and grouping information
    1. Quiz: Part 8 learning objectives

Part 9:

  1. Class inheritance
    1. Programming exercise: ABC (2 parts)
    2. Programming exercise: Person and subclasses (5 parts)
    3. Quiz: Inheritance
    4. Quiz: Polymorphism
    5. Quiz: Polymorphism in your own words
    6. Programming exercise: Warehousing (7 parts)
    7. Programming exercise: DifferentKindsOfBoxes (3 parts)
  2. Interfaces
    1. Programming exercise: TacoBoxes (2 parts)
    2. Programming exercise: Interface In A Box (4 parts)
    3. Quiz: Interfaces and polymorphism
    4. Programming exercise: List as a method parameter
    5. Programming exercise: Map as a method parameter
    6. Programming exercise: Set as method parameter
    7. Programming exercise: Online shop (8 parts)
  3. Object polymorphism
    1. Programming exercise: Herds (2 points)
    2. Programming exercise: Animals (4 parts)
  4. Summary
    1. Quiz: Part 9 learning objectives

Part 10:

  1. Handling collections as streams
    1. Programming exercise: Average of Numbers
    2. Programming exercise: Average of selected numbers
    3. Programming exercise: Positive Numbers
    4. Quiz: Filter
    5. Programming exercise: Divisible
    6. Programming exercise: Printing User Input
    7. Programming exercise: Limited numbers
    8. Programming exercise: Unique last names
    9. Programming exercise: Weighting (2 parts)
    10. Programming exercise: Reading Files Per Line
    11. Programming exercise: Books from file
  2. The Comparable Interface
    1. Quiz: Ordering by the number of pages
    2. Programming exercise: Wage order
    3. Programming exercise: Students on alphabetical order
    4. Programming exercise: Literacy comparison (2 parts)
    5. Programming exercise: Literature (3 parts)
  3. Other useful techniques
    1. Quiz: How many strings?
    2. Quiz: How many strings this time?
    3. Quiz: Regular expression
    4. Programming exercise: Regular expressions (3 parts)
    5. Programming exercise: Enum and Iterator (4 parts)
    6. Programming exercise: Sort them cards! (6 parts)
  4. Summary
    1. Quiz: Part 10 learning outcomes

Part 11:

  1. Class diagrams
    1. Programming exercise: Customer
    2. Programming exercise: Book and plane
    3. Programming exercise: Show and ticket
    4. Programming exercise: StudentAndUniversity
    5. Programming exercise: The Player And the Bot
    6. Programming exercise: Saveable person
    7. Programming exercise: Bigger class diagram
    8. Quiz: Class diagram with the help of the yUML service
  2. Packages
    1. Programming exercise: First packages (3 parts)
    2. Programming exercise: Three packages
    3. Quiz: Flight control in own words
    4. Programming exercise: FlightControl (2 parts)
  3. Exceptions
    1. Programming exercise: Validating parameters (2 parts)
    2. Quiz: Stacktrace
    3. Programming exercise: Sensors and temperature (4 parts)
  4. Processing files
    1. Quiz: Main differences between classes meant for writing
    2. Programming exercise: Saveable Dictionary (4 parts)
  5. Conclusion
    1. Quiz: Part 11 learning outcomes

Part 12:

  1. Type parameters
    1. Quiz: Type parameters
    2. Programming exercise: Hideout
    3. Programming exercise: Pipe
    4. Quiz: Why doesn't the program work?
  2. ArrayList and hash table
    1. Quiz: Printing an array
    2. Programming exercise: Sum these for me
    3. Programming exercise: List (2 parts)
    4. Quiz: Copying values of a hash map to a new map.
    5. Programming exercise: Hash map (3 parts)
  3. Randomness
    1. Programming exercise: Numbers
    2. Programming exercise: Die
    3. Programming exercise: Lottery
  4. Multidimensional data
    1. Programming exercise: Array as a string
    2. Programming exercise: Magic square (4 parts)
  5. Summary
    1. Quiz: Part twelve learning outcomes

Part 13:

  1. Graphical user interfaces
    1. Programming exercise: My first application
  2. UI components and their layout
    1. Quiz: "Tree Table View" Component
    2. Programming exercise: Button and label
    3. Programming exercise: Button and TextField
    4. Programming exercise: BorderPane
    5. Programming exercise: Text statistics
  3. Event handling
    1. Programming exercise: Notifier
    2. Programming exercise: Text statistics, part II
  4. Application's launch parameters
    1. Programming exercise: User's title
  5. Multiple views
    1. Programming exercise: Multiple views
    2. Programming exercise: Greeter
    3. Programming exercise: Joke
    4. Programming exercise: Vocabulary practice
    5. Programming exercise: Tic-tac-toe (3 parts)
  6. Summary
    1. Quiz: Part 13 learning outcomes

Part 14:

  1. Data visualization
    1. Programming exercise: Shanghai
    2. Programming exercise: Finnish parties
    3. Programming exercise: Savings calculator (3 parts)
    4. Quiz: Chart program in your own words
    5. Programming exercise: Unfair Advertisement
    6. Programming exercise: Cycling statistics
  2. Multimedia in programs
    1. Programming exercise: Smiley
    2. Programming exercise: Collage (3 parts)
    3. Programming exercise: Hurray
  3. Larger application: Asteroids
    1. Quiz: Ship and asteroid
    2. Programming exercise: Asteroids (4 parts)
  4. Maven and third-party libraries
    1. Programming exercise: Database
  5. Conclusion
    1. Quiz: Part 14 learning outcomes