Application Design Course code: BFVH4APPD

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.


Java Gitbook

The JUnit presentation is being moved to the Java gitbook (in progress). This gitbook will also be available at the test.

Agile Intro

A small intro on what Agile is and how to work Agile

JUnit

An introduction to JUnit 5 testing: what, how and when.

OOP principles

A refresher and extension of Java Object-Oriented programming principles: abstraction, encapsulation, polymorphism

UML

A very minimal overview of the Unified Modeling Language (UML)

SOLID

The SOLID design principles.

Design Patterns

A selection of Design Patterns, code constructs that you can use to solve recurring types of challenges.

Refactoring

A primer on Refactoring: improving code readability, extensibility, flexibility while maintaining the same functionality.

Functional Programming

An overview of Java 8+ features: Streams, Lambda's, Functional Interfaces. And Multithreading.

Java 8 Cheat Sheet

A cheat sheet covering Java 8 features: Streams, Lambda's and Optional.

Training exam

Clone the repo and follow the instructions in the Readme.md file. Take at most 2 hours, and only use the provided cheatsheets.

Rubrics assessment form

The Rubrics grading system that will be used to grade your work. It shows you what aspects will be looked at.