Assignment Information

Please note that all assignment due dates for un-released assignments are tentative and subject to change.

Assignments will be posted in the Homeworks Folder in the class Drive Folder, and announced in class. Up to date due dates can be found on the class schedule page

Homework 1 A/B

Assignment: TBD

Topics:

  • Ensure prerequisite Java knowledge
  • Designing a system
  • using git, GitHub and gradle
  • Planning for change
  • Using external libraries (POI)

Homework 2

Assignment: TBD

Topics:

  • Refactoring with Extract Methods and Extract Class
  • JUnit 5
  • White-box and Black-Box Testing
  • Test Driven Development

Homework 3

Assignment: TBD

Topics:

  • Reading and using code written by someone else
  • Understandability and Refactoring
  • Practical usage of polymorphism
  • Java Streams and Lambda Bodies
  • Starting to nail down what we mean by “good design”
  • Adding features to existing code

Homework 4

Assignment: TBD

Topics:

  • Testing with Mockito
  • OO Design Principles
  • Refactoring/Rewriting code to fix design issues
  • UML Class Diagrams

Homework 5

Assignment: TBD

Topics:

  • Web services
  • Parsing JSON
  • Databases (specifically SQLite)
  • JDBC
  • Queries

Homework 6

  • Posted:

Assignment: TBD

Topics:

  • Is a capstone assignment that features elements of another assignments
  • Building a simple desktop CRUD application.
  • JavaFX
  • Three Tier Architecture
  • Design Patterns