Students are expected to read Pre-Meeting Reading assignments prior to the specified class meeting and be prepared to discuss the material.

Each class meeting will start in the designated classroom (P-114) unless stated otherwise by the instructor. Actual time spent in the CS laboratory facilities (P-288) will not necessarily correspond to the published Lab section times.

Below is the tentative class schedule, which is subject to change, so be sure to check frequently. Important dates, highlighted in red, were taken from the published Schedule Information Guide (dated 11/20/2012) and may also be subject to change. The student is responsible for verifying and complying with the official registration, drop/withdrawal, and grading option change dates.


Week Mon Tue Wed Thu Fri Topics Pre-Meeting Reading Assignments
1 1/28 1/29 1/30 1/31 2/01 1/29: Introduction and syllabus
(slides)
Syllabus (html PDF) ;
Textbook pp. 1124-1127 (Writing Javadoc Comments)
In-class survey
1/31: Review (slides) “Hello World” Version 1;
“Hello World” Version 2
Lab #1: Hello World: Versions 1 and 2 (files)
2 2/04 2/05 2/06 2/07 2/08* 2/5: Review (continued) (slides) Section 6.4 (Advanced File Processing), 7.1 (Array Basics), 7.3 (Reference Semantics)
2/7: Review (concluded) (slides; Chapter 6 and 7 files) Section 7.4 (Advanced Array Techniques), 7.5 (Multidimensional Arrays) Lab #2: Hopper Help (files);
Project #1 Assigned (files)
3 2/11 2/12 2/13 2/14 2/15 2/12: Classes and Encapsulation (slides; files) Section 8.1 (Object-Oriented Programming), 8.2 (Object State and Behavior), 8.3 (Object Initialization: Constructors), 8.4 (Encapsulation) Object-Oriented Programming (concepts) tutorial (6 minutes, 17 seconds)
2/14: Classes and Encapsulation (continued) (slides) Lab #3: Time Span (files); Project #1: Grocery List: Version 1 (Procedural) Due February 15th; Version 2 (Object-Oriented) assigned (see slides)
4 2/18 2/19 2/20 2/21 2/22** 2/19: Midterm #1 Review (slides; Review Sheet) Test covers the review material; Chapter 8; Labs 1-3; and Project 1 Version 1. Project #1, Version 2 Clarification (files)
2/21: Midterm #1 (slides)
5 2/25 2/26 2/27 2/28 3/01 2/26: Inheritance and Interfaces (slides) Section 9.1 (Inheritance Basics), 9.2 (Interacting with the Superclass), 9.3 (Polymorphism), 9.4 (Inheritance and Design), 9.5 (Interfaces)
2/28: Inheritance and Interfaces (continued) (slides) Project #1, Version 2 Due March 1st;
Project #2: Library Classes: Part 1 Assigned (files)
6 3/04 3/05 3/06 3/07 3/08 3/5: ArrayLists (slides; files) Section 10.1 (ArrayLists), 10.2 (The Comparable Interface) Project #2: Part 1 Due, Part 2 Assigned (files); Lab #4 described (see slides)
3/7: ArrayLists (continued) (slides) Lab #4: Time Span Version 2 (files)
7 3/11 3/12 3/13 3/14 3/15 3/12: Lists, Sets, and Maps (slides) Section 11.1 (Lists), 11.2 (Sets), 11.3 (Maps) Project #2: Part 2 Due March 11th;
Project #3 (String Utilities: Sets and Maps) Assigned (files)
3/14: Lists, Sets, and Maps (continued) (slides) Lab #5: Iterative Factorial (files)
8 3/18 3/19 3/20 3/21 3/22 3/19: Recursion (slides) Section 12.1 (Thinking Recursively), 12.2 (A Better Example of Recursion), 12.3 (Recursive Functions and Data) Project #3 Due March 18th; Project #4 (String Utilities: Permutations) Assigned (files)
3/21: Recursion (continued) (slides) Lab #6: Recursive Factorial (files)
9 3/25 3/26 3/27 3/28 3/29 3/26: Midterm #2 Review (slides; Review Sheet) Project #4 Due March 25th;
Test covers Chapters 9-12; Labs 4-6; and Projects 1-4.
3/28: Midterm #2 (slides)
10 4/01 4/02 4/03 4/04 4/05 4/1: Cesar Chavez Day (Campus Closed); 4/2-5: Spring Break
11 4/08 4/09 4/10 4/11 4/12 4/9: Midterm Post-mortem (slides) Section 13.1 (Searching and sorting in the Java Class Libraries), 13.2 (Program Complexity), 13.3 (Implementing Searching and Sorting Algorithms), 13.4 (Case Study: Implementing Merge Sort) Lab/Homework #7 (MergeSort) Assigned (files)
4/11: Searching, Complexity, and Sorting (slides) Lab/Homework #7 DUE;
Project #5 Assigned (files)
12 4/15 4/16 4/17 4/18 4/19 4/16: Conventions and Review (slides) Lab/Homework #8 (LinkedStringList) Assigned (files)
4/18: Linked Lists (slides) Section 16.1 (Working with Nodes), 16.2 (A Linked List Class), 16.3 (A Complex List Operation) Lab/Homework #8 is DUE April 19th
13 4/22 4/23 4/24 4/25 4/26 4/23: Linked Lists (continued) (slides) Project #5 is DUE April 22nd; Project #6 (Chapter 16 Assassin Game) Assigned (files)
4/25: Stacks and Queues (slides) Refer to textbook's Bonus Slides: stacks-and-queues.ppt.
14 4/29 4/30 5/01 5/02 5/03 4/30: Stacks and Queues (continued) (slides) Lab #9: RPN (files)
5/2: Trees (slides) Section 17.1 (Binary Tree Basics), 17.2 (Tree Traversals), 17.3 (Common Tree Operations) Project #6 is DUE May 3rd; Project #7 Options Discussed
15 5/06 5/07 5/08 5/09 5/10 5/7: Binary Trees, Project 7 Design (slides) Class evaluation
5/9: Project 7 Discussion and Design (concluded) (slides) Project #7 Assigned (Refer to today's slides for details.)
16 5/13 5/14 5/15 5/16 5/17 5/14: Final Exam review (slides, Review Sheet) Test covers Chapters 13, 16-17; Stacks and Queues; Lab/Homeworks 7-9; and Projects 5-7. In-class survey
5/16: Final (slides, ALL final assignment submissions (e.g., Project 7) are DUE May 17th. No assignments will be accepted after that date.
17 5/20 5/21 5/22 5/23 5/24
5/23: Official Final Exam slot (8:30 - 10:30 AM)

*2/8/2013 is the last day to add.
**2/22/2013 is the last day to drop/withdraw or request CR/NC grading option.