CS 13 - Intermediate Object-Oriented Programming


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.


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.


Mike Dobeck (classroom, online, hybrid)


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