ICS 21 Fall 2009
Course Schedule

Introduction to Computer Science I
Norman Jacobson, Instructor

This course schedule gives lecture topics and associated readings, the suggested times by which to start lab assignments, the dates of the various exams and when partner evaluations are due.

We’ll stick to this schedule as closely as is reasonable, and announce any changes circumstances warrant.

Date
Lecture Topic
Lab Activities & Notes
Horstmann
Readings
Suggested Latest Start
Times for Assignments
Sept 24 Introduction to the course; compiling, linking and executing Java programs Chap. 1 Orientation to Lab
Sept 25      
Sept 28 ICS 21 Help Center opens
Hours: M & W, 8 am - 10pm, ICS183;
closed University holidays
   
Sept 29 A simple Java program: data abstraction; classes & fields; objects; defining & calling methods; public vs. private; parameter passing; return values; accessors and mutators; local variables; scope; constants; importing; assignment statements scan Secs. 2.1-2.7; 2.9-2.10; 3.1-3.5; 3.7, 3.8; Chap. 4  
Sept 30     Lab 1 (Smiley Faces)
Oct 1 A simple Java program, continued read topics in Chaps. 2-4 discussed in lecture  
Oct 2      
Oct 5 Last date to register programming pair; send email with the pair's name to 21-questions@ics.uci.edu    
Oct 6 A simple Java program, completed read topics in Chaps. 2-4 discussed in lecture  
Oct 7      
Oct 8 Testing programs; print statements Secs. 2.8, 3.6  
Oct 9      
Oct 12 Lab Exam #1   Lab 2 (Animated Smiley)
Oct 13 Java basics in detail complete detailed reading of Chaps. 2, 3, 4  
Oct 14      
Oct 15 Decision statements Chap. 5  
Oct 16      
Oct 19      
Oct 20 Loops and simple loop algorithms; nested statements Secs. 6.1-6.4  
Oct 21      
Oct 22 The List ADT; ArrayLists: basics, classic algorithms, using generics Secs. 7.2, 7.3, 7.5  
Oct 23      
Oct 26 Lab Exam #2   Lab 3 (Smileys at the Races)
Oct 27 More on ArrayLists: as parameter and return types, clone(), shallow vs. deep copying, enhanced for loop Sec. 7.4, 7.6, 7.7  
Oct 28      
Oct 29 Midterm exam    
Oct 30      
Nov 2      
Nov 3 Nested data structures, particularly involving ArrayLists; Intro. to fixed-size arrays Sec. 7.1  
Nov 4      
Nov 5 Some theoretical results    
Nov 6 Last day to drop without Dean's signature    
Nov 9 Lab Exam #3
Last date to register new programming pair; send email with the pair's name to 21-questions@ics.uci.edu
   
Nov 10 Exception handling: basic concepts and approaches
Partner Evaluation due by 11:59 pm
Secs. 11.2-11.6  
Nov 11 Veterans Day Holiday
Help Center closed
ICS183, 189, 193 closed; ICS364 on holiday schedule
   
Nov 12 File handling: basic concepts and approaches; text files Secs. 11.1  
Nov 13      
Nov 16     Lab 4 (A Donation to the Music Archive)
Nov 17 File handling: character encodings and end-of-line issues; .format(); Scanner; a note about Console    
Nov 18      
Nov 19 Reference and value parameters; Introduction to recursion Chap. 8; Secs. 13.1-13.4  
Nov 20      
Nov 23 Lab Exam #4   Lab 5 (Revising the Music Archive Program)
Nov 24 Introduction to inheritance Secs. 10.1-10.5  
Nov 25      
Nov 26 Thanksgiving Day Holiday
ICS183, 189, 193 closed; ICS364 on holiday schedule
   
Nov 27 Thanksgiving Day Holiday
ICS183, 189, 193 closed; ICS364 on holiday schedule
   
Nov 30 Lab Exam #5    
Dec 1 Polymorphism; Access control; Interfaces Secs. 9.1-9.3, 10.6-10.8  
Dec 2 Help Center opens for retakes; separate retake sessions end    
Dec 3 Introduction to Graphics Programming: applets, GUIs, event handling Secs. 2.11-2.13; 9.6; Advanced Topic 2.2 (on Web)  
Dec 4      
Dec 7 Help Center on Finals Week schedule; times TBA    
Dec 8 Final Exam, 4:00-6:00 pm
Partner Evaluation due by 11:59 pm
   
Dec 9 Last day of Help Center (open for retakes only); times TBA