Information
Contents
Week | Theory Classes | Practice Sessions |
---|---|---|
1 |
Course Presentation.
A gentle introduction to Git: - Introduction. - Basics and Git as a local VCS. - Branches, remotes and workflows. Java: Quick introduction. |
|
2 |
Java: - Types, literals and variables. - Loop and conditional blocks. - A small introduction to classes and the Hello World example. - Collections. Dependency Management using Gradle. |
Java/Git Exercises | Solutions |
3 |
Unit Testing: - Test levels and test types. - Unit Testing - JUnit - Mocks and Stubs using Mockito - Test Coverage and Mutation Testing |
Java Exercises | Solutions |
4 | Carnival Holiday |
Java Exercises | Solutions |
5 |
SOLID Principles: - [SRP] Single Responsibility - [OCP] Open/Closed - [LSP] Liskov Substitution - [ISP] Interface Segregation - [DIP] Dependency Inversion UML - Class Diagrams: - Classes - Inheritance, Abstract Classes and Interfaces - Associations and Aggregation |
Unit Testing Exercises | Solutions |
6 |
Design Patterns: - Factory-Method - Command - Composite - Observer - Strategy |
SOLID Exercises | Solutions |
7 |
Refactoring: - Code Smells - Refactoring Techniques |
Design Patterns Exercises | Solutions |
8 |
Design Patterns: - State - Adapter - Decorator - Singleton |
Refactoring Exercises | Solutions |
9 |
Java Generics: - Generic methods - Generic classes - Variance - Wildcards Design Patterns: - Abstract Factory |
Project |
10 | Easter | |
11 |
Java Threads: - Processes - Threads - Synchronization Java Input/Output: - Streams - File Streams - Resources Architectural Patterns: - MVC Pattern |
Project |
12 |
Java Graphical User Interfaces using Swing: - Components - Layouts - Events - Graphics |
Project |
13 | Burning of the Stripes | |
14 |
UML - Sequence Diagrams: - Elements - Messages - Fragments - Gates UML - Communication Diagrams: - Objects - Messages - Sequence Expressions |
Project |
15 | Project | |
16 |
Inheritance vs. Composition: - Multiple Inheritance - Interfaces - Java Defaults - Composition - Delegation |
Project Demo |