Course CSE114
Title Introduction to Object-Oriented Programming
Credits 4
Course Coordinator

Rob Kelly


An introduction to procedural and object-oriented programming methodology. Topics include program structure, conditional and iterative programming, procedures, arrays and records, object classes, encapsulation, information hiding, inheritance, polymorphism, file I/O, and exceptions. Includes required laboratory. This course has been designated as a High Demand/Controlled Access (HD/CA) course. Students registering for HD/CA courses for the first time will have priority to do so.

Bulletin Link

Prerequisite Prerequisite: Level 5 or higher on the math placement exam

Advisory Prerequisite: CSE 101 or ISE 108

Course Outcomes
  • An ability to program in an object oriented language, using concepts such as object classes, encapsulation, inheritance, and polymorphism.
  • An ability to use fundamental data structures such as arrays..
  • An ability to program with sound code structure and use systematic software debugging and testing techniques.

Y. Daniel Liang, Introduction To Java Programming, Comprehensive Version. Pearson, 11th ed., 2017.

Major Topics Covered in Course
  • Introduction to Objects in Java, using predefined objects (e.g. String)
  • Review of program control statements: conditionals and loops with an introduction to formal methods (preconditions, post conditions, loop invariant)
  • Writing more complex classes.
  • Arrays and the ArrayList class.
  • Inheritance and polymorphism in Java, simple examples, the Java class hierarchy.
  • Exceptions and File I/O.
  • Documenting sources of code

Each lab is run in a closed setting, where students must hand in a solution at the end of the lab.

Course Webpage