CCOG for CS 162 Winter 2025


Course Number:
CS 162
Course Title:
Computer Science II
Credit Hours:
4
Lecture Hours:
30
Lecture/Lab Hours:
0
Lab Hours:
30

Course Description

Explores classes, pointers, dynamic memory, linear linked lists, multi-dimensional arrays, program correctness, verification, and testing. Recommended: MTH 111 and WR 121. Audit available. Prerequisites: CS 161B or (CS 161 and CS 140U).

Addendum to Course Description

Students will complete several lab/programming exercises using object oriented programming techniques. This course is transferable to a four year institution and is applicable toward an Associate of Science or Associate of Applied Science Degree.

Intended Outcomes for the course

Upon completion of the course students should be able to:

  1. Create intermediate computer programs to implement algorithms that solve problems involving dynamic lists.
  2. Apply ethical practices to program development as determined by the Association for Computing Machinery Code of Ethics.
  3. Apply object-oriented design principles to software design.
  4. Assess software usability, end-user compatibility, data abstraction, and information hiding.

Outcome Assessment Strategies

Students will complete software project(s) comprised of object-oriented designs, implementations, and test plans.

  • Designs will demonstrate the use of good object-oriented design principles.
  • Implementations will include C++ stream input/output and file processing.
  • Test plans will include test cases demonstrating both black and glass box testing strategies.

Students will demonstrate competency on exam(s) which are constructed to demonstrate:

  • Written technical communication and effective use of terminology
  • Facility with programming language syntax and semantics
  • Ability to read and understand specifications, designs and programs
  • Application of concepts
  • Individual capability in design, implementation and testing of program components

Course Content (Themes, Concepts, Issues and Skills)

  • C++ Language Topics
    •    structure of C++ programs, C++ statements, data types, operators
    • conditional, repetitions
    • arrays
    • c-strings
    • functions
    • recursion
    • recursion vs iteration
    • classes
    • separate interface/implementation
    • private/protected/public
    • constructors/destructors
    • accessor functions
    • const member functions
    • composition
    • "this" pointer
    • new/delete operators
    • copy constructor, deep copy
    • overloading assignment operator
    • input/output
    • stream I/O
    • stream states
    • manipulators
    • random access file processing
    • string class
    • string streams
    • bitwise operators
  • data structures
    • singly linked lists
    • stack
    • queue
  • Additional Topics
    • information hiding
    • encapsulation
    • abstract data types