Assignments
Assignment 1
Assignment 2
Assignment 2 Submission Template
1: Paradigms & Languages
Introduction
Software Paradigms
Programming Language Evolution
Programming Language Convergence
Lab-01 Eclipse & Java
RefCardz: Agile Adoption
RefCardz: Eclipse
2: The Java Programming Language
Introduction
Basics + Arrays
Classes
Control Statements
Object Oriented Concepts
Lab-02 CLI & Classes
3: Inheritance & Collections
Implementation Inheritance
Interface Inheritance
Introducing Collections
Using Collections
Lab-03 Objects & Serialization
4: Serialization & Test Driven Development I
Streams
TDD Introduction
First Tests
Lab-04 Testing
5: Test Driven Development II
Annotations
Pragmatic Testing Stack Example
Pragmatic Testing Video Player Example
Pacemaker Tests
Lab-05 Refactoring
RefCardz: JUnit and EasyMock
6: Exceptions & Maven
Exceptions
DevOps
Maven Introduction
Maven Example
Lab-06 Maven
Maven - MultiModule
7. TDDIII and Pacemaker Solution
Writing Tests
Right BICEP
Java 8 & 9
Lab-07a Pacemaker Models
Lab-07b Pacemaker API
8: SRP and TDD IV
C.O.R.R.E.C.T
SOLID Principles
Single Responsibility Principle
Lab-08 Skeleton
09. OCP and REST
Open Closed Principle
HTTP Protocol
Introducing APIs
REST APIs
Javalin
Lab-09 Rest API
10. LSP, TDD & Rest Client
Liskov Substitution Principle
Fragile Base Class
FIRST Principles
Kotlin Overview
Lab-10 Rest CLI
11. ISP, DSP and Kotlin
Interface Segregation Principle
Dependency Inversion Principle
Kotlin Syntax (1 of 2)
Kotlin Syntax (2 of 2)
Lab-11 Rest Test
12. Test Doubles + Lab Review
Lab 08-12 Review
XUnit Patterns
Test Doubles
Lab-12 Kotlin
12: Deployment
Agile Software Development
All videos's in Module
12: Deployment