syllabus

subject to change! last updated: 4-dec-2007

unit: topic date course materials reading

unit I:

Interfaces

mon aug 27
  • lecture I.1: foundations of human-computer interaction
    ---- lecture notes
  • reading:
    Leonardo's Laptop, by Ben Schneiderman (MIT Press, 2002), chapter 5.

    on-line resources:
    ---- java API specification
    ---- java tutorial "getting started"

    downloads:
    ---- download JDK 6 Update 2
    ---- download TextPad
    ---- download NetLogo
    ----
    download Scratch

    examples:
    ---- GUI example #1
    ---- GUI example #2
    ---- GUI example #3 (imports a picture)

    movies:
    ---- Photosynth/Seadragon video
    ---- Multi-touch screen video

    thu aug 30
  • lab I.1: interfaces lab part 1
  • mon sep 3
  • no class! (labor day)
  • thu sep 6
  • lecture I.2 (in 130NE): introduction to java, part 1
    ---- lecture notes
  • mon sep 10
  • lecture I.3: introduction to java, part 2
    ---- lecture notes
  • thu sep 13
  • no class! (rosh hashanah)
  • mon sep 17
  • lecture I.4: introduction to java, part 3
    ---- lecture notes
  • thu sep 20
  • lab I.2: interfaces lab part 2
  • mon sep 24
  • lecture I.5: user interface design principles
    ---- lecture notes
  • thu sep 27
  • lab: continue to work on interfaces lab part 2

  • unit II:

    Graphics

    mon oct 1
  • lecture II.1: using APIs and fundamental techniques in graphics
    ---- lecture notes
  • reading:
    ---- Java by Dissection, by Ira Pohl and Charlie McDowell, ch 8-9
    ---- Introduction to Computer Graphics, by James D. Foley, Andries van Dam, Steven K. Feiner, and John F. Hughes; excerpts from ch 1, 3 and 5

    on-line resources:
    ---- java graphics tutorial

    examples:
    ---- dots.html
    ---- bounce.html

    movies:
    ---- Sims' creatures movie
    ---- Lipson's creatures movie

    data visualization:
    ---- Michael Friendly's Data Visualization Gallery

    thu oct 4
  • lab II.1: graphics lab part 1
  • mon oct 8
  • no class! (columbus day)
  • thu oct 11
  • lab II.2: graphics lab part 2
  • mon oct 15
  • lecture II.2: graphics systems
    ---- lecture notes
  • thu oct 18
  • lab: continue to work on graphics lab
  • mon oct 22
  • lecture II.3: graphic inspirations
    ---- lecture notes
  • thu oct 25
  • lab: finish up graphics lab

  • unit III:

    Net-centric
    Systems

    mon oct 29
  • lecture III.1: intro to net-centric computing
    ---- lecture notes
  • reading:
    ---- handout on computer networks
    ---- handout on php

    online-resources:
    ---- php home page
    ---- php reference manual
    HTML information/tutorials:
    ---- basic HTML
    ---- advanced HTML
    ---- style sheets
    ---- web safe color names
    ---- HTML forms
    PHP information:
    ---- php home page
    ---- manual
    PERL information/tutorials
    ---- here's a quick start reference
    ---- the main perl page
    ---- documentation

    examples: (see code in lecture III.1 and below)
    ---- hello.php (source code)
    ---- hello2.php (source code)
    ---- hello3.php (source code)
    ---- colors.php (source code)
    ---- arrays.php (source code)
    ---- myclass.php (source code: myclass.php and userclass.php )
    ---- lunch.html (source code: lunch.php)
    ---- bigform.html (source code: bigform.php)

    thu nov 1
  • MIDTERM EXAM (10% of term grade)
  • mon nov 5
  • lecture III.2: communication, networking and network security
    ---- lecture notes
  • thu nov 8
  • lecture III.3: catch-up (finish php basics; finish internet security)
    ---- lecture notes
  • mon nov 12
  • lecture III.4: intelligent client-server applications
    ---- lecture notes
  • thu nov 15
  • lab III: net-centric computing lab
  • mon nov 19
  • lecture III.5: perl and CGI programming
    ---- lecture notes
  • tue nov 20
  • lab: more time on lab III
    (CUNY Conversion Day)

  • unit VI:

    Software Design

    mon nov 26
  • lecture: introduction to software design
    ---- video: Fred Brooks talk
  • reading:
    ---- handout: excerpts from Mythical Man Month, by Fred Brooks

    movie:
    ---- Fred Brooks talk (big file)

    thu nov 29
  • lab: extra time for lab III
  • mon dec 3
  • lecture IV.1: software requirements and specs
    ---- lecture notes
  • thu dec 6
  • lab IV: software design lab
    ---- assignment IV
  • mon dec 10
  • last class
    ---- assignment IV oral reports
    ---- review for final exam

  •   thu dec 20
    8-10am
  • FINAL EXAM (30% of term grade)