ICS 141

Programming with Objects

4 Undergraduate credits
Effective August 16, 2017 – Present

Graduation requirements this course fulfills

Structure, design, and implementation of object-oriented computer programs. Topics include objects, classes, GUI, and layout managers. Introduction to containment, inheritance, and polymorphism. Programming projects involving multiple classes. Emphasis on methods, parameter passing, and arrays of objects. Exploration of problem-solving and algorithm-design techniques using pseudocode, Unified Modeling Language (UML) class diagrams, and simple patterns. Design of good test cases and debugging techniques.

Special information

Note: This class uses the Java language. Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.

Learning outcomes


  • Create, compile, test, and debug Java programs using an Integrated Development Environment (such as Eclipse).
  • Employ standard Java coding conventions, proper programming style, and appropriate documentation conventions.
  • Apply inheritance, information hiding, and polymorphism to solve problems.
  • Apply stepwise refinement, design techniques, and the Unified Modeling Language (UML).
  • Design and implement object-oriented applications based on problem statements.
  • Use event handling, Graphical User Interface (GUI) gadgets and layout managers to create friendly user interfaces and applications.
  • Develop applications that process data from multiple external streams.
  • Develop robust programs using exception handling.