CS 6452: Prototyping Interactive Systems (Spring 2006)

Instructor: Keith Edwards, keith (AT) cc, TSRB 345; Office Hours by appointment.

Volunteer TA:Valerie Henderson, vlh (AT) cc; Office Hours TBD

Course mailing list: cs6452-spring06 (AT) cc (includes instructor and TA) Course Swiki: Here!

Documents and Software

Potentially Useful (but Optional) Texts

See Syllabus document above for some comments on each of these.

Useful Chapters from Text of 4452

Mark Guzdial has graciously given me permission to post sections from his book that cover a couple of topics that will be useful to us as we go through the class:

Other Resources

Tentative Class Schedule

(Please check the class schedule periodically, as it may be updated as necessary.)

Week Topic Materials Assignments & Readings
1
1/9/06
Introduction
  • Course goals, structure, and context
  • Prototyping defined
  • Kinds of prototyping (lo-fi, hi-fi)
  • Practicum: setting up the development environment
Slides: Assignments:
  • Lo-fi prototype, due 1/17/06
Readings:
2
1/16/06
No Class! MLK Holiday!
3
1/23/06
Jython Refresher (prelude to Asynchronous Programming)
  • Jython syntax
  • Scoping rules
  • Collections, Classes, and Modules
  • Accessing Swing from Jython
Slides: Other stuff: Assignments:
  • Implement GUI front end. Due 11:59PM, 2/7/06.
  • Sign up for in-class presentations for 2/6/06.
Readings:
4
1/30/06
Asynchronous Programming
  • Understanding asynchrony
  • Event-based programming
  • Combining event-based and O-O techniques
Short lecture, followed by paper discussion then lab time!
Slides: Assignments:
  • Continue GUI implementation
Readings:
5
2/6/06
Asynchronous Programming

No lecture this week.
Paper discussions, in-class presentations, then lab time.
In-Class Presentations!
Assignments:
  • Remember: GUI implementation due tomorrow, 11:59PM
6
2/13/06
Wrap-up of Asynchronous Programming
Distributed Applications (Networking Basics)
  • Threading and locks
  • Implementing an event dispatch engine
  • Networking basics
  • Network programming: sockets, marshalling
  • P2P and discovery
Slides: Other stuff: Quiz 1: Covering readings to date, GUIs, asynchronous programming, and prototyping.

Readings:
  • None for this week
7
2/20/06
Distributed Applications
  • Exception handling
  • Network programming idioms
  • Protocol design and prototyping
Slides: Assignments: Readings:
8
2/27/06
Distributed Applications

No lecture this week. Discussion of readings, then lab time
Assignments:
  • Continue working on networking assignment.
  • Sign up for in-class presentations on 3/13.
Readings:
9
3/6/06
Distributed Applications

No lecture this week. Discussion of readings, then lab time.

Readings:
  • None for this week.
10
3/13/06
Distributed Applications
Quiz 2: Covering readings and lectures since the last quiz, and networking in general.

In-Class Presentations!

Assignments:

  • Remember: Networking implementation due tomorrow, 3/14, 11:59PM
11
3/20/06
No class! Georgia Tech Spring Break!
12
3/27/06
Web Services
  • Mining intelligence
  • Extracing content from the Web
  • Web Services: WSDL, SOAP, etc.
  • Google, Maps, Wikipedia, and Placelab
Slides: Other Stuff: Assignments: Readings:
13
4/3/06
Web Services

No lecture this week. Discussion of readings, in-class presentations, then lab time.

In-Class Presentations!
Assignments:
  • Keep working on web services project.
  • Due this Friday, 4/7, 11:59PM
14
4/10/06
Data Management Slides: Other Stuff: Quiz 3: Covering readings and lectures since the last quiz (all the web services stuff)

Readings:

  • None!
Assignments:
  • Implement database project. Due Friday 4/28/06, 11:59PM.
  • We'll use the same grading criteria for the entire class this time.
  • Prepare for in-class presentations next week!
15
4/17/06
Data Management

No lecture this week. In-class presentations, then lab time.

In-class Presentations!
Assignments:
  • Keep working on database project.
16
4/24/06
No class! CHI Week! None Assignments:
  • Remember: Database project due Friday, 4/28, at 11:59PM