Course description

Intermediate programming in a high-level language and introduction to computer science. Topics include program structure and organization, object-oriented programming (classes, objects, types, sub-typing), graphical user interfaces, algorithm analysis (asymptotic complexity, big O notation), recursion, data structures (lists, trees, stacks, queues, heaps, search trees, hash tables, graphs), simple graph algorithms. Java is the principal programming language.

Outcome 1: Be fluent in the use of recursion and object-oriented programming concepts (e.g. classes, objects, inheritance, and interfaces).

Outcome 2: Be able to design and implement nontrivial Java programs (roughly 1000 lines of code), starting from an English language specification.

Outcome 3: Be able to design graphical user interfaces (GUIs).

Outcome 4: Understand asymptotic complexity of algorithms and be able to analyze programs to determine their running times.

Outcome 5: Understand basic data structures taught in the course and be able to implement them and use them in programs.

Prerequisites

CS 1110 or CS 1112 or equivalent course on programming in a procedural language.

No upcoming classes were found.

Previously offered classes

Summer 2022: Ithaca campus

Section ID:CS 2110 001-LEC
Number:1306
Session:Summer 6-week
Class dates:June 21-July 29, 2022
Final exam/project due:Tuesday August 02, 8:30 AM - 11 AM / Kimball Hall B11 (see Final exams)
Time / room:M-F 10 AM - 11:15 AM / Kimball Hall B11
Mode of instruction:In person
Credit:3
Grade:Student option
Instructor:Vanhattum, A. (amv94)
Max. enroll:70
Related:Cross-listed with ENGRD 2110 001-LEC
To enroll:Enrollment for this class is closed.

This course is open to all registrants, including undergraduates and precollege students.