Course Syllabus
Computer Science 32
Fall 2017

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 with a grade of C or better.

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: Monday and Wednesday, 11:00-12:00, in Trailer 936 room 103

Teaching Assistants

TA Email Office hours
Daniel Agun dagun@cs.ucsb.edu Tuesday, 9:30-11:30, in CSIL
Sujaya Maiyya sujaya_maiyya@cs.ucsb.edu Wednesday, 4:00-6:00, in Trailer 936
Magzhan Zholbarysov magzhan@cs.ucsb.edu Friday, 10:30-12:30, in Trailer 936

Required Texts and Reader

Course Outline

  1. Class design
  2. Review searching (from CS 24), hashing, sorting and graphs
  3. Operating systems basics
  4. Processes
  5. Object-oriented concepts
  6. Inheritance, including polymorphism
  7. Program building, and memory concepts
  8. Libraries
  9. More object-oriented and system topics as time permits

Grading Policy

Overall course scores will be calculated according to the following distribution of credit:

If the class average overall course score is less than 80 percent, then a curve may be applied to establish letter grades. Otherwise, letter grades will be assigned as follows:
Overall scoreGradeNotes
≥ 93%    AExceptional scores may earn A+
90-92.9%   A- Scores will be rounded to
the nearest 0.1 percent
87-89.9%   B+
83-86.9%   B
80-82.9%   B-
77-79.9%   C+
73-76.9%   C
70-72.9%   C-
67-69.9%   D+
63-66.9%   D
< 63%   D-Very poor scores may earn F

Notices