Home

Assignments

Quiz-Site Login

Lectures and Readings


C212/A592 Lectures and Readings

Textbook references following lecture dates are reading assignments to be completed before the lecture.

Until everyone has a chance to obtain the text, alternate reading suggestions will be provided from:

During this time lecture notes will also be posted.

  1. 8/31.
    Overview of the course and introduction to object-oriented programming.

  2. 9/2: Chapters 1 and 2 (skip the section on inheritance at the end of chapter 2 for now).
    Objects, classes, and fields (instance variables)
    .
    BATK: chapters 1 and 2
    LMVJN: chapters 3, 4, and chapter 6 through page 165.
    Lecture notes for the first week with applet containing text and graphics.

  3. 9/7: No new reading this week!
    More Java overview and review, and principles of interactive Java.
    Lecture notes for the second week with interactive doodling applet in which you draw by dragging the mouse. The first one just draw dots when mouse motion is detected. An improved version connects the dots with lines. Give it a try!9/9.
    Listening to the Mouse.

  4. 9/9:
    Interactive java, continued.

  5. 9/14:
    Object references and field assignment. Wonderful quotation of Lewis Carroll.
    Lecture notes for the third week.

  6. 9/16:
    Aliasing, coersion, and applet key recognition.
    An applet that draws a responds to s and c key presses by drawing a square or circle, respectively, at the current cursor position:

  7. 9/21: Chapter 3.
    Sharing of state between classes, introduction to UML notation. Lecture 7 notes.

  8. 9/23:
    Quiz in class
    . Unix® overview, with notes and a demonstration transcript. A pocket reference chart might help remind you of the key instructions.
    A complete ASCII chart is also available in one compact form and another.

  9. 9/28: Chapter 4 (skip section on static fields and methods, p. 204-5, until next week).
    Unix, continued.

  10. 9/30:
    Review of object concepts. Lecture 10 notes.

  11. 10/5: Chapter 5.
    Static and final and other attributes, and hidden objects.
    Lecture 11 notes.

  12. 10/7: start Chapter 6.
    Logical operators, control flow.

  13. 10/12: finish Chapter 6.
    Iteration. Lecture 13 notes.

  14. 10/14: Chapter 7.
    Iteration, continued.

  15. 10/19: Chapter 8, up to the vector section.
    Arrays. Lecture 15 notes and revised Lecture 15-16 notes.

  16. 10/21:
    First exam in class.

  17. 10/26: rest of Chapter 8.
    Arrays, sorting, and algorithm analysis. Lecture 16 notes.

  18. 10/28: Chapter 9 up to garbage collection (page 471).
    Sorting continued.

  19. 11/2:
    Quicksort. Lecture 19-20 notes.

  20. 11/4:
    Parameter passing, garbage collection, vectors.

  21. 11/9:Chapter 10
    Interfaces and polymorphism. Lecture 21 notes.

  22. 11/11:
    Inheritance. Lecture 22 notes.

  23. 11/16:
    Inheritance continued.

  24. 11/18:
    Second exam in class.

  25. 11/23: Chapter 14.
    Stream and File I/O.
    Lecture 24 notes.

  26. 11/30:
    More on files and inheritance.

  27. 12/2: pages 563-565, chapter 16 to page 854.
    Tasks and Synchronization. Lecture 26 notes.

  28. 12/7: Rest of chapter 16.
    Network communication. Lecture 27 notes.

  29. 12/9:
    Object-oriented design techniques and patterns.

Gilbert and McCarty text errata as discovered

  1. Page 4: Three bits counts from 0 to 7, not 8.

  2. The terms object and variable are dangerously confued (beginning on page 18). Objects are often stored in variables and often contain variables, but they are not themselves variables!

  3. Page 130: The float declaration is incorrect: the literal -7.54 should be followed by the character F. "Floating point" literals are by default doubles in Java and double does not automatically coerce to float.

  4. Page 170: Before or after the first double left arrow there should be a + sign (to concatinate the two strings divided by the line break).

  5. Page 427: In Figure 8-14, first line, parenthesis are missing after readInt.

  6. Numerous pages: In many places, the single quote character at the beginning of a character literal is printed as a blank space.

  7. Page 711: In figure 14-2 substitue "Output" for "Input" in all classes under OutputStream.