This course schedule gives lecture topics and associated readings, sample programs and programming practice problems, the suggested times by which to start lab assignments and when they are due, and when partner formation should occur and when partner evaluations are due. When the readings say to read a sequence of sectinos, also read all the speial sections between them; for example, if the reading is "Secs. 6.1-6.4," also read the syntax, productivity hint, common error, special topic, quality tip, how-to and worked example sections between sections 6.1 and 6.4. "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 the problems you find helpful. The online version of the text (through WileyPlus) has, connected to each chapter, animations, examples, and other reference and tutorial material you may find helpful.
Well stick to this schedule as closely as is reasonable, but it is an ambitious one, so we'll adjust it if circumstances warrant and announce any changes in lecture.
|
|
Lab Activities & Notes |
CodingBat Practice Problems |
Sample Progams |
Oct 1 | First Lecture: Introduction to the course; compiling and
executing Java programs Find a lab partner |
Chap. 1 | Start Orientation to Lab ("Lab Assignment 0") | |
Oct 2 | ||||
Oct 3 | 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; assignment statements; importing | scan Secs. 2.1-2.7; 2.10; 3.1-3.5; 3.7, 3.8; Chap. 4.1-4.4 | ||
Oct 8 | A simple Java program, continued | previously listed sections in Chaps. 2-4 corresponding to topics discussed in lecture | ||
Oct 9 | Last day to register programming pair; one pair member to email members' names to 45J@ics.uci.edu | |||
Oct 10 | A simple Java program, completed | previously listed sections in Chaps. 2-4 corresponding to topics discussed in lecture | Complete Orientation to Lab | |
Oct 15 | Testing programs; print statements; Java basics, introduced in the simple Java program, revisted in detail | 2.9; 3.6; Random Fact 7.2; previously listed sections in Chaps. 2-4 corresponding to topics discussed in lecture Warmup-1 | ||
Oct 16 | ||||
Oct 17 | More Java basics, in detail: random number generation; Strings; pass by value and by reference; introduction to the Java API documentation | previously listed sections in Chaps. 2-4 corresponding to topics discussed in lecture; Secs. 2.8, 4.5, 6.5; Special Topic 4.5 String-1 | ||
Oct 18 | Lab Assignment 1 Due | |||
Oct 22 | Decision statements; recursion in Java | Chap. 5; Secs. 13.1-13.3
Logic-1, Logic-2 |
||
Oct 23 | ||||
Oct 24 | Loops and simple loop algorithms; nested loops; nested statements; Enum | Secs. 6.1-6.4; Special Topics 5.3, 10.7 Warm-Up 2, non-array problems; String-2; AP-1, non-array problems | ||
Oct 28 | Lab Assignment 2 Due | |||
Oct 29 | Inheritance and polymorphism; the Object class | Secs. 10.1-10.5; 10.6, 10.7 through Special Topic 10.6 Special Topic 8.5; Secs. 9.1-9.3 | ||
Oct 30 | ||||
Oct 31 | Midterm exam | |||
Nov 5 | Abstract classes and methods; interfaces; Comparable; access control | Sepcial Topic 10.1; Secs 9.1-9.2 | ||
Nov 6 | ||||
Nov 7 | Graphical user interfaces, applets and events: basics of GUIs, graphics and event handling; inner classes; introduction to the AWT and SWING | Sec. 2.11-2.13; Special Topic 2.2; Sec. 3.9; Sec. 9.5; Special Topic 9.2; 9.7-9.11; Special Topic 9.3; Chap. 18 | MouseApplicationInterface.java MouseApplicationAdapter.java MouseApplicationAnonAdapter.java MouseApplet.java |
|
Nov 12 | Veterans' Day Holiday: No lecture; labs on holiday schedule | |||
Nov 13 | ||||
Nov 14 | GUIs, graphics, events, and applets: more details | same as for Nov 7 | KeyBoardApplicationAnonAdapter.java |
|
Nov 15 | ||||
Nov 16 | Lab Assignment 3 Due | |||
Nov 19 | Lists as abstract data type, generic types; ArrayList: structure and basic methods, as parameter and return types, clone(), shallow vs. deep copying; using with enhanced for loop; LinkedList: structure and basic methods, as parameter and return types, iterators; fixed-size arrays | Secs. 7.2-7.4; Syntax 7.3; Secs. 15.1-15.3; 7.1, 7.5-7.6, 7.8 | Partner Evaluation of Labs 1-3 pair programming partner due by 10:59 pm
email completed evaluation form to 45J@ics.uci.edu |
|
Nov 20 | ||||
Nov 21 | Exception handling: basic concepts; try, catch, throws, rethrowing, finally; catching multiple exceptions; introduction to threading | Secs. 11.3-11.7; 20.1-20.3 | ||
Nov 26 | File handling: basic concepts;, sequential access; text files; .format(); Scanner(); try-with-resources | Special Topic 4.6; Secs, 11.1-Worked Example 11.1; 11.8 | ||
Nov 27 | ||||
Nov 28 | File handling: character encodings; end-of-line issues; relative access; binary files | Secs. 11.1; Sec. 4.6 | TestGetScore.java | |
Nov 29 | Lab Assignment 4 Due | |||
Dec 3 | Internet Networking: TCP/IP, IP addresses; DNS; introduction to sockets; URL connections | Chap. 21 | ChatClient.java ChatServer.java |
|
Dec 4 | ||||
Dec 5 | Introduction to the Collections Framework | Secs. 15.4; 16.1-16.3, 16.7; Appendices: Instructor-Provided Chapter 15, Parts A and B* | ||
Dec 10 | Lab Assignment 5 Due | |||
Dec 11 | Dec 12 | Final Exam, 10:30 am - 12:30 pm, DBH 1200 |
* This Chapter 15, in two PDF files, is from another Horstmann text,
and is available from the ICS 45J Wiley Plus Web site. Go to the Read,
Study & Practice tab, choose Appendices from the menu; click on Go.
You'll see links to the two parts of the chapter under INSTRUCTOR-PROVIDED.
Click on the links to download the PDFs.