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