You are here: Home Current Students Courses 100 Level 20 CS 122: Computer Science II
Document Actions

20 CS 122: Computer Science II

Syllabus:
Course Number 20 CS 122
Credit Hours 3 Undergraduate
Prerequisites 20 CS 121
Catalog Data
Introduction to classes and objects, multi-dimensional arrays, stacks and queues, and abstract data types. Students completing the course successfully should be able to program in the language studied (C++) using general programming principles taught in the course.
Textbooks F.M. Carrano, Data Abstraction and Problem Solving With C++: Walls and Mirrors, latest edition
References
Deitel & Deitel, C++: How to Program, latest edition.
Prerequisites by Topic
Programming in C++ including functions (including parameter passing and an introduction to recursion), control structures, basic datatypes, and arrays. Familiarity with linear and binary search. Top-down design. Ability, given a problem statement, to design and code appropriate functions to modularize program structure.
Goals
Students will learn to describe data abstractly using ADT’s, rather than concretely, and to implement ADT’s using C++ classes. They will use standard ADTs. They will also design their own ADTs to describe foundational objects in aprogram. Students will learn to manipulate linked lists. Students will learn the stack and queue ADT’s, implement them, and learn basic applications of them. Students will learn insertion sort and merge sort and understand, intuitively, the big-O difference.
Topics
  • Introduction to software engineering.
  • Introduction to backtracking as an example of recursion.
  • Abstract data types and their implementation with C++ classes. Data encapsulation and information hiding.
  • Pointers and dynamic variables. Programming linear linked list operations, using both iterative and recursive algorithms.
  • Stacks and queues: definitions; implementations with arrays and with linked lists; and applications.
  • Insertion sort and merge sort. Big-O. Worst-case analysis of insertion sort and merge sort.
  • Choosing ADT’s and their implementation to suit problem descriptions
Labs
5-10 Programming assignments. Possibly also paper-and-pencil assignments
Estimated ABET
Engineering science 3 credits (100%)
Prepared By John Schlipf, Ph.D. on 2006/10/26