MPCS 52554 Advanced Web Development (Autumn 2015)

Section 1
Instructor(s) Cohen, Jeffrey (jeffcohen)
Location Young 302
Meeting Times Thursday 5:30pm - 8:30pm
Fulfills

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



Course Prerequisites

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

Other Prerequisites

Overlapping Classes

This class is scheduled at a time that conflicts with these other classes:

  • MPCS 56515-1 -- Computer and Network Security
  • MPCS 51300-1 -- Compilers