Courses of Study 2018-2019 
    Jul 23, 2018  
Courses of Study 2018-2019
[Add to Favorites]

CS 2110 - Object-Oriented Programming and Data Structures

(crosslisted) ENGRD 2110  
Fall, Spring, Summer. 3 credits. Student option grading.

Prerequisite: CS 1110  or CS 1112  or CS 1114  or CS 1115  or equivalent course on programming in a procedural language.


Intermediate programming in a high-level language and introduction to computer science. Topics include object-oriented programming (classes, objects, subclasses, types), graphical user interfaces, algorithm analysis (asymptotic complexity, big “O” notation), recursion, testing, program correctness (loop invariants), searching/sorting, data structures (lists, trees, stacks, queues, heaps, search trees, hash tables, graphs), 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: Understand graphical user interfaces (GUIs), as expressed in Java.

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.

[Add to Favorites]