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: Wednesdays from 1 - 4 PM, or by appointment, on the second floor of Halligan Hall by the CS Main Office (hours are good until the last day of classes, April 23rd)
- Please send all class questions (e.g., help on assignments and labs) via Piazza. DO NOT E-MAIL ME! Sign up at https://piazza.com/tufts/spring2015/comp120.
- For emergencies or private matters, please e-mail or see me directly.
- Tyler Lubeck, firstname.lastname@example.org
- Office Hours: Thursdays from 3 - 4:30 PM, or by appointment. See Halligan Helper for location.
- Will potentially add more if there is demand, but feel free to email me.
- Tuesdays and Thursdays, 1:30 - 2:45 PM in Barnum/Dana Hall 104
- COMP 20: Web Programming or permission by instructor
- Assignments, problem sets, labs (60%)
- Final Project (25%)
- Class participation and subjective factors (15%)
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:
- Writing sane and sensible answers on quizzes
- Asking appropriate questions in class
- Answering questions when called on in class
- Asking appropriate questions on Piazza
- Answering questions well on Piazza
- Organizing study groups
- Interacting professionally with programming partners and course staff
- Working out ideas with teaching assistants
- Helping other COMP 120 students (or COMP 20 students for that matter) in Halligan
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.
Assignment 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:
- 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
email@example.com. 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.
A lab is due one week from the day it is assigned.
Solutions to Assignments and Examinations
Solutions to assignments and examinations will not be posted for this course.
Schedule is subject to change.
|Thursday, January 15th||Course Roster PLEASE COMPLETE ASAP!|
|Tuesday, January 20th|
|Thursday, January 22nd||
|Tuesday, January 27th||NO CLASS (BLIZZARD)|
|Thursday, January 29th||Project 1, Leg 1: Data Schema and Wireframe Presentations||Project 1, Leg 2: Implementing the Minimum Viable Product|
|Tuesday, February 3rd|
|Thursday, February 5th||Web Frameworks|
|Tuesday, February 10th||NO CLASS (SNOW)|
|Thursday, February 12th||Project 1, Leg 2: Implementing the Minimum Viable Product Presentations||Project 1, Leg 3: The Benefactor|
|Tuesday, February 17th||Project 1, Leg 3 Presentations; Distributed Memory Caching Systems|
|Tuesday, February 24th||Project 1, Leg 4: Optimizations|
|Thursday, February 26th||Scalability. Case studies:|
|Tuesday, March 3rd||Guest Speaker: Dr. Noah Daniels (LA '01, GE '06, GE '13), 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|
|Thursday, March 5th||Project 1, Leg 4 Presentations||Project 1, Leg 5: Writing the API|
|Tuesday, March 10th|
|Thursday, March 12th||The Real Time Web||Leg 8: The Final Project|
|Tuesday, March 24th||Session Management|
|Thursday, March 26th||
||Project 1, Leg 6: Polling|
|Tuesday, March 31st|
|Thursday, April 2nd||Project 1, Leg 6 Presentations||Project 1, Leg 7|
|Tuesday, April 7th||Guest Speaker: Greg Raiz (E '98'), Founder & CEO of Raizlabs||Project 1, Leg 8: The Final Project|
|Thursday, April 9th||Mobile|
|Tuesday, April 14th||Push Notifications|
|Thursday, April 16th|
|Tuesday, April 21st||Final Project Presentations|
|Thursday, April 23rd|