Course Syllabus
Computer Science 32
Spring 2013

Object-Oriented Design and Implementation

Course Description

Advanced topics in object-oriented computing. Topics include encapsulation, data hiding, inheritance, polymorphism, compilation, linking and loading, memory management, and debugging; recent advances in design and development tools, practices, libraries, and operating system support.

C++ is the featured OOP language this quarter, and the featured operating system is Linux.

Pre-requisite

Computer Science 24.

Course Goals

  1. Students learn object-oriented programming (OOP) techniques, through inheritance and polymorphism.
  2. Students learn fundamental concepts of object-oriented design.
  3. Students expand their understanding of operating systems, in support of OOP.

Instruction Schedule

Instructor

Dr. C. Michael Costanzo, mikec@cs.ucsb.edu
Office hours: Friday 10-12, in Phelps 1409B (enter through 1413)

Teaching Assistants

Required Text and Reader

Course Outline

  1. Introductions: course, object-oriented concepts, and Linux
  2. Classes, and processes
  3. Advanced classes, and program building
  4. Inheritance, including polymorphism
  5. Memory concepts and management
  6. Templates, Standard Template Library, and other libraries
  7. More object-oriented and system topics as time permits

Grading Policy

Course grades will be curved on the basis of the following distribution of credit:

Notices