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.
Week | Topics | Notes, Readings, and
Links | Assignments |
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
|