CCOG for CS 162 archive revision 202102

You are viewing an old version of the CCOG. View current version »

Effective Term:
Spring 2021 through Summer 2021

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.

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.

Quantitative Reasoning

Students completing an associate degree at Portland Community College will be able to analyze questions or problems that impact the community and/or environment using quantitative information.

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