COMP 170: Introduction to Object-Oriented Programming

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

Credit Hours



Students are required to have taken MATH 117: College Algebra as a prerequisite or to have been placed in MATH 118: Precalculus or placement or COMP 125: Visual Information Processing or COMP 150: Introduction to Computing or COMP 163: Discrete Structures or permission. Experience programming in a procedural or object-oriented language recommended.

Alternatively, students can take any one of the following courses as a prerequisite or as a co-requisite:


This course is an introduction to the computer science major, covering basic concepts using the C# (C-Sharp) 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.

Course Goals

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

  1. Write good programs of small to medium size – programs that are correct, high quality, and use correct and appropriate Object Oriented Programming techniques.
  2. Reuse classes and Application Programming Interfaces (APIs) developed by others, especially the standard library APIs.
  3. Understand and recognize proper programming style and demonstrate making design decisions consistent with Object Oriented methodologies.
  4. Be able to read, understand, and interpret programs written by others in the same language.


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.


Semester/Year Instructor URL
Spring 2015 Dr. Thiruvathukal
Spring 2014 Dr. Yacobellis
Spring 2013 Dr. Harrington