Welcome to CS 2110
Object-Oriented Programming and Data Structures
Cornell University - Spring 2026
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 | Jan 20 |
Lecture 1: Introduction to Java |
Discussion 1: Coding in IntelliJ |
Review course syllabus Install IntelliJ Complete grading survey |
| W | Jan 21 | |||
| R | Jan 22 |
Lecture 2: Reference Types and Semantics |
A1 | |
| T | Jan 27 |
Lecture 3: Method Specifications and Testing |
Discussion 2 | |
| W | Jan 28 | |||
| R | Jan 29 |
Lecture 4: Loop Invariants |
A2 | |
| T | Feb 3 |
Lecture 5: Analyzing Complexity |
Discussion 3 | |
| W | Feb 4 | |||
| R | Feb 5 |
Lecture 6: Recursion |
A3 | |
| T | Feb 10 |
Lecture 7: Sorting Algorithms |
Discussion 4 | |
| W | Feb 11 | |||
| R | Feb 12 |
Lecture 8: Classes and Encapsulation |
A4 | |
| Feb 14-17 | February Break: Office Hours Not Held | |||
| W | Feb 18 | |||
| R | Feb 19 |
Lecture 9: Interfaces and Polymorphism |
||
| T | Feb 24 |
Lecture 10: Inheritance |
Discussion 5 | |
| W | Feb 25 | |||
| R | Feb 26 | Lecture 11: Additional Java Features | A5 | |
| T | Mar 3 |
Lecture 12: Collections and Generics |
Discussion 6 | |
| W | Mar 4 | |||
| R | Mar 5 |
Lecture 13: Linked Data |
A6 | |
| T | Mar 10 |
Lecture 14: Iterating over Data Structures |
Discussion 7 | |
| W | Mar 11 | |||
| R | Mar 12 |
Lecture 15: Stacks and Queues |
||
|
Prelim 1: 7:30-9:00 PM |
||||
| T | Mar 17 |
Lecture 16: Trees and their Iterators |
Discussion 8 | |
| W | Mar 18 | |||
| R | Mar 19 |
Lecture 17: Binary Search Trees |
A7 | |
| T | Mar 24 |
Lecture 18: Heaps and Priority Queues |
Discussion 9 | |
| W | Mar 25 | |||
| R | Mar 26 |
Lecture 19: Sets and Maps |
||
| Mar 28 - Apr 5 | Spring Break: Office Hours Not Held | |||
| T | Apr 7 |
Lecture 20: Hashing |
Discussion 10 | |
| W | Apr 8 | |||
| R | Apr 9 |
Lecture 21: Graphs |
A8 | |
| T | Apr 14 |
Lecture 22: Graph Traversals |
Discussion 11 | |
| W | Apr 15 | |||
| R | Apr 16 |
Lecture 23: Shortest Paths |
A9 | |
| T | Apr 21 |
Lecture 24: Graphical User Interfaces |
Discussion 12 | |
|
Prelim 2: 7:30-9:00 PM |
||||
| W | Apr 22 | Discussion 12 | ||
| R | Apr 23 |
Lecture 25: Event-Driven Programming |
||
| T | Apr 28 |
Lecture 26: Concurrency |
Discussion 13 | |
| W | Apr 29 | |||
| R | Apr 23 |
Lecture 27: Synchronization |
||
| T | May 5 |
Lecture 28: Real-World Software Engineering |
||
| TBA | TBA | Final Exam | ||