syllabus

subject to change regularly!!!
last updated: Mon Apr 14 23:36:22 EDT 2003 (sklar)

wed jan 22 -- lecture #1
  • topics:
    • introduction to the course
    • educational games
  • lecture: (slides) (notes)

mon jan 27
  • cancelled class due to illness :-(

wed jan 29 -- lecture #2
  • topics:
    • advanced Java graphics programming
  • lecture: (slides) (notes)

mon feb 3 -- lecture #3
  • homework #1: click here
  • topics:
    • intro to C
      • using gcc, C preprocessor
      • data types
      • basic I/O (stdio library)
      • math library
      • branching and looping
  • lecture: (slides) (notes)
  • bounce example from last class

wed feb 5 / fri feb 7 -- lab #1
  • lab exercise: Java graphics
  • lab exercise: intro C

mon feb 10 -- lecture #4
  • topics:
    • C from Java: miscellaneous topics
      (logical operators, random numbers, character handling)
    • C from Java: file I/O
    • C from Java: arrays, strings and pointers
    • C from Java: dynamic memory allocation
  • lecture: (slides) (notes)

wed feb 12 / fri feb 14 -- lab #2
  • lab exercise: more C

mon feb 17 --
  • homework #1 due ELECTRONIC
  • CLASS CANCELLED. University closed due to snow.

wed feb 19 -- lecture #5
  • homework #1 due HARDCOPY (documentation)
  • homework #2: click here
  • topics:
    • C from Java: structured data types (typedef, enum, struct, union)
    • C from Java: functions
    • C from Java: programs with multiple files
    • C from Java: extras
    • an in-depth look at some advanced C programming
  • lecture: (slides) (notes)

mon feb 24 -- quiz #1 and lecture #6
  • quiz #1
  • shell scripts: sh, bash
  • lecture: (slides) (notes)

wed feb 26 -- lab #3
  • lab exercise: shell scripts

mon mar 3 -- lecture #7
  • topics:
    • regular expressions
    • perl
  • lecture: (slides) (notes)

wed mar 5 / fri mar 7 -- lab #4
  • lab exercise: perl

mon mar 10 -- lecture #8

  • homework #2 due
  • homework #3: click here
  • topics:
    • unix processes, threads, sockets
  • lecture: (slides) (notes)

wed mar 12 -- lab #5
  • lab exercise: processes, sockets

mon mar 17
  • spring break

wed mar 19
  • spring break

mon mar 24 -- lecture #9
  • topics:
    • software documentation
    • user documentation
  • lecture: (slides) (notes)

wed mar 26 -- quiz #2
  • quiz #2

mon mar 31 -- lecture #10

wed apr 2 / fri apr 4 -- lab #6
  • lab exercise: software engineering

mon apr 7 -- lecture #11
  • topics:
    • make
    • configuration management
    • programming sockets in Java
  • lecture: (slides) (notes)

wed apr 9 / fri apr 11 -- lab #7
  • lab exercise: make, RCS

mon apr 14 -- lecture #12
  • topics:
    • web programming
    • unix programming tools
    • unix installation tools (autoconf)
  • lecture: (slides) (notes)

wed apr 16 / fri apr 18 -- no lab

  • LAB CANCELLED THIS WEEK! Happy Pesach.

mon apr 21 -- lecture #13
  • homework #4 due
  • homework #5: click here
  • topics:
    • Internet programming: HTML forms
    • Internet programming: CGI
    • Internet programming: Javascript
  • lecture: (slides) (notes)

wed apr 23 / fri apr 25 -- lab #8
  • lab exercise: Internet programming

mon apr 28 -- lecture #14

wed apr 30 / fri may 2 -- lab #9
  • lab exercise: Tcl/Tk

mon may 5 -- quiz #3
  • quiz #3

wed may 7 (reading day; no lecture)
  • homework #5 due