COMP 120: Web Engineering

Tufts University Department of Computer Science, Spring 2016

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


Software Downloads



Class participation encompasses a variety of activities, all with the same purpose. To earn high grades for class participation, you must show that you are actively engaged in managing your own learning, developing new skills, and developing new ways of programming and problem-solving. You can be engaged in a variety of ways:

Nobody has to do all of these things; you can earn top grades for class participation by doing just a few things well. In particular, nobody is required to speak in class, but everybody should be prepared to answer questions if called upon.

Professional interactions with other students and with course staff are the same as those which are expected in any workplace. It is also professional for you to recognize that a member of the course staff may be present but not actually available to talk about COMP 120.

Course Policies

  1. Because each leg of the semester project is team-based, no extensions will be granted.
  2. Because this class will have a number of guest speakers and student presentations, laptops or mobile devices are not allowed to be used in class unless specified. Phones must be silent. You are allowed to politely step outside of the class to take phone calls (e.g., for emergencies, job offers)./li>
  3. While you are allowed to use third-party APIs, packages, or libraries for development, I will not help you with any questions or issues that you have with them.
  4. If you sabotage another team's work or presentation, your team will receive an F in the course.


Schedule is subject to change.

Date Agenda Deliverables
Thursday, January 21st Course Roster PLEASE COMPLETE ASAP!
Tuesday, January 26th
Thursday, January 28th  
Tuesday, February 2nd Project Leg 1: Data Schema and Wireframe Presentations
Thursday, February 4th  
Tuesday, February 9th Development Environment  
Thursday, February 11th  
Tuesday, February 16th Project Leg 2: Minimum Viable Product (MVP) Presentations Project Leg 3: Production, Unit Testing, Code Review Assigned
Tuesday, February 23rd  
Thursday, February 25th Project Leg 3: Production, Unit Testing, Code Review Presentations
Tuesday, March 1st Reading: How To Deploy Software (Zach Holman)  
Thursday, March 3rd
Tuesday, March 8th Dynamic Content Optimization and Distributed Memory Caching Systems  
Thursday, March 10th Work Day  
Tuesday, March 15th Project Leg 5: Writing the API Presentations  
Thursday, March 17th Scalability. Case studies:  
Tuesday, March 29th Session Management Project Leg 6 Assigned: Polling and Memory Caching
Thursday, March 31st Authentication and Authorization  
Tuesday, April 5th SPECIAL  
Thursday, April 7th Project Leg 6: Polling and Memory Caching Presentations  
Tuesday, April 12th Mobile  
Thursday, April 14th Looking Ahead  
Tuesday, April 19th Final Project Presentation Day 1  
Thursday, April 21st Final Project Presentation Day 2 360 Degree Performance Review (Final)
Tuesday, April 26th Final Project Presentation Day 3  
Thursday, April 28th NO CLASS