CS 13 - Intermediate Object-Oriented Programming

Description

Intermediate programming course emphasizing object-oriented program design and implementation. Applying techniques for systematic problem analysis, program specification, design, coding testing, debugging and documentation of larger programs. Advanced language features: strings, text and non-text files, references. Managing program complexity using abstraction. Abstract data types: simple lists, stacks and queues. Introduction to algorithm analysis and Big-O notation. Recursive algorithms.

Prerequisites

Completion of CS 12 or equivalent experience.

Course Outcomes

  1. Implement classes based on a provided specification.
  2. Produce intermediate size programs built from existing classes and classes implemented by the learner.
  3. Write software that demonstrates knowledge of software craftsmanship practices such as modularity, encapsulation, inheritance, polymorphism and overloading.
  4. Create programs that use the stack and queue data structures.
  5. Use debugging techniques to resolve logical errors in programs.
  6. Implement linear lists with arrays and linked objects.
  7. Write programs that make use of text files and serialized.
  8. Implement a recursive algorithm.
  9. Incorporate proper style, documentation and appropriate design decisions into their software.

Faculty

Mike Dobeck (classroom, online, hybrid)

Availability

This course is offered every semester (except summer) in both traditional classroom settings and online.