CS 115 outline by week

This is a preliminary outline that is subject to change. It will be updated during the semester as necessary.

Reading, lab and homework assignments will be given in lab, but this outline indicates which chapter/lesson is relevant.

(week of) 28 Aug
Elementary hardware architecture and system software architecture. Using the ProgramLive CD. Chapter/Lesson 0. (Note: labs cancelled this week.)

Homework for next week: read Lesson 0, intro to livetexts in the Program Live CD (henceforth called ``PL'').

4 Sep
No class monday. Intro to Java primitive data types and objects, expressions, graphics, programming style and habits. Intro to DrJava. Chapt 1.

Homework for next Monday: Read Ch 1 (i.e., chapter 1 of the textbook) and read PL lessons 1-1 through 1-6 but SKIP JLiveRead/console-input in lesson 1-5.

Note: sections of the book mostly correspond to PL, e.g., section 1.6 corresponds to lesson 1-6. This week you should study both, to get familiar with the features of PL as well as the textbook. Later on you may decide to focus on one or the other, but know your options.

Do the exercises even though they're not assigned to turn in!

11 Sep
Methods calls and definitions, stack and frames. Stepwise refinement. Chapt 2.

Homework for next Mon: Do ``lab'' PGL-3 in lesson 1-* (if/else lab). (To find the lab, go to one of the 1-X lessons and click on the chemistry beaker icon to see the list of labs.) And do exercise E6 on p52 of book. Do PGL-3 using using JLiveWindow for input/output. Even if you know some fancier Java GUI stuff, you need conform to these requirements for a grade. (This also helps you prepare to help less knowledgeable classmates.)

18 Sep
Classes, the idea of object-oriented (OO) design. Chapt 3.

25 Sep
Subclasses, inheritance, OO design. Chapts 4,5.

2 Oct
Subclasses, inheritance, OO design.

Thurs 5 Oct: QUIZ (Morton 103, 2-2:50pm)

9 Oct
No class Mon; Tues is Mon schedule.

Loops. Chapt 7.

16 Oct
Common patterns and development of loops. Chapt 7.

23 Oct
Arrays, basic algorithms. Chapt 8.

30 Oct
Multidimensional arrays. Chapt 9.

Thurs 2 Nov: QUIZ

6 Nov
Exceptions. Testing and debugging; using the JUnit tool for testing. Chapts 10, 14.

Ethics. Here are some links I mentioned: explosion of the Ariane 5, software horror stories, ACM/IEEE Code of Ethics and Professional Practice.

13 Nov

Java interfaces. More OO design, Iterator pattern, UML object diagrams.

Applets, applications, GUIs. Chapts 12, 16, 17.

Here are the example programs shown in class: ListListenerDemo.java from PL and ListenDemo.java from Dave.

20 Nov
No class Wed or Fri. Scanning text for patterns.

Here's the code distributed in lab: DemoJEditorPane.java.

27 Nov
Recursion. Chapt 15.

Here's sample code to help with version 0.2 of the Browser project: ListenJEditorPane.java.

4 Dec
Fri is last day of class. Recursion.

Thurs 7 Dec: QUIZ



David Naumann 2006-11-27