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 (outline) Methods; Developing a class
6/27 (outline) Constructors, default values, null; interfaces Testing
Subtyping 6/28 Class and interface hierarchy, overriding; Quiz
7/1 Subtyping in practice
7/2 (outline) Overriding and overloading Exceptions
7/3 (outline) 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
7/23
7/24
7/25
7/26
Other topics 7/29
7/30
7/31
8/1
8/2
Exam 8/6 Exam

Rest of schedule coming soon

Course staff, discussions, and office hours