Advanced Web Development

Title Advanced Web Development (52554)
Quarter Autumn 2015
Instructor Jeffrey Cohen (jeffcohen@cs.uchicago.edu)
Website

Syllabus

This course builds upon MPCS-52553 to enable students to gain mastery over modern web architectures and services.  

Today's consumer-facing and business applications must consume external services and publish services of their own.  Students will build interconnected chains of services, with a particular emphasis on efficiency, security, and sustainability using modern web frameworks such as Rails, React, Node, and more.

 

Course Contents

The primary topics to be covered are:

  • Essentials of Javascript and the jQuery framework
  • AJAX and the asynchronous web
  • Advanced HTTP semantics and implementation
  • Consuming web services from both the client-side (JSON, JSONP) and server-side (JSON, XML)
  • Publishing JSON/XML web services with Rails, Node, and/or other platforms
  • The notion of the SPA “Single-Page App” architecture using React, Angular, and/or other frameworks

Some examples of the kind of services we will use and/or rebuild are:

  • Traffic statistics (Google Analytics, Clicky, etc.)
  • Link shortenting   (bit.ly, etc.)
  • Social Bookmarking (delicious.com, digg.com, etc.)
  • Credit card processing (Stripe, PayPal, BrainTree, etc.)
  • Weather data (OpenWeatherMap, Forecast.io, etc)
  • Messaging (Twilio, Mandrill, etc.)
  • Geolocation and Geocoding (Google Maps, OpenMaps, etc.)

 

Coursework & Grading

 

1. Three programming assignments, worth 20% each.  All assignments start with a prewritten
Rails application which must be modified according to certain requirements.

2. Three brief, in-class quizzes are administered at the beginning of weeks 3, 6, and 9.  Quizzes are worth 5% each and consist of fixing a small program that's broken, a set of multiple choice quesitons, or a combination of both.

3. One Final Project worth 25%.  The project consists of a Rails (or equivalent) application, deployed to a live internet address, that provides as useful service, provided as a REST-compliant JSON endpoint, allowing for public signups and providing an admin interface to its users.

Required Textbooks

1. "RESTful Web Services Cookbook" by Subbu Allamaraju; O'Reilly/Yahoo Press, 2010.  Amazon link: http://www.amazon.com/gp/product/0596801688

2. "JavaScript and JQuery: Interactive Front-End Web Development" by Jon Duckett; Wiley 2014. Amazon link: http://www.amazon.com/gp/product/1118531647



Prerequisites (Courses)

MPCS 522553 - Web Development (or instructor's consent)

Prerequisites (Other)

Satisfies

Elective

Time

Thursdays, 5:30-8:30

Location

Young 302