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

Welcome to CS 2110


Object-Oriented Programming and Data Structures

Cornell University - Spring 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 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