CSC 108H -- Syllabus

Syllabus

This page describes the rough syllabus that we will use for the course.

Week # Information
1

Lecture topics: Intro to primitive expressions and variables (int, double, boolean), sequences of statements. Intro to objects: JFrames, packages, the Java API, method calls, variables and aliasing, the assignment statement. Difference between primitive and object types.

Weeks 1 and 2 reading: From ProgramLive. You should plan to finish the following reading by about the middle of week 3.

        1-1 Hardware and software           All activities
        1-3 Components of a Java program    All activities    
        1-4:
        The assignment statement
        Example: swapping the value of two variables
        Boolean expressions
        1-6 Assertion in programs           All activities
        6-1, 6-2, 6-3, 6-4                  All activities
        6-6:
        Type boolean
        The mark of a boolean tyro
			

Here is stuff related to what we've done, but that we didn't explicitly discuss in lecture:

      1-2-2, A program that creates a window.
      Lesson pages 1-1, 1-2:
      You can now understand the rough idea of what those pages talk
      about, and it won't hurt to look at them. Just realize that
      everything may not make sense.
			

Weeks 1 and 2 practice exercises: You do not have to turn these in; they are meant as practice exercises, and examples of what hard minimum-standards questions might look like.

ProgramLive chapter 1, menu item Tools|Display Homework:

PGL-1 HW 1: Assignment and arithmetic Ignore all references to MyJLiveWindow. Instead, use DrJava's interactions pane. Do exercises A2, A3, A4, B2, C1, C2. Here's a solution to A1, with comments describing what we did:
int rate= 10;  /* $10 per hour; picked arbitrarily. */
int hours= 40; /* 1 week's pay; picked arbitrarily. */
int pay;
pay= rate * hours;  /* written to be reusable. */
pay
/* Testing: */
rate= 25;
hours= 10;
pay= rate * hours;
pay
			  
2

Lecture topics: Variable review. Working with another type of object (class Date). Intro to constructors. Classes: a first subclass of JFrame. Intro to this. Collecting a sequence of statements from the Interactions pane into a method.

Reading: Same as week 1 reading; also this:

        2-1 Methods                         All activities
        3-3:
            Using an object to aggregate information
			
3

Lecture topics: User input: asking for a window title (JOptionPane). Basic Strings. Designing your own classes (as opposed to customizing). Remembering stuff from one method call to the next: maintaining ``state'' with instance variables. Conditional statements, constructors, Strings, input.

Reading:

        6-3 A minimalist view of floating point
        6-4 Remarks about floating point
			
4

Lecture topics: Memory model. Static variables and methods, String methods, summary of basic statements. Method main.

Reading: You will see a lot of public static void main methods. This is the entry point for a full Java program. The statements inside method main behave as if they were typed in the Interactions pane.

        5-3 Strings
        Chapter 2 (all lesson pages)
        Chapter 3 (all lesson pages)
			
5

Lecture topics: Helper methods, parameter passing again.

Reading: ProgramLive: Unit 3. (Look in the workbook on pages 4-8 for the Unit lists.) BigJava: Chapter 5.

Advanced reading: you might find it helpful to start reading Chapter 7. It is philosophical, but might help you understand why we designed A2 the way we did.

6

Lecture topics: toString(). Information hiding. Midterm test.

Reading: ProgramLive: Unit 3. BigJava: pages 454-457.

7

Lecture topics: Loops.

Reading: ProgramLive: Unit 5. (Look in the workbook on pages 4-8 for the Unit lists.) BigJava: Chapter 6.

8

Lecture topics: Style and testing.

Reading: ProgramLive: lesson page 1-3, lesson page 2-5, lesson page 3-8, Chapter 14. BigJava: Chapter 8.

9

Lecture topics: arrays.

Reading: ProgramLive: Unit 6, except last four checkboxes; Unit 7. (Look in the workbook on pages 4-8 for the Unit lists.) BigJava (repeat from last week): Chapter 6.

10

Lecture topics: Class Vector, arrays vs. Vectors.

Reading: ProgramLive: Unit 6, 6th checkbox on dynamic arrays. (Look in the workbook on pages 4-8 for the Unit lists.) BigJava: Chapter 13.

12

Lecture topics: searching, big O discussion.

Reading: ProgramLive: Unit 6, checkbox called "Some basic array algorithms". (Look in the workbook on pages 4-8 for the Unit lists.) BigJava: Chapter 18.

13

Lecture topics: sorting.

Reading: ProgramLive: checkbox called "Selection sort and Insertion sort" in ProgramLive. (Look in the workbook on pages 4-8 for the Unit lists.) BigJava (repeat of last week): Chapter 18.

11

Lecture topics: Overloading methods, inheritance, polymorphism.

Reading: ProgramLive: Unit 4. (Look in the workbook on pages 4-8 for the Unit lists.) BigJava: Chapters 9 and 11.

CSC108H email
Last modified: Fri Jan 17 09:38:25 EST 2003

Valid HTML 4.01!