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.
- Ming Chow, email@example.com
- Office Hours: Tuesdays and Thursdays 2 - 3 PM, Wednesdays 2 - 4 PM, by appointment, in Halligan 228A
- Please send all class questions via Piazza. DO NOT E-MAIL ME! Sign up at https://piazza.com/tufts/fall2013/comp/120.
- For emergencies or private matters, please e-mail or see me directly.
- Tuesdays and Thursdays, 4:30 - 5:45 PM in Anderson Hall, Nelson Auditorium
- COMP 20: Web Programming or permission by instructor
- Assignments (70%)
- Final exam (20%)
- Subjective factors (including attendance, class participation, and posting to Piazza; 10%)
|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|
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:
- 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
firstname.lastname@example.org. 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.
- 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.