Web Engineering

COMP 120, Tufts University Department of Computer Science, Fall 2013

Course Description

Web applications are complex systems that deliver a plethora of features to a large number of users (including developers), and also exhibit unique behaviors and demands in terms of performance, scalability, usability, and security. This course will discuss the limits of current web technologies, information and service architectures, caching, session and data management.


Class Time

  • Tuesdays and Thursdays, 4:30 - 5:45 PM in Anderson Hall, Nelson Auditorium

Teaching Assistant

  • None


  • None


  • COMP 20: Web Programming or permission by instructor


  • Assignments (70%)
  • Final exam (20%)
  • Subjective factors (including attendance, class participation, and posting to Piazza; 10%)


Date Agenda Deliverables
Tuesday, September 3rd Course Introduction Assignment 0: Class Sign-In (Please complete ASAP)
Thursday, September 5th Static Content Optimization Techniques Assignment 1: Optimizing Frogger; Due Tuesday, September 17th at 11:59 PM
Tuesday, September 10th  
Thursday, September 12th  
Tuesday, September 17th Web Frameworks; Rails Lab: Ruby and CouchDB
Thursday, September 19th Representational State Transfer (REST)  
Tuesday, September 24th Distributed Memory Caching Systems, Memcached Assignment 2: MessageHub; Due Tuesday, October 8th at 11:59 PM
Thursday, September 26th Session Management  
Tuesday, October 1st In-Class Lab: National Historic Places  
Thursday, October 3rd  
Tuesday, October 8th  
Thursday, October 10th Case Studies:  
Tuesday, October 15th NO CLASS (Monday Schedule)
Thursday, October 17th Final Project Assigned
Tuesday, October 22nd    
Thursday, October 24th Security via CTF Game  
Tuesday, October 29th Mobile  
Thursday, October 31st  
Tuesday, November 5th Guest Lecturer: Dr. Noah Daniels (LA '01, GE '06), Postdoctoral Associate at the Computation and Biology Group at MIT CSAIL, former Director of Data Analysis at Panjiva, Inc. and former Vice President of Research, IntrinsiQ Financial, LLC Assignment 3: Mobile MessageHub; Sunday, November 17th at 11:59 PM
Thursday, November 7th Guest Lecturer: Jeff Seibert, Director of Engineering at Twitter and Founder of Crashlytics
Tuesday, November 12th Mobile (continued)  
Thursday, November 14th Push Notifications  
Tuesday, November 19th and Thursday, November 21st Final Project Presentations Final Exam Information
Tuesday, November 26th  
Thursday, November 28th NO CLASS (Thanksgiving)
Tuesday, December 3rd  
Thursday, December 5th FINAL EXAMINATION

Course Policies

Late Policy

Assignments (labs, homework) that is submitted electronically (most homework) will typically be due at 11:59 PM on a Tuesday or Thursday. We will grant an automatic extension of ten minutes at no cost to you. If you plan on submitting your work at midnight or at six, you will have nine minutes for last-minute changes.

An assignment is expected to be submitted on time. However, we recognize that the exigencies of college life occasionally interfere with on-time submission. If you have difficulty getting the assignment in on time, you have two options:

  1. For ordinary difficulties, each student is automatically issued three (3) "extension tokens." By expending an extension token, you can get an automatic 24-hour extension on all deadlines associated with a single assignment. To use an extension token, you must e-mail me at mchow@cs.tufts.edu. Thus must be sent before the assignment is due. At most two extension tokens may be expended on any single assignment. When you are out of tokens, late assignments will no longer be accepted: it will be returned ungraded, and you will receive no credit for the work.
  2. If a serious illness affects your ability to complete the assignment on time, your first step is to report the illness using the "Illness Notification Form" that is available in WebCenter for Students. We will make suitable arrangements. For extraordinary difficulties, such as bereavement, family emergencies, or other extraordinary unpleasant events, your first step should be to make contact with your associate dean for undergraduate education. You must take this step before the assignment is due. Ask your dean to drop me an email or give me a call, and we will make special arrangements that are suited to your circumstances.

Please understand that extension tokens are meant to be used. That is, you will not receive any special bonus at the end of the course if you do not use any of your extension tokens.

Solutions to assignments and labs will not be posted for this course.