CS 2102 (B15): Object-Oriented Design Concepts
Lectures and Assignments


Home | Staff and Office Hours | Lectures and Assignments | InstructAssist | Software and Materials | Policies


Separate pages contain information on grading and tips for learning effectively in this course.

Assignment Formatting Instructions

Notes from Christina's Thursday help sessions


Due Dates (Exams, Homeworks, Quizzes, and Clickers)

Exam 1 will be in-class (on paper) on Thursday, November 19.
Exam 2 will be in-lab (programming on computer) on Wednesday, December 9.
Exam 3 will be in-class (on paper) on Tuesday, December 15.

Homeworks will be due each week, usually on Tuesday night (11:59pm). Homeworks will cover material through Friday lecture, and will be posted each Wednesday. For some assignments, we may ask you to submit a small part of the assignment in advance (by Friday afternoon). Details will be on each individual assignment. For most assignments, you will also complete a short survey in myWPI immediately after completing the assignment.

Quizzes will be given roughly 3 times during the term, done online through myWPI. Dates will be announced at least three days in advance of each quiz.

Clickers will be used in class for a variety of activities.


Class Schedule

Notes will be posted for every lecture. Single notes files often cover multiple lectures. Items marked "Bloch Reading" are optional for those who have the Bloch Java book--they are not required reading.

WeekTopicsNotes, Readings, and LinksAssignments
October 27-30 Migrating to Java Notes: Migrating to Java
Bloch Reading: Item 18
Bloch Reading: Item 19
Extra: For students without CS1101/1102
Extra: Graphical overview of 2102 topics
Practice: Practice with Classes
Practice: Practice with Methods
Practice: Practice with Interfaces
Survey: On your background (in myWPI) -- due Friday, Oct 30 11pm
ToDo: Get a clicker from the ATC before class on Friday, October 30
Lab: for those new to Java
Lab: for those who know Java
Prep for Friday
Homework 1 (standard and advanced) (due Tuesday, Nov 3, 11:59pm)
Nov 2-6 Trees
Abstract Classes
Data Structures for Sets
Notes (Monday): end of last week's migration notes
Notes (Tuesday): Abstract classes [PPTX | PDF ]
Notes (Thurs): Intro to data structures
Notes (Thurs/Fri): BSTs and AVL trees
Handout: Starter file for Tuesday
Code: Monday's family tree code
Code: Family tree code with advanced use of constructors
Prep for Monday
Lab 2 (new to Java)
Lab 2 advanced (know Java)
Homework 2 (Standard and Advanced) (due Tuesday, November 10, 11:59pm)
Nov 9 - 13 Heaps
Switching Sets
Java Lists
Map and Filter
Notes: Heaps
Notes: Interfaces for Sets
Handout: Starter file for Tuesday BSTs
Notes: Lists in Java
Notes: Predicates (lambdas) as arguments
Lab 3 Standard -- Design Practice
Lab 3 Standard -- Trees Practice
Lab 3 Advanced
Hwk 3 (everyone)
Nov 16 - 20 Planning
Midterm (Thursday)
OO Design Review
Notes (Tuesday): Planning
Exam Prep: Midterm prep guide
Code: Starter file for Friday
Lab 4 Standard: Lists and Planning
Lab 4 Standard: input/output in Java
Lab 4 Advanced: map/filter in Java
Lab 4 Advanced: Heap-Implementation Challenge
Hwk 4: Program Plans (everyone)

Nov 23 - 24 Encapsulation
Access Modifiers
Notes: Access Modifiers and Encapsulation
Code: Code at the end of Monday
Nothing out this week: no lab or homework. Enjoy the break!
Nov 30-Dec 4 Exceptions
Hashmaps
Generics
Code: Monday starter file
Notes: Exceptions (Mon/Tues)
Code: Tuesday starter file
Notes: Hashtables
Code: addCust Choices (won't compile)
Code: Banking With Screen
Code: Design Exercise 2
Notes: Data Abstraction (Generics)
Quiz: in myWPI (due Tuesday Dec 1, 11:59pm)
Lab 5 Standard: Testing Exceptions; Main classes
Lab 5 Advanced: Infinite Trees
Homework 5
Dec 7-11 Graphs
Exam Prep: Programming Exam prep guide
Notes: Graphs Intro
Code: End of Monday/Tuesday starter file
Notes: Avoiding Infinite Loops
Code: Tuesday: visited lists
Code: Tuesday: checked-flags
Notes: Returning Routes
Extra (optional): Encapsulating Routes
Lab: The Programming Exam (Bring photo ID)
Homework 6 (due Wednesday, Dec 16, noon)
Dec 14-17 Challenge of Mutation
Course Evals (Monday)
Final Exam (Tuesday)
Wrap Up
Exam Prep: Final prep guide
No Labs this week