Introduction to Object-Oriented Program Design
Instructor- Chuck Iverson
- Office Hours: MESA/Learning Center
- Office: 18-108
- Office Phone: (650) 306-3253
- Email: iverson@smccd.edu
- Web Page: http://www.civerson.com
- Building 22, Room 118
- 2:10-3:25 pm TTh
- Math 110 or Math 111, with a grade of C or better
- Starting Out with Java: Early Objects (4th Edition) by Gaddis (ISBN 9780132164764)
- Homework and Exercises (45%)
- Exams and Quizzes (50%)
- Class Participation (5%)
- Analyze a problem by decomposing it into smaller problems, develop algorithms to solve the smaller problems, implement the algorithms in Java and test the program with input that shows your program produces correct output whether the input is good or not.
- Read data from a file, process it and write the results back to a file.
- Does the program work (i.e., does it react in a correct or reasonable way to all input, whether that input is reasonable or not)?
- How well does the program handle boundary conditions?
- Was the program written with the tools and within the constraints outlined in the assignment?
- Does it make use of the methods and design guidelines discussed in class?
- Was reasonable judgement used in tackling any gray areas?
- Is the source code clear, readable and well-commented?
- Could someone understand the program without having read the assignment?
- Is the code efficient and to the point?
- Is it portable?
- Is it original?
- That means you are expected to attend class and to arrive on time (2 lates equals 1 absence, more than 4 absences leads to a drop).
- If you're going to miss class, you should notify me ahead of time, either by phone or email.
- You are expected to contribute to class discussions and to ask questions when something is not clear.
- You are expected to do your homework assignments before the class when they are due and to seek help from me or your classmates or a tutor if you are having difficulty completing them.
- You should check the class notes and assignments link (top right of this page) if you miss class. All class assignments, exam solutions, sample code and special notes will be posted at this web site after class.
- You are expected to see me during office hours for additional help or to take make-up exams.

Tentative Topic Schedule
| Tuesday | Thursday |
|---|---|
| 8/18 - Chapter 1 - Introduction to Computers and Java | |
| 8/23 - Chapter 1 - Introduction to Computers and Java | 8/25 - Chapter 2 - Java Fundamentals |
| 8/30 - Chapter 2 - Java Fundamentals | 9/01 - Chapter 3 - A First Look at Classes and Objects |
| 9/06 - Chapter 3 - A First Look at Classes and Objects | 9/08 - Chapter 4 - Decision Structures |
| 9/13 - Chapter 4 - Decision Structures | 9/15 - Chapter 5 - Loops and Files |
| 9/20 - Chapter 5 - Loops and Files | 9/21 - Review of Chapters 1-5 |
| 9/27 - Exam on Chapters 1-5 | 9/29 - Chapter 6 - A Second Look at Classes and Objects |
| 10/04 - Chapter 6 - A Second Look at Classes and Objects | 10/06 - Chapter 7 - Arrays and the ArrayList Class |
| 10/11 - Chapter 7 - Arrays and the ArrayList Class | 10/13 - Chapter 8 - Text Processing and Wrapper Classes |
| 10/18 - Chapter 8 - Text Processing and Wrapper Classes | 10/20 - Chapter 9 - Inheritance |
| 10/25 - Chapter 9 - Inheritance | 10/27 - Chapter 10 - Exceptions and Advanced File I/O |
| 11/01 - Chapter 10 - Exceptions and Advanced File I/O | 11/03 - Review of Chapters 6-10 |
| 11/08 - Exam on Chapters 6-10 | 11/10 - Chapter 11 - GUI Applications - Part 1 |
| 11/15 - Chapter 11 - GUI Applications - Part 1 | 11/17 - Chapter 12 - GUI Applications - Part 2 |
| 11/22 - Chapter 12 - GUI Applications - Part 2 | 11/24 - Thanksgiving Holiday |
| 11/29 - Chapter 13 - Applets and More | 12/01 - Chapter 13 - Applets and More |
| 12/06 - Review of Chapters 11-13 | 12/08 - Exam on Chapters 11-13 |
| 12/13 - No Class | 12/15 - 2:10-4:40 Final Exam |