This course deals with some more advanced Java (OO) design aspects: some SOLID principles, refactoring, the Streams API (with Lambdas), multithreading and JUnit testing Design Patterns.
The JUnit presentation is being moved to the Java gitbook (in progress). This gitbook will also be available at the test.
A small intro on what Agile is and how to work Agile
An introduction to JUnit 5 testing: what, how and when.
A refresher and extension of Java Object-Oriented programming principles: abstraction, encapsulation, polymorphism
A very minimal overview of the Unified Modeling Language (UML)
The SOLID design principles.
A selection of Design Patterns, code constructs that you can use to solve recurring types of challenges.
A primer on Refactoring: improving code readability, extensibility, flexibility while maintaining the same functionality.
An overview of Java 8+ features: Streams, Lambda's, Functional Interfaces. And Multithreading.
A cheat sheet covering Java 8 features: Streams, Lambda's and Optional.
Clone the repo and follow the instructions in the Readme.md file. Take at most 2 hours, and only use the provided cheatsheets.
The Rubrics grading system that will be used to grade your work. It shows you what aspects will be looked at.