This page tracks the class, giving a description of the lecture, the associated reading assigned that day, and any homework assigned that day.
| Date | Topics | Materials | Readings & Videos | Homework |
|---|---|---|---|---|
| Wed, Sept. 7 | Introduction | → Slides |
→ Read OODP Chapter 1 → Read Unit Testing Intro & Pt 1 → Read TDD Intro & Pt 1 |
→ Find teammates → Team survey → hw0 → hw1 (due Sept 16th 11:55pm) |
| Mon, Sept 12 | OOP Principles; Java Intro; Test-driven Development |
→ Slides → Point.java → Type-Safe Enums |
→ Read CFJP ch. 0, 1, 2, and 4 up to and excluding 4.6 → Experiment with point.cpp |
|
| Wed, Sept 14 | Java & C++: Names, Sources & Binaries |
→ Slides → point.cpp → C++ Guide → References & Pointers |
→ Read OODP Chapter 2 → Watch OO Domain Modelling |
|
| Mon, Sept 19 | Project Description |
→ Slides → Teams |
→ Read Git basics → Read Sbt directory structure → Read Sbt commands → Read JUnit intro & Pt 1 → Read Junit assertions |
|
| Wed, Sept 21 | OOAD; Design Patterns; Chain of Responsibility; Git; Sbt; Junit |
→ Slides → Cor.java → Git: Simple Guide → Git cheat sheet → Git book → Junit Cookbook |
→ Read Git tutorial → Read Git branching tutorial |
|
| Mon, Sept 26 | Xtc Visitors; In-class Exercise (Bring laptop!) |
→ Slides → Team exercise |
→ Read OODP ch. 6.1 & 7.3 → Read CFJP ch. 6.1 & 6.2 |
→ hw2 (due Oct 9th 11:55pm) |
| Wed, Sept 28 | Inheritance; Dynamic Dispatch; Project Kick-off |
→ Slides → color-point.cpp → virtual-methods.cpp → Project kickoff |
→ Read Virtual method table Intro & Pt 1 → Experiment with virtual-methods.cpp |
|
| Mon, Oct 3 | Vtables; Implementing Inheritance & Virtual Methods |
→ Slides → java-lang.cpp → function-pointers.cpp |
→ Read Function pointer Intro & Pt 1 → Experiment with function-pointers.cpp |
|
| Wed, Oct 5 | Implementing Inheritance & Virtual Methods Continued; In-class Exercise (Bring laptop!) |
→ Slides → Team exercise |
→ Experiment with java-lang-1.cpp |
→ hw3 (due Oct 16th 11:55pm) |
| Mon, Oct 10 | Fall Recess - No classes | |||
| Wed, Oct 12 | In-class Exercise Solution; Xtc features; Coding Style |
→ Slides |
→ Read Java Generics tutorial → Read CFJP ch. 7 |
|
| Mon, Oct 17 | Arrays in Java and C++; Array Translation Approach |
→ Slides |
→ Experiment with java-lang-2.cpp |
|
| Wed, Oct 19 | Parametric Polymorphism in Java & C++; A Better Array Translation Approach |
→ Slides → Generics.java → templates.cpp |
→ Experiment with java-lang-3.cpp |
|
| Mon, Oct 24 | Templates & Array Translation; In-class Exercise (Bring laptop!) |
→ Team exercise |
→ Read C++ template tutorial |
Peer reviews due Oct 28th |
| Wed, Oct 26 | In-class Project Working Session (Bring laptop!) | |||
| Mon, Oct 31 | In-class Exercise Solution; Inheritance is Terrible |
→ Slides |
||
| Wed, Nov 2 | Method Overriding Revisited & Method Overloading in Java |
→ Slides |
||
| Mon, Nov 7 | Midterm Project Presentations |
→ Submission & presentation → Evaluation criteria |
Midterm translator due by 2pm | |
| Wed, Nov 9 | Midterm Project Presentations con't | |||
| Mon, Nov 14 | Constructor Translation; Method & Operator Overloading in C++ |
→ Slides → overloading.cpp → java-lang-4 |
→ Experiment with java-lang-4.cpp → Read Super-constructor tutorial |
|
| Wed, Nov 16 | In-class Exercise (Bring laptop!) |
→ Team exercise |
→ Read Symbol table tutorial |
|
| Mon, Nov 21 | Scope & Symbol Tables; In-class Exercise (Bring laptop!) |
→ Slides → Team exercise |
→ Read CFJP Ch. 3.3, 4.6 & 6.3 → Read Java garbage collection → Experiment with Xtc's Symbol Table |
|
| Wed, Nov 23 | Thanksgiving Recess - no classes | |||
| Mon, Nov 28 | Memory Management in C++ & Java |
→ Slides → value-vs-reference.cpp |
→ Read Smart pointer tutorial |
|
| Wed, Nov 30 | Smart Pointers in C++; In-class Exercise (Bring laptop!) |
→ Slides → Team exercise → java-lang-5 |
→ Experiment with java-lang-5.cpp |
|
| Mon, Dec 5 | Definition Inheritance; Multiple Inheritance |
→ Slides → multiple-inheritance.cpp → virtual-methods.cpp |
→ Read OODP ch. 10 → Multiple Inheritance Impl |
|
| Wed, Dec 7 | Design Patterns |
→ Slides → DesignPatterns.java |
||
| Mon, Dec 12 | Final Exam Review |
→ Final exam guide → Final review |
||
| Tues, Dec 13 (Legislative Day) | In-class Project Working Session (Bring laptop!) | |||
| Wed, Dec 14 | Final Exam | |||
| Monday, December 19 2:00PM - 3:50PM @ WWH 312 |
Final Project Presentations |
→ Final project guide → Evaluation criteria |
Final translator due by 2pm Peer reviews due by 2pm |