CS 3340 Introduction to Object Oriented Programming and Design (4) 2005

Catalog Description

Programming in an object-oriented language, using object-oriented techniques and concepts. Classes, information hiding, inheritance, and polymorphism. Memory management. Parameterized classes. Exception handling. Object-oriented design of programs. Prerequisites: CS 3240, and knowledge of C or C++.

Topics include:

  • Overview of object-oriented software development, including history and goals, phases of development, principles (abstraction, modularity, hierarchy, etc.)
  • Structure and Organization of an Object-Oriented Program. Classes and Objects.
  • Organization of data in Objects, classes and methods. Instance variables, class variables, local variables and constants.
  • Organization of the name space. Packages.
  • Access controls and encapsulation.
  • Methods in classes: class methods and instance methods, method overloading.
  • Initialization, static initializers, constructors, constructor chaining.
  • Memory management, allocation and deallocation of objects. Deallocation alternatives, garbage collection versus explicit deallocation.
  • Error handling and exceptions.
  • Relationships among objects and classes, "is-a" "has-a" and "uses" relationships. Inheritance, method overriding, and polymorphism. Multiple inheritance versus interfaces. Aggregation.
  • Introduction to Object Oriented Design, decomposition of applications into classes and objects.
  • Event-driven applications. Programming with GUI Objects.

Texts

  • Lyon, Java for Programmers, Pearson
  • Horstman & Cornell, Core Java 2, Vol 1, Prentice Hall
  • Wang, Java and Object Oriented Progamming, Thompson Learning
  • Pender, UML Weekend Crash Course, Wiley