ICS 21 Winter 2008
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
Jan 7      
Jan 8 Introduction to the course; compiling, linking and executing Java programs Chap. 1 Orientation to Lab
Jan 9 Priority lab meetings begin    
Jan 10 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; importing; assignment statements scan Secs. 2.1-2.7; 2.9-2.10; 3.1-3.5; 3.7, 3.8; Chap. 4  
Jan 11      
Jan 14     Lab 1 (Smiley Faces)
Jan 15 A simple Java program, continued read topics in Chaps. 2-4 discussed in lecture  
Jan 16 Last date to register programming pair with TA    
Jan 17 A simple Java program, continued read topics in Chaps. 2-4 discussed in lecture  
Jan 18      
Jan 21 MLK Holiday;
ICS 183, 189, 193 closed; ICS364 on holiday schedule
   
Jan 22 Testing programs; print statements Secs. 2.8, 3.6  
Jan 23 Lab Exam #1   Lab 2 (Animated Smiley)
Jan 24 Java basics in detail complete detailed reading of Chaps. 2, 3, 4  
Jan 25      
Jan 28      
Jan 29 Decision statements Chap. 5  
Jan 30      
Jan 31 Loops and simple loop algorithms; nested statements Secs. 6.1-6.4  
Feb 1      
Feb 4      
Feb 5 Some theoretical results; Value and reference parameters Chap. 8  
Feb 6 Lab Exam #2   Lab 3 (Smileys at the Races)
Feb 7 The List ADT; ArrayLists: basics, classic algorithms, using generics Secs. 7.2, 7.3, 7.5  
Feb 8      
Feb 11      
Feb 12 Midterm exam    
Feb 13      
Feb 14 More on ArrayLists: as parameter and return types, clone(), shallow vs. deep copying, enhanced for loop; a note on Vector Sec. 7.4, 7.6, 7.7  
Feb 15 Last day to drop without Dean's signature    
Feb 18 Presidents' Day Holiday;
ICS 183, 189, 193 closed; ICS364 on holiday schedule
   
Feb 19 Nested data structures, particularly involving ArrayLists; Intro. to fixed-size arrays Sec. 7.1  
Feb 20 Lab Exam #3
Last date to register new programming pair with TA
  Lab 4 (A Donation to the Music Archive)
Feb 21 Exception handling: basic concepts and approaches Secs. 11.2-11.6  
Feb 22 Partner Evaluation due by 11:59 pm    
Feb 25      
Feb 26 File handling: basic concepts and approaches; character encodings and end-of-line issues; Scanner; a note about Console Secs. 11.1  
Feb 27      
Feb 28 Introduction to recursion Secs. 13.1-13.4  
Feb 29      
Mar 3 Lab Exam #4   Lab 5 (Revising the Music Archive Program)
Mar 4 Introduction to inheritance Secs. 10.1-10.5  
Mar 5      
Mar 6 Polymorphism; Access control; Interfaces Secs. 9.1-9.3, 10.6-10.8  
Mar 7      
Mar 10 Lab Exam #5    
Mar 11 Intro. to graphics programming: applets, GUIs & event handling Secs. 2.11-2.13; 9.6; Advanced Topic 2.2 (on Web)  
Mar 12      
Mar 13 Review for final    
Mar 14      
Mar 18 (Tues.) Final Exam,
4:00-6:00 pm
Partner Evaluation due by 11:59 pm