CS 32 Object Oriented Design and Implementation

CS 32 Object Oriented Design and Implementation

Department of Computer Science
University of California Santa Barbara
http://koclab.cs.ucsb.edu/teaching/cs32

Course Information

  • Instructor: Professor Koç         → Koç is pronounced as "Coach"  

  • Class Schedule and Room: Tuesday, Wednesday, Thursday 2:00-3:20pm, Phelps 2510
  • Instructor Office Hours: Tuesdays 3:30-5:30pm

  • Our TA is Arvind CR (arvind@cs.ucsb.edu)
  • Recitation and Room: Friday 2:00-3:20pm, Phelps 3525, EnrlCd: 02428
  • TA Office Hours: Monday 1:00-3:00pm
  • TA Office: Trailer 936 Room 104

  • Join the Piazza page cs32 for class discussions.
  • Check the class web site, the Piazza page, and/or your email once a day.
  • Course material is in the folder docx.

  • TA's Web Page, which contains the programming assignments

  • The grades: ss14   (The Code is your PERM number mod 997)

Resources

  • Visualizations (with sound) of sorting algorithms:   url

Exams

The Midterm Exam will be held on Thursday, August 28.  
The Final Exam will be held on Thursday, September 11.  
No makeup exam can be given under any circumstances.

Programming Assignments

We will have 5 programming assignments. (Due 2nd, 3rd, 4th, 5th, and 6th week)
For details and helpful information on programming assignments, see the TA's web site: URL

Programming assignments are due every Saturday midnight.  

Homework Assignments

We will have 3 homework assignments. (Due 2nd, 4th, and 6th week of the classes)
  • Homework Assignment 01 - due Aug 12, Tuesday
    Select two of the sorting algorithms: Bubblesort, Insertionsort, Selectionsort, Mergesort, Heapsort, and Quicksort and write at least one page description of each algorithm, followed up by an example sorting process. The example should clarify the properties of the sorting algorithm and the array (of integers) needs to be large enough to show these properties. Write a brief description of the differences of these two algorithms.
  • Homework Assignment #02:   hw02.pdf - Due Aug 26, Tuesday
  • Homework Assignment #03:   hw03.pdf - Due Sep 9, Tuesday

Weekly Course Plan

  • Week1 (Aug 5, 6, 7): Introduction, Operating Systems and Linux, Shells and Processes

  • Week2 (Aug 12, 13, 14): Sorting Algorithms

  • Week3 (Aug 19, 20, 21): Thinking Object Oriented, Classes, More on Classes

  • Week4 (Aug 26, 27, 28): Big Three: Copy Constructor, Assignment Operator, and Destructor; Inheritance

  • Week5 (Sep 2, 3, 4): Programs in Memory, Local and Dynamic Storage

  • Week6 (Sep 9, 10, 11): Variables, Templates, and STL

Textbook and Notes

Grading Rules

  • Homework Assignments: 15 %
  • Programming Assignments: 45 %
  • Midterm: 20 %
  • Final: 20 %

Catalog Specification

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.

Prerequisite Rules

CS 24 with a grade of C or better. CS 32 is a legal repeat for CS 60.

Academic Integrity at UCSB  


Dr. Çetin Kaya Koç