Syllabus
Welcome to Computer Science 32: Object-Oriented Programming
This document and others linked within it should be your PRIMARY source for understanding the expectations of this course. Be sure to read it carefully.
You must contact the instructor for clarification if you receive information from any another source that is in contradiction to what is provided below.
We are basically picking up in the CS16 and CS24 books where they were left off after those courses… more or less.
The outline and content of the class come from Michael Costanzo’s experience teaching the class. We are going to try to do something that software engineers don’t like to do: use somebody else’s software.
One of our TAs has TAed this class before and that experience will help us out.
There are two parallel threads in the class: OOP/C++ is one of them, and the other is Operating Systems/Linux. The labs and lectures will cover both of these aspects of software development
Course Staff
Course instructor: Andrew Duncan
- email: aduncan@cs.ucsb.edu
- Office hours: Tues, Thurs: 11-12, Trailer 936
- Homepage: http://andrewduncan.net/cs32
Teaching Assistants
- Yan Tang: yantang@cs.ucsb.edu, Section 11,12, office hours Wed 4-5PM
- Sanjana Sahayaraj: sanjana@cs.ucsb.edu, Section 2, office hours Fri 1:30-3:30
- Wenhan Xiong: xwhan@cs.ucsb.edu, Section 1, office hours Fri 10-12
Schedule
- Lecture: Tue. and Thu. 9:30 - 10:45 PSYCH 1924, ATTENDANCE REQUIRED.
- Lab:(50 minute discussion sections) Wednesdays starting at 11, 12, 1, 2 PHELPS 3525, ATTENDANCE REQUIRED.
For lab, lecture and office hours please check the course Calendar For hw, lab and exam schedule, please check the assignment calendar
Resources
Required Resources
- The newest editions of the textbook are preferred. Earlier editions are reasonable substitutes, but students then must be responsible for translating any page-specific assignments and other details.
- The Computer Science 32 Reader is required course reading along with the two textbooks used in CS 16 and CS 24. Get the Reader from SBPrinter in the UCEN. Note there are no substantive changes in the reader since Fall 2011, so any version since then is okay too.
- From CS 16: Walter Savitch (2015), Problem Solving with C++, 9th Edition. Addison-Wesley. Here are local copies of source code and data files from this text.
- From CS 24: Michael Main and Walter Savitch (2011). Data Structures and Other Objects Using C++, 4th edition. Addison-Wesley, 2011. Source code files from this text, organized by chapter (and a link to other author supplements).
- Here is the Table of Contents for the Reader.
- Introduction to operating systems, Unix and shells. Sarwar, S.M., Koretsky, R. and Sarwar, S.A. (2005), Unix: the textbook, Second Edition, Chapters 1-4 (parts), pp. 38-42, 46-50, 54-67, and 70-78. Pearson Education, Inc.
- “Thinking Object-Oriented,” “Abstraction,” and “Object-Oriented Design.” Budd, Timothy (2002), An Introduction to Object-Oriented Programming, Third Edition, Chapters 1-3, pp. 1-71. Addison Wesley Longman, Inc.
- “Processes.” Sarwar, et al., op. cit. Chapter 13, pp. 334-362.
- “Unix Programming Tools.” Parlante, Nick (2001), document #107 in the Stanford CS Education Library, http://cslibrary.stanford.edu/.
- “Program Building.” Hoover, Adam (2010), System Programming with C and Unix, Section 6.1, pp. 172-185. Pearson Education, Inc.
- “From Source File to Executable File,” “Variables and Objects; Pointers and Addresses,” “Dynamic Allocation and Deallocation of Memory,” “Classes and Objects.” Franek, Frantisek (2004), Memory as a Programming Concept in C and C++, Chapters 2-4, 8, pp. 7-17, 21-39, 45-50, and 106-116. Cambridge University Press.
- “Libraries.” Hoover, op. cit. Chapter 8, pp. 255-291.
Exam Resources
You can find examples of previous quarters’ exams at the following link.
https://ucsb-cs32.github.io/resources/sample_exams/