CS 12 - Introduction to Object-Oriented Programming


Introductory programming course emphasizing simple algorithms, sequence, selection, repetition, modularity, arrays, abstract data types, object-oriented design, classes, member functions, encapsulation, and basic file input/output.


Completion of CS 10 or equivalent experience.

Course Outcomes

  1. Solve problems and develop algorithms using control structure abstractions of sequence, selection and repetition.
  2. Write error free Java programs.
  3. Design well documented, readable, and maintainable programs.
  4. Use object-oriented language concepts in software development including encapsulation, abstraction, instantiation, inheritance, composition, and polymorphism.
  5. Apply appropriate data structures and abstract data types in lab assignments.
  6. Incorporate file-handling techniques for data input and output using Java methods for sequential, random, and serialized file organization.
  7. Solve business problems using the Java language for complex problem solving.


Barry Brown (classroom)
Mike Dobeck (classroom)
Tom Owens (online)


This class is offered every semester, including summer, with multiple sections each. It can be taken either in a traditional classroom setting or online.