COMP 170: Introduction to Object-Oriented Programming

Course Information


This programming intensive course with its weekly lab component introduces basic concepts of object-oriented programming in a language such as Java.


This course is an introduction to the computer science major, covering basic concepts using an object-oriented(OO) programming language.

The course addresses the following questions:

  • What is an algorithm?

  • How does one write, debug, run (“execute”), and test an effective computer program?

  • How does one convert an algorithm into a computer program?

  • How does one judge a program?

  • What does “object-oriented” mean?

Topics include: variables, data types, input/output, loops and repetition, choice, arrays, subprograms, classes/objects, OO principles, and recursion.


Ability to take a problem, break it into parts, specify algorithms, and express a solution in terms of variables, data types, input/output, repetition, choice, arrays, subprograms, classes, and objects; ability to judge a good program.

Upon successful completion of the course, the student will be able to:

  • Write good programs of small to medium size – programs that are correct, high quality, and use correct and appropriate Object Oriented Programming techniques.

  • Reuse classes and Application Programming Interfaces (APIs) developed by others, especially the standard library APIs.

  • Understand and recognize proper programming style and demonstrate making design decisions consistent with Object-Oriented methodologies.

  • Be able to read, understand, and interpret programs written by others in the same language.


See the Current Course Syllabi.