ICS212 Object Oriented Programming

Welcome to ICS212 Object Oriented Programming

2 / 2011

Instructor: Dr. Seung Hwan Kang (Ken)

Provisional Schedule: TU/TH 2:30 – 4:30 P.M., PC301/2


ICS212 Object-Oriented Programming 3 (2-2-5) credits

Prerequisite: ICS110 Computer Programming I

Course Description

Introduction to principle concepts used in object-oriented programming such as definition and characteristics of object-oriented languages, object, classes, encapsulation, inheritance, and polymorphism. The course includes object-oriented design and techniques of object-oriented programming.

Course Objectives

On completion of this course the students will be able to:

  • Understand the use of object oriented approach to programming.
  • Develop skills in using the object oriented concepts of inheritance, encapsulation, construction, access control, overloading and messaging
  • Develop and display competency in the design and implementation of object-oriented programming to solve business problems
  • To define and use the concept of an object in an object-oriented programming development environment


  • Liang, Y. Daniel (2010) Introduction to Java Programming, Comprehensive Version,
    8th edn., Pearson Education International. (required)

Supplementary reading materials

  • Blaha, R. Michael and Rumbaugh, R. James (2004) Object-Oriented Modeling and Design with UML, 2nd edition, Prentice Hall.
  • Bruegge, Bernd and Dutoit, H. Allen (2004) Object-Oriented Software Engineering: Using UML, Patterns, and Java, 2nd edn., Pearson/Prentice-Hall.
  • Eck, J. David (2011) Introduction to Programming Using Java, http://math.hws.edu/javanotes/.
  • Eden, H. Amnon (2002) A Theory of Object-Oriented Design, Information Systems Frontiers, 4:4:, 379-391, Kluwer Academic Publishers.
  • Deacon, John (2005) Object-Oriented Analysis and Design, Addison-Wesley.
  • Downey, B. Allen, (2011) How to Think like a Computer Scientist, Java Version, http://www.greenteapress.com/thinkapjava/.
  • Fowler, Martin (1999) Refactoring: improving the design of existing code, Boston, Mass., Addison-Wesley.
  • Gamma, E., Helm, R., Johnson, R. And Vissides, M. J. (1994) Design Patterns: Elements of Reusable Object-Oriented Software, 1st edition, Addison-Wesley Professional.
  • Getting Started with Java DB (2009), Sun Microsystems, Inc, http://developers.sun.com/javadb/.
  • Java Code Conventions (1997) Sun Microsystems, Inc, http://java.sun.com/docs/codeconv/.
  • Java Development Kit (JDK) documentation, Sun Microsystems, Inc, http://java.sun.com/javase/6/docs/api/.
  • Martin, Cecil Robert (2002) UML for Java Programmers, Prentice Hall.
  • NetBeans IDE, Sun Microsystems, Inc, http://www.netbeans.org/.
  • Rumbaugh, J. Jacobson, I. and Booch, G. (1999) The Unified Modeling Language Reference Manual, Addison-Wesley.
  • Stevens, Perdita and Pooley, Rob (2006) Using UML: Software engineering with objects and components, 2nd edition, Addison-Wesley.
  • The Java Tutorials, Sun Microsystems, Inc, http://java.sun.com/docs/books/tutorial/index.html.

Any readings and references are recommended only and are not intended to be an exhaustive list. Students are encouraged to use the library catalogue and databases to locate additional readings.

All other subject materials will be posted via e-Learning (http://elearning.payap.ac.th)

  • ICS212_2.2011_Course_Syllabus.pdf


NOTE: This is provided for information purposes, and is intended for non-commercial use only.

2 / 2010

by Joshua Rideout

Chiang Mai Pizza Shop is a small business selling pizza. The owner wants to computerise the pizza ordering system. Students must use object-oriented concepts throughout the entire software development processes with the dominant OO programming language. The following shows his meal ordering system with GUI.

2 / 2009

by Danielle Drake

The hospital has been keeping its patient’s breast cancer records manually. The hospital now wants to computerize them. To improve prescribing practices, a computerized system should provide patient-specific treatments as part of the decision support process. Thus a specific feature of clinical decision support system is crucial. Students are asked to develop the system using the Java programming language. The following shows her work using a Java DB in a desktop application: