Schedule

Below is a schedule for the class.  I expect it will change slightly as the semester progresses.  We will update this page as the schedule changes, and post to blog about the changes.

Date Notes Topic
Aug 19 Introduction (Slides: week1)
  • Course goals, structure, and context
  • Prototyping defined
  • Kinds of prototyping (lo-fi, hi-fi)
  • Practicum: setting up the development environment

Assignments:

  • Project Phase 0: Lo-fi prototype. Due next class
Aug 26 Jython Refresher (prelude to Asynchronous Programming) (week2)
  • Jython syntax
  • Scoping rules
  • Collections, Classes, and Modules
  • Accessing Swing from Jython

Other stuff:

Assignments:

  • Project Phase 0: Lo-fi prototype.  Due in class today.
  • Project Phase 1: GUI module.  Grading Criteria Here
Sep 2 LABOR DAY
Sep 9 Asynchronous Programming (slides, python code in slides)
  • Understanding asynchrony
  • Event-based programming
  • Combining event-based and O-O techniques

Readings (summary due next week) (instructions)

Reminder: Sign up for In-Class Presentations starting next week! (t-square wiki)

Assignments:

  • Continue GUI implementation
Sep 16 Wrap-up of Asynchronous Programming (slides, python code in slides)
  • Threading and locks
  • Implementing an event dispatch engine

Discussion of ConNexus paper

Assignments:

  • Project Phase 1: GUI module.  Due Tuesday, 11:59PM
Sep 23 Distributed Applications (Networking Basics) (slides)
  • Networking basics
  • Network programming: sockets, marshalling
  • P2P and discovery

In-Class Presentations (#1) on GUI assignment

Assignments:

Sep 30  Distributed Applications (slides)
  • Exception handling
  • Network programming idioms
  • Protocol design and prototyping

Readings (summary due next week)

Assignments:

  • Continue with networking project.
Oct 7 Distributed Applications
  • Lab time in class today.

Readings (summary due next week)

Assignments:

  • Networking project PART I due Tuesday, 11:59PM
Oct 14 FALL BREAK
Oct 21 Distributed Applications
  • Lab time in class today.

In-Class Presentations (#2) on Networking Phase 1 assignment

Assignments:

  • Completed Networking Project due Tuesday, 11:59PM
Oct 28  Web Services (week11 slidesgooglehack.jarwiki.py)
  • Mining intelligence
  • Extracing content from the Web
  • Web Services: WSDL, SOAP, etc.
  • Google, Wikipedia
  • Good listing of a lot of the web services APIs that are available

In-Class Presentations (#3) on Networking Phase 2 assignment

Readings (due next week)

Assignments:

  • Project Phase 3: Web Services module. 
Nov 4 Web Services (week12-Regular Expressions)
  • Lab time in class today.
Nov 11  Web Services
  • Lab time in class today.

Assignments:

  • Project Phase 3 (Web Services module) due Tuesday, 11:59PM
Nov 18  Data Management (week14week14-samples)
  • Data management strategies
  • Databases
  • Key principles: keys, schemas, relationships
  • Designing a database schema, normalization
  • SQL overview
  • Using databases from Java/Jython: hsqldb.jar

In-Class Presentations (#4) on Web Services assignment

Assignments:

  • Project Phase 4: Database module.
Nov 27 Data Management
  • Wrap up previous database slides

Short lecture will be followed by lab time.

Dec 2 Data Management
  • Lab time in class today.

In-Class Presentations (#5) on Database assignment

Assignments:

  • Project Phase 4 (Database module) due Tuesday at 11:59PM
Exam Week