The CS 2110 logo featuring a bear holding a cup of coffee

Welcome to CS 2110


Object-Oriented Programming and Data Structures

Cornell University - Fall 2026

The CS 2110 logo featuring a bear holding a cup of coffee
This public-facing website serves as the backbone for Cornell's intermediate-level course on programming and software design. Above, you'll find links to many useful resources including the course syllabus, course lecture notes, and assignments, as well as our external course services Gradescope, Ed, and PollEv.

Below is the schedule of lecture topics and deadlines throughout the course. This schedule will be updated as the course proceeds with links to lecture slides and code, discussion worksheets, practice exams, and other useful resources, so check back here regularly.

Day Date Lecture Discussion Assignment
T Aug 25 Lecture 1: Introduction to Java
Discussion 1 Review course syllabus
Install IntelliJ
Complete grading survey
W Aug 26
R Aug 27 Lecture 2: Reference Types and Semantics
A1
T Sep 1 Lecture 3: Method Specifications and Testing
Discussion 2
W Sep 2
R Sep 3 Lecture 4: Loop Invariants
M Sep 7 Labor Day: Office Hours Not Held
T Sep 8 Lecture 5: Analyzing Complexity
Discussion 3
W Sep 9
R Sep 10 Lecture 6: Recursion
A2
T Sep 15 Lecture 7: Sorting Algorithms
Discussion 4
W Sep 16
R Sep 17 Lecture 8: Classes and Encapsulation
T Sep 22 Lecture 9: Interfaces and Polymorphism
Discussion 5
W Sep 23
R Sep 24 Lecture 10: Inheritance
A3
T Sep 29 Prelim 1: 7:30-9:00 PM
Lecture 11: Additional Java Features
Discussion 6
W Sep 30
R Oct 1 Lecture 12: Collections and Generics
T Oct 6 Lecture 13: Linked Data
Discussion 7
W Oct 7
R Oct 8 Lecture 14: Iterating over Data Structures
Oct 12-13 Fall Break: Office Hours Not Held
W Oct 14 No Discussion
R Oct 15 Lecture 15: Stacks and Queues
A4
T Oct 20 Lecture 16: Trees and their Iterators
Discussion 8
W Oct 21
R Oct 22 Lecture 17: Binary Search Trees
T Oct 27 Lecture 18: Heaps and Priority Queues
Discussion 9
W Oct 28
R Oct 29 Lecture 19: Sets and Maps
A5
T Nov 3 Lecture 20: Hashing
Discussion 10
W Nov 4
R Nov 5 Lecture 21: Graphs
Prelim 2: 7:30-9:00 PM
T Nov 10 Lecture 22: Graph Traversals
Discussion 11
W Nov 11
R Nov 12 Lecture 23: Shortest Paths
T Nov 17 Lecture 24: Graphical User Interfaces
Discussion 12
W Nov 18
R Nov 19 Lecture 25: Event-Driven Programming
A6
T Nov 24 Lecture 26: Concurrency
No Discussion
Nov 25-29 Thanksgiving Break: Office Hours Not Held
T Dec 1 Lecture 27: Synchronization
Discussion 13
W Dec 2
R Dec 3 Lecture 28: Real-World Software Engineering
M Dec 7
Final Exam: Date and Time TBA