Summary of the Course Timeline


Week 1 - Mon, Aug 12th

Topics Summary:

  • [W1.2] Java: Intro

  • [W1.3] Java: HelloWorld

  • [W1.4] Java: Data Types

  • [W1.5] Java: Control Flow

Full ToC


Tasks Summary:

  1. Install Java before the lecture
  2. Create a GitHub account
  3. Submit the pre-course survey by Fri, Aug 16th 2359
  4. Attend the lecture
  5. Submit weekly exercises

Week 2 - Mon, Aug 19th

Topics Summary:

  • [W2.2] Java: Objects

  • [W2.3] Java: Classes

  • [W2.4] OOP: Class-level members

  • [W2.5] RCS: Saving History

  • [W2.6] RCS: Using History

Full ToC


Tasks Summary:

  1. Install Sourcetree before the lecture
  2. Submit weekly exercises
  3. Submit post-lecture quiz

Week 3 - Mon, Aug 26th

Topics Summary:

  • [W3.1] Java: Useful Classes

  • [W3.2] RCS: Remote Repos

  • [W3.3] IDEs: Basic Features

Full ToC


Tasks Summary:

  1. Install IntelliJ IDEA before the lecture
  2. Submit weekly exercises

Project:

  1. Setup Duke project on your computer during/after the lecture
  2. Implement project increments Level-1, Level-2

Week 4 - Mon, Sep 2nd

Topics Summary:

  • [W4.1] OOP + Java: Inheritance

  • [W4.2] OOP + Java: Polymorphism

  • [W4.3] Automated Testing of Text UIs

  • [W4.4] IDEs: Intermediate Features

  • [W4.5] RCS: Creating Pull Requests

Full ToC


Tasks Summary:

  1. Submit weekly exercises

Project:

  1. Create a Pull Request during/after the lecture
  2. Implement project increments Level-3, A-TextUiTesting optional

Week 5 - Mon, Sep 9th

Topics Summary:

  • [W5.1] Java: Casting

  • [W5.2] OOP + Java: Abstract Classes

  • [W5.3] OOP + Java: Interfaces

  • [W5.4] Error Handling: Exceptions

  • [W5.5] Code Quality: Refactoring

Full ToC


Tasks Summary:

  1. Submit weekly exercises

Project:

  1. Implement increment Level-4

Week 6 - Mon, Sep 16th

Topics Summary:

  • [W6.1] Java: Generics

  • [W6.2] Java: Collections

  • [W6.3] Design: Models

  • [W6.4] Class/Object Diagrams: Basics

Full ToC


Tasks Summary:

  1. Submit weekly exercises
  2. Submit the quiz

Project:

  1. Implement increment Level-5

Week 7 - Mon, Sep 30th

Topics Summary:

  • [W7.1] Java: Constants

  • [W7.2] Java: Enumerations

  • [W7.3] Java: varargs : OPTIONAL

  • [W7.4] Java: File Access

  • [W7.5] Class/Object Diagrams: Intermediate

  • [W7.6] Design: Fundamentals

  • [W7.7] SDLC Process Models

Full ToC


Tasks Summary:

  1. Submit weekly exercises
  2. Submit the quiz

Project:

  1. Implement increments Level-6, A-Enums if-applicable

Week 8 - Mon, Oct 7th

Topics Summary:

  • [W8.1] Design Principles

  • [W8.2] Architecture : OPTIONAL

  • [W8.3] Design: High-Level View : OPTIONAL

  • [W8.4] Java: Packages

  • [W8.5] Java: Access Modifiers

  • [W8.6] Java: JavaDocs

  • [W8.7] RCS: Branching

  • [W8.8] Project Mgt: Scheduling and Tracking

Full ToC


Tasks Summary:

  1. Submit the quiz

Project:

  1. Implement increments Level-7, A-MoreOOP, A-Packages

Week 9 - Mon, Oct 14th

Topics Summary:

  • [W9.1] Requirements: Intro

  • [W9.2] Requirements: Gathering

  • [W9.3] Requirements: Specifying

  • [W9.4] Integration Approaches : OPTIONAL

  • [W9.5] Automating the Build Process

  • [W9.6] Developer Testing

  • [W9.7] Unit Testing

Full ToC


Tasks Summary:

  1. Submit the quiz

Project:

  1. Implement increments Level-8, A-JavaDoc, A-Gradle, A-JUnit
  2. Merge branches

Week 10 - Mon, Oct 21st

Topics Summary:

  • [W10.1] Sequence Diagrams: Basics

  • [W10.2] Code Quality: Guidelines

  • [W10.3] Code Quality: Refactoring (Revisited)

  • [W10.4] Error Handling: Logging and Assertions

  • [W10.5] Design Patterns : OPTIONAL

Full ToC


Tasks Summary:

  1. Submit the quiz

Project:

  1. Add individual feature 1
  2. Implement increments Level-9, A-CodingStandard, A-CodeQuality

Week 11 - Mon, Oct 28th

Topics Summary:

  • [W11.1] Sequence Diagrams: Intermediate

  • [W11.2] More Design Patterns : OPTIONAL

  • [W11.3] Java: Streams : OPTIONAL

  • [W11.4] Java: JavaFX : OPTIONAL

  • [W11.5] Java: JAR Files

  • [W11.6] Testing: Types

  • [W11.7] Testing: Intermediate Concepts : OPTIONAL

Full ToC


Tasks Summary:

  1. Submit the quiz

Project:

  1. Improve the individual feature (or add another)
  2. Implement increments Level-10optional, A-Assertions, A-Jar

Week 12 - Mon, Nov 4th

Topics Summary:

  • [W12.1] Reuse

  • [W12.2] Defensive Programming : OPTIONAL

  • [W12.3] Quality Assurance

  • [W12.4] Test Cases: Intro

  • [W12.5] Test Cases: Equivalence Partitioning : OPTIONAL

  • [W12.6] Test Cases: Boundary Value Analysis : OPTIONAL

Full ToC


Tasks Summary:

  1. Submit the quiz

Project:

  1. Finish up the project coding
  2. Prepare the final submission

Week 13 - Mon, Nov 11th

Topics Summary:

  • [W13.1] Other UML Models : OPTIONAL

  • [W13.2] Writing Developer Documents : OPTIONAL

  • [W13.3] Project Mgt: Workflows : OPTIONAL

Full ToC


Tasks Summary:

Project:

  1. Submit the project Sunday 2359