Part-Time Programs in Engineering and Applied Science, Johns Hopkins University

Object-Oriented Programming with C++
605.404


Course Description
This course introduces the fundamental principles and technology of object-oriented programming, with emphasis on the C++ programming language. Topics include data abstraction, information hiding, encapsulation, inheritance, polymorphism, templates, exceptions, and object-oriented considerations for software design and reuse.

Additional Course Information

Syllabus

  1. Introduction to OO, C++ Enhancements to C
  2. Classes & Objects
  3. Use Cases & Scenarios
  4. C++ Classes, Aggregation
  5. Inheritance, Polymorphism
  6. C++ Class Design, IO Streams, Persistence
  7. Templates
  8. Memory Management (Reference Counting, Overloading New & Delete), Error Handling & Exceptions
  9. Standard Template Library (STL)
  10. Final Project Demonstrations

Prerequisites
Knowledge of C.

Instructor
Jim Stafford is a Principal Consultant with RABA Technologies, Inc. Mr. Stafford holds a M.S. in computer science from the Johns Hopkins University and a B.A. in physics from Gettysburg College. Mr. Stafford works primarily as an OO project mentor for the Department of Defense, specializing in areas of C++ and CORBA.
E-mail the instructor.

Computer Lab Requirements
Access to a C++ compiler is required. This course addresses a compiler-neutral view of OOP/C++. Most current versions of commercial C++ compilers will be sufficient to complete all class assignments. The computers in the lab will be equipped with Borland C++.

Textbook
Object Models, Strategies, Patterns, & Applications, by Peter Coad, 1995, Yourden Press.
C++ Primer, Third Edition, by Stanley Lippman and Josee Lajoie, 1998, Addison-Wesley.


Return to Computer Science Courses | Computer Science  | Part-Time Engineering

Summer 1999