CS 2110

CS 2110

Course information provided by the 2026-2027 Catalog.

Intermediate programming in a high-level language and introduction to software engineering. Topics include object-oriented programming (objects, classes, subtypes, encapsulation, polymorphism), program correctness (specifications, invariants, testing), algorithm analysis (asymptotic complexity, big O notation), recursion, data structures (lists, trees, stacks, queues, heaps, hash tables, graphs), iteration and searching/sorting, graph algorithms, and concurrent and event-driven programming (graphical user interfaces, synchronization). Java is the principal programming language.


Prerequisites CS 1110 or CS 1112 or equivalent.

Distribution Requirements (SMR-AS), (STA-IL)

Last 4 Terms Offered 2026FA, 2026SP, 2025FA, 2025SP

Learning Outcomes

  • Employ recursion and object-oriented programming concepts (e.g., classes, interfaces, polymorphism, inheritance) to solve computational problems.
  • Design, implement, and verify nontrivial Java programs (roughly 1000 lines of code), starting from an English language specification, leveraging features like encapsulation and unit tests to improve maintainability.
  • Build and modify event-driven graphical user interfaces (GUIs) expressed in Java.
  • Analyze the asymptotic complexity of algorithms and programs to evaluate their running times and memory requirements.
  • Implement basic data structures taught in the course (linked lists, binary search trees, heaps, hash tables, adjacency lists) and be able to use them in programs.

View Enrollment Information

Syllabi: none
  •   Regular Academic Session.  Choose one lecture and one discussion. Combined with: ENGRD 2110

  • 4 Credits Opt NoAud

  •  6582 CS 2110   LEC 001

    • TR
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

    For Bowers Computer and Information Science (CIS) Course Enrollment Help, please see: https://tdx.cornell.edu/TDClient/193/Portal/Home/

  •  6583 CS 2110   DIS 201

    • T
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

  •  6584 CS 2110   DIS 202

    • W
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

  •  6585 CS 2110   DIS 203

    • W
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

  •  6586 CS 2110   DIS 204

    • W
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

  •  6587 CS 2110   DIS 205

    • W
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

  •  6588 CS 2110   DIS 206

    • W
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

  •  6589 CS 2110   DIS 207

    • W
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

  •  6590 CS 2110   DIS 208

    • W
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

  •  6591 CS 2110   DIS 209

    • W
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

  •  6592 CS 2110   DIS 210

    • T
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

  •  6593 CS 2110   DIS 211

    • W
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person

  •  6594 CS 2110   DIS 212

    • W
    • Jan 25 - May 11, 2027
    • Tani, E

  • Instruction Mode: In Person