Syllabus

This is a more of a "What's Happened" than a "What's Coming Up" syllabus. In particular, lectures more than a week in advance are subject to adjustment depending on pace of the class and whim of the instructor. Handouts are published Adobe PDF, postscript, or oddly formatted plain text, click here for more info.

Freisen indicates material from Geoff Friesen's book, Java 2 by Example, GT indicates material from Goodrich & Tamassia, Data Structures and Algorithms in Java, and CR indicates the course reader.

Monday Tuesday Wednesday Thursday
June 19th
Intro, Admin, First Program, Datatypes

Handouts

  • General Course info
  • Lecture Notes 1
  • Homework 0
  • Reading

  • Friesen Ch. 1
  • 20
    Datatypes, Operators, References, Arrays

    Handouts

  • Lecture Notes 2
  • Homework #1
  • Reading

  • Friesen pp. 30-51, 53-64
  • CR: Model for Memory, Names and Types
  • 21
    Arrays continued,
    Control Structures

    Handouts

  • Lecture Notes 3
  • Reading

  • Friesen, pp. 64-73, 262-274
  • 22
    Object Based Programming, Packages

    Handouts

  • Lecture Notes 4
  • Project 1
  • Reading

  • Friesen pp. 75-102, 217-232, 235-249


  • HW 0 due

    26
    Object Oriented Programming

    Handouts

  • Lecture Notes 5
  • Reading

  • Friesen pp. 105-132
  • 27
    Objected-oriented programming: abstract classes, interfaces.
    Casts & Overloading

    Handouts

  • Lecture Notes 6
  • Homework #2
  • Reading

  • Friesen pp. 135-155


  • HW 1 due

    28
    Access qualifiers, Parameter passing

    Handouts

  • Lecture Notes 7 & 8
  • Reading

    29
    Exceptions & other Java loose ends

    Handouts

    Reading

  • Friesen pp. 157-214


  • July 3rd
    Lists, Stacks

    Handouts

  • Lecture Notes 9
  • Reading

  • Friesen 290-312, 317-321
  • Project 1 due

    4
    Independence Day

    No Classes



    5
    Queues, Numbers

    Handouts

  • Homework 3
  • Reading

  • CR: Numbers
  • HW 2 due

    6
    More Numbers

    Handouts

  • MT1 Review Qs
  • Reading

    10
    MIDTERM #1
    11
    Threads & Networking

    Handouts

  • Project 2
  • Part of Lecture Notes 13
  • Reading

  • Friesen 415-443
  • CR: Threads


  • HW 3 due

    12
    Analysis

    Handouts

  • Lecture Notes 14
  • Reading

  • GT Chap 2
  • 13
    More Analysis & Vectors

    Handouts

  • Lecture Notes 15
  • Reading

  • GT Chap 4
  • 17
    Hash Tables

    Handouts

  • Lecture Notes 16
  • Reading

  • GT 283-291
  • 18
    Trees, BSTs

    Handouts

  • Lecture Notes 17
  • Reading

  • GT 143-187, 256-271


  • HW 4 due

    19
    Priority Queues, Heaps

    Handouts

  • Lecture Notes 18 & 19
  • Reading

  • GT 219-234
  • 20
    Treaps and Tries

    Handouts

  • Project 3
  • Reading

  • PNH on Treaps and Tries


  • 24
    Game Algorithms

    Handouts

  • Lecture Notes 20
  • Reading

    Project 2 due

    25
    Sorting

    Handouts

  • PNH on Sorting
  • Reading

  • GT Chap. 8


  • HW 5 due

    26
    More Sorting

    Handouts

    Reading

    27
    MIDTERM #2
    31
    Storage Management

    Handouts

  • Lecture Notes 24
  • Tourney + EC Instructions
  • Reading

    August 1st
    From Java to C

    Handouts

  • Lecture Notes 25
  • PNH on Java to C++
  • Reading



    2
    Intro to C++

    Handouts


    Reading

    3
    More C, and why C++ sucks

    Handouts

  • Lecture Notes 27
  • Reading




    Project 3 due

    HW 6 due Fri 5pm

    7
    Graphs

    Handouts

  • Lecture 29-30 Notes
  • Reading

  • GT 344-375, 397-408
  • 8
    Graphs: MSTs and Set operations

    Handouts

    Reading

  • GT 411-420


  • 9
    The Tourney/Life after 61B

    Handouts

    Reading

    10
    FINAL EXAM