This course schedule gives lecture topics and associated readings, sample programs and programming practice problems, the suggested times by which to start lab assignments, the dates of the various exams, and when partner formations should occur and when partner evaluations are due. Readings in italics are found in the on-line (Web-based) Wiley-Plus version of the text (see the Course Reference, textbook section, for more details on the various versions of the text). "CodingBat is a free site of live coding problems to build coding skill in Java...[the] problems give immediate feedback, so it's an opportunity to practice and solidify understanding..." [codingbat.com/java]. ...and strictly optional; do them as you find helpful to your study of course material.
Well stick to this schedule as closely as is reasonable, and announce any changes circumstances warrant.
|
|
Lab Activities & Notes |
CodingBat Practice Problems |
Times for Assignments; Sample Progams |
Jan 9 | No course activities until first lecture | |||
Jan 10 | First Lecture: Introduction to the course; compiling and
executing Java programs Find a lab partner |
Chap. 1 | Orientation to Lab | |
Jan 11 | ICS 21 Help Center opens Hours: M & W, 1 pm - 7 pm, ICS 183; closed University holidays |
|||
Jan 12 | 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.10; 3.1-3.5; 3.7, 3.8; Chap. 4; Special Topics 4.4, 4.5 | ||
Jan 16 | Jan 17 | A simple Java program, continued | read topics in Chaps. 2-4 discussed in lecture | |
Jan 18 | ||||
Jan 19 | A simple Java program, completed | read topics in Chaps. 2-4 discussed in lecture | Lab 1 (Smiley Faces) | |
Jan 23 | ||||
Jan 24 | Testing programs; print statements; Java basics in detail, part 1 | 2.9; 3.6; Random Fact 7.2; other sections in Chaps. 2-4 discussed in lecture Warmup-1 | ||
Jan 25 | Last day to register programming pair; one pair member to email members' names to 21-questions@ics.uci.edu | |||
Jan 26 | Java basics in detail, part 2; random number generation | complete detailed reading of Chaps. 2, 3, 4; Sec. 6.5 String-1 | ||
Jan 30 | Lab Exam #1 | Lab 2 (Animated Smiley) | ||
Jan 31 | Decision statements | Chap. 5; Special Topics 5.2, 5.4, 5.5 Logic-1, Logic-2 | Feb 1 | |
Feb 2 | Loops and simple loop algorithms; nested statements | Secs. 6.1-6.4, Special Topics 6.1-6.4 Warm-Up 2, non-array problems; String-2; AP-1, non-array problems | ||
Feb 6 | ||||
Feb 7 | The List ADT; ArrayLists: basics, classic algorithms, using generics | Secs. 7.2, 7.3 | ||
Feb 8 | ||||
Feb 9 | More on ArrayLists: as parameter and return types, clone(), shallow vs. deep copying, enhanced for loop; the class Object | Sec. 7.4, 7.6, 7.7, 10.7 | ||
Feb 13 | Lab Exam #2 | Lab 3 (Smileys at the Races) | ||
Feb 14 | Nested data structures, particularly involving ArrayLists; Introduction to fixed-size arrays | Sec. 7.1 | ||
Feb 15 | ||||
Feb 16 | Midterm exam | |||
Feb 20 | Presidents' Day: Help Center & other first floor labs closed; ICS 360 on holiday schedule | |||
Feb 21 | Exception handling: basic concepts and approaches | Secs. 11.2-11.6 | ||
Feb 22 | Lab Exam #3
Last day to register new programming pair; one pair member to email members' names to 21-questions@ics.uci.edu |
Lab 4 (A Donation to the Music Archive) | ||
Feb 23 | File handling: basic concepts and approaches, text files | Secs. 11.1; Special Topic 9.2 | ||
Feb 24 | Partner Evaluation of Labs 1-3 pair programming partner due by 11:59 pm email completed evaluation form to 21-questions@ics.uci.edu |
|||
Feb 27 | ||||
Feb 28 | File handling: character encodings and end-of-line issues; .format(); Scanner | Appendix B; Special Topic 4.6 | TestGetScore.java | |
Feb 29 | ||||
Mar 1 | Introduction to inheritance | Secs. 10.1-10.5; Special Topic 10.1 | ||
Mar 5 | Lab Exam #4 | Lab 5 (Revising the Music Archive Program) | ||
Mar 6 | Polymorphism; Reference and value parameters; Introduction to recursion | Secs. 10.6; Special Topic 8.1; Secs. 13.1-13.3
|
||
Mar 7 | ||||
Mar 8 | Access control; Abstract classes and methods; Interfaces | Secs. 8.8, 8.9, Special Topic 8.5; Secs. 9.1-9.3 | ||
Mar 12 | Lab Exam #5 | |||
Mar 13 | Introduction to graphics programming: applets, GUIs, event handling | Secs. 2.11-2.13, Special Topic 2.2; 9.7, Special Topics 9.2, 9.3 | MouseAppletListener.java MouseAppletAdapter.java MouseAppletAnonAdapter.java MouseGUI.java |
|
Mar 14 | ||||
Mar 15 | Some theoretical results | |||
Mar 19-22 | Help Center closed | |||
Mar 22 | Final Exam, 4:00-6:00 pm, ICS 174
Partner Evaluation of Labs 4-5 pair programming partner due by 11:59 pm email completed form to 21-questions@ics.uci.edu |