CS 2110: OOP and Data Structures

Important information

Schedule

(See also the Spring 2019 lecture notes)

All demos can be found here

Topic Date Lecture notes Additional material
OOP 6/24 Introduction, types
6/25 Objects, fields, and methods Java fundamentals
6/26 Methods; Developing a class
6/27 Constructors, default values, null; interfaces Testing
Subtyping 6/28 Class and interface hierarchy, overriding; Quiz
7/1 Subtyping in practice
7/2 Overriding and overloading Exceptions
7/3 Generics and subtyping
Recursion 7/8 Recursion
7/9 Recursion Comparators
Trees 7/10 Trees
7/11 Tree traversals Iterators
Complexity 7/12 Quiz; big-O
7/15 Heaps & complexity
7/16 Loop invariants P3 help
7/17 Iterative sorts
7/18 Recursive sorts Loops
7/19 Sorting wrapup
Graphs 7/22 Graphs
7/23 Depth-first and breadth-first search Refactoring
7/24 Dijkstra's algorithm
7/25 Minimum spanning trees Office hours
7/26 Topological sort and coloring
Other topics 7/29 Hash tables
7/30 Concurrency Office hours
7/31 Monitors
8/1 GUI Layout Office hours
8/2 GUI Interaction
Exam 8/6 Exam (Study guide)

Rest of schedule coming soon

Course staff, discussions, and office hours