COSC 617: Advanced Web Development

Course Home

Schedule

Notes

Readings

Assignments

Project

Midterm

Fall 2007 - Schedule

Direct links to papers are provided wherever possible.

All references to chapters in "Thomas" refer to Agile Web Development with Rails.

All of the readings are should be completed by the date for which they are listed. Thus, Thomas Chapters 1-4 and the Boehm paper should be completed before class meets on September 11.

Some papers are available online as electronic reserves. To find these papers, click on the "docutek" link, look under courses listed by instructor for "Hochheiser" and then login. The password is my last name followed by the three digits of the course number. Once you are logged in, you can follow links to the PDF files.

Note also that we will be reading through chapters 5-13, which progressively build an online store application. As you read these chapters, you should implement, test, and run the various components that are described. This process will help reinforce the material. You will need to have a working version of the store to complete assignments 1 and 2.

Additional readings are also available.

DateTopics, Readings, Assignments
August 28

Introduction

  • Scope, goals, class structure
  • Historical context and motivation
  • Introductory discussion of key concepts
  • Comparison with existing toolkits
  • Development Models
  • Review of Relational Databases, HTML and CSS

Lecture Notes

September 4

Model-View-Controller, and Rails

  • Introduction to MVC architectures
  • Configuration vs. Convention
  • Further introduction to Ruby & Rails

Readings:

Lecture Notes

September 11

Models, Databases and Object-Relational Mapping

  • Review of relational databases
  • Motivation for Object-Relational Mapping
  • Active Record, Hibernate, etc.
  • Simple Examples in Rails

Readings:

Presenter: Wen-Yi Chang

Lecture Notes

September 18

Basics Models and Views, and Controllers

  • Building views, models, and controllers
  • Rails scaffolding
  • More of the online store

Readings:

Project Proposal due

Presenter: Ping Kai Chen

Lecture Notes

September 25

Layouts, Views, and Sessions

  • More detail on layouts
  • Continuing the store

Readings:

Presenter: Mark Dencler

Lecture Notes

October 2

Testing and Ajax

  • Testing - unit, and functional tests
  • Javascript
  • DOM
  • CSS
  • XML-HTTP Request

Readings:

Assignment 1 Due

Lecture Notes

October 9

More Ajax

  • Ajax and Rails
  • Prototype and other tools
  • Ajax and accessibility...

Readings:

Presenter: Mike Burke

Lecture Notes

October 16

Extending Models: Active Record

  • Joins to foreign tables
  • Models
  • Forms
Readings:
  • Thomas, Ch 10, 16

Project Design Due

Presenter: Joseph Gusmano

Lecture Notes

October 23

More on Active Records

  • Relationships between tables
  • Object Life Cycle
  • Transactions, etc.

Readings:

Take-Home midterm exam distributed

Presenter: Mark Mittrick

Lecture Notes

October 30

Validation and Authorization

  • Validating in active records
  • Authentication - filters
  • Aspect-oriented programming

Readings:

Take-Home midterm exam due, via email, at 5pm

No presenter scheduled, due to midterm

Lecture Notes

November 6

Testing and Controllers

  • Integration Testing
  • Performance Benchmarking
  • Routing

Readings:

  • Thomas, Chapter 13,20

Assignment 2 due

Presenter: Tim Munn

Lecture Notes

November 13

More on controllers, Views

  • Interaction with Rails
  • Action Views

Readings:

Project Progress Report Due

Presenter: Ross Pearlman

Lecture Notes

November 20

Email and Web Services

  • Email
  • Providing Web Services: SOAP, XMLRPC, etc.
  • Accessing Web Services: flickr,yahoo, etc.

Readings:

Lecture Notes

November 27

Security and Deployment

  • Securing a web application
  • Deployment: moving to a production web server

Readings:

Assignment 3 Due

Presenter: Lianjiang Zong

Lecture Notes

December 4

Beyond Rails: Other Systems, Miscellanea

  • J2EE, .NET, PHP
  • Remote Objects
  • Mobile Interfaces
Readings:

Lecture Notes

December 11

Presentations

Project Presentations
December 17

Papers Due

Project Papers Due via email 5 PM