CS 2112 - Object-Oriented Programming and Data Structures - Honors

General Information

An intensive honors version of CS 2110 - Object-Oriented Programming and Data Structures.


CS 1110 - Introduction to Computing Using Python or AP Credit.

Topics Covered

Generally the same as CS 2110 - Object-Oriented Programming and Data Structures, but in significantly greater detail. In summary: you use data structures in CS 2110, you implement them yourself in CS 2112.


Seven projects, the earlier three of which are individual and the latter four which are paired partner projects that constitute a large “final project.” This class requires significantly more work than 2110 and is more comparable to a 3000 level class like CS 3110 - Data Structures and Functional Programming or CS 3410 - Computer System Organization and Programming.

General Advice

You will learn significantly more, and if you’re serious about Computer Science, this is a much more worthwhile class to take than the non-honors version. That being said, projects are  very  long, and many say the class has required 15-35 hours a week of work.

You will not need the book.

2nd prelim and final is open book/note. but it doesn’t really help. (FA16 note - wasn’t a second prelim nor was the final open book/note)

6000~10000 lines of code for 4~7th project in total


Highly recommended; if you’re on the edge, enroll in it, and switch to CS 2110 - Object-Oriented Programming and Data Structures if you feel it’s too much. (This is encouraged!)

Looking back, I highly recommend taking this course, especially if you intend on majoring in CS. This class definitely prepares you more for upper-level CS classes significantly more than CS 2110 - Object-Oriented Programming and Data Structures does, and the projects have taught me a lot about proper object-oriented code design. Like said before, if it proves to be difficult, you can always drop into 2110 as there is a process that exists for it, even past the drop deadline.

Fall 2016: ‘Failed’ the first prelim (6 points below mean) but still finished with an A. My partner did even worse then me but finished with an A+. In general, due to its high median (A-), failing a prelim or two shouldn’t affect your grade as long as you are good with your projects. A2 is the hardest assignment and requires careful testing for all parts. A4-A7 are fun and less difficult with a reliable teammate. Overall a really fun class where the projects really taught me a lot, however I should’ve studied more carefully for prelim 1, especially for those you-think-you-know old stuffs from APCS, and everything on the class notes are important and will appear on the test.

Past Offerings

Semester Time Professor Median Grade Course Page
Fall 2012 TR 10:10-11:00 AM Andrew Myers A- http://www.cs.cornell.edu/courses/CS2112/2012fa/
Fall 2014 - Andrew Myers   http://www.cs.cornell.edu/courses/CS2112/2014fa/
Fall 2015 - Andrew Myers   http://www.cs.cornell.edu/courses/CS2112/2015fa/
Fall 2016 TR 10:10-11:00 AM Dexter Kozen A- http://www.cs.cornell.edu/courses/CS2112/2016fa/
Fall 2017 TR 10:10-11:00 AM Dexter Kozen A- http://www.cs.cornell.edu/courses/CS2112/2017fa/

Edit this page on Github: classes/CS2112.md

Edit me on GitHub