Object-Oriented Programming: Principles

Course description

Overview: This course introduces you to general principles underlying the practice of object-oriented programming. The concepts and principles in this course are presented in a generic manner, and as such are intended to prepare the student for programming in virtually any object-oriented programming language. Where specific illustrations are required, they are presented through pseudo-code.

Prerequisites: Windows 95: Introduction or equivalent understanding of computers and operating systems. It is helpful to have already taken Introduction to Programming.

Performance-based objectives

Lesson objectives help students become comfortable with the course, and also provide a means to evaluate learning. Upon successful completion of this course, students will be able to:

*           Explain what constitutes an object-oriented approach to programming, and identify potential benefits of object-oriented programming over other approaches.

*           Describe the following aspects of object-oriented programming: objects, classes, subclassing, inheritance, and polymorphism.

*           List and describe the steps and critical attributes involved in a good software project plan.

*           List and describe key attributes of software analysis and design tools and methodologies.

*           Briefly describe the general benefits of using an object-oriented approach to developing windowed applications, including the use of application frameworks and class libraries.

*           Briefly describe the general benefits of using an object-oriented approach to developing Web applications.

Course content

Lesson 1: Overview and Benefits of Object-oriented Programming

Approaches to Software Design

Evolution of the Object Model

Benefits of Object Programming

Lesson 2: The Object Model

Objects

Classes

Subclassing and Inheritance

Polymorphism

Lesson 3: From Plan to Product

Developing a Plan

Identifying Software Requirements

Designing a General Class Structure

Building a General Application Framework

Implementing Features

Final Polishing

Lesson 4: Tools and Methodologies

Analysis and Design Methodologies

Notations

Lesson 5: Object Programming in Windowed Environments

Benefits of OOP in Windowed Application Environments

Application Frameworks and Class Libraries

Lesson 6: Object Programming for the Web

How Web Applications Work

Web Objects

Building a Simple Object-oriented Program