Under construction

Announcements

  • Welcome to CS 2112! This website is still under construction and being updated for the Fall 2022 semester.
  • The syllabus for the course can be found on info tab.
  • Please note that all students in the course are expected to abide by the Cornell University Code of Academic Integrity. Any work submitted by a student in this course for academic credit must be the student’s own work.
  • Auditing the course will not be permitted this semester.

Overview

CS 2112/ENGRD 2112 is an honors version of CS 2110/ENGRD 2110. Credit is given for only one of 2110 and 2112. Transfer between 2110 and 2112 (in either direction) is encouraged during the first three weeks. We cover intermediate software design and introduce some key computer science ideas. The topics are similar to those in 2110 but are covered in greater depth with more challenging assignments. Topics include object-oriented programming, program structure and organization, program reasoning using specifications and invariants, recursion, design patterns, concurrent programming, graphical user interfaces, data structures, sorting and graph algorithms, asymptotic complexity, and simple algorithm analysis. Java is the principal programming language.