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 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.
This semester, I am requiring each team to maintain a engineering notebook. This engineering notebook shall be in electronic format and be made online, one notebook per team. The notebook can be in form of a blog (e.g., Tumblr, GitHub, WordPress), thus an engineering blog --social media (e.g., via Twitter, Facebook, Snapchat) is not acceptable. Many professional engineers and engineering teams maintain notebooks for good reasons:
On top of these reasons, I want:
You may argue that a Git commit history serves the same purpose. However, Git commit history is largely for the source code. This course is much more than just writing code. Example: you will be drawing and communicating visuals.
At least one entry in your engineering notebook is required each week, starting on the week Leg 1 is due. At the very least, your team will need to highlight the wins and fails of the week, and plans for the upcoming weeks. The requirement for each entry in engineering notebook: a timestamp of entry. Back-dating is not acceptable.
Schedule is subject to change.
|Thursday, January 19||Course Roster PLEASE COMPLETE ASAP!|
|Tuesday, January 24th||Leg 1 Assigned, Due Thursday, February 2nd: Your Job Is Not to Write Code|
|Thursday, January 26th||
|Tuesday, January 31st||Web Frameworks, Development Environment||Tufts Engineering Student-Alumni Networking Night, Alumnae Lounge, 6 - 8:30 PM. RSVP: https://eventrsvp.tufts.edu/profile/form/index.cfm?PKformID=0x26658215a|
|Thursday, February 2nd||Presentation Evaluation Form||Leg 2 Assigned, Due Thursday, February 9th: Exploring Your Options|
|Tuesday, February 7th||Web Services, Representational State Transfer (REST)|
|Thursday, February 9th||NO CLASS, SNOW DAY||
|Tuesday, February 14th||Presentation Evaluation Form||Leg 3 Assigned, Due Thursday, March 2nd: Implementing the Minimum Viable Product|
|Thursday, February 16th||Guest Speaker: Sean Harrington (Class of 2014), Senior Software Engineer for the New England Patriots|
|Tuesday, February 21st||Work Day|
|Tuesday, February 28th||Static Content Optimization|
|Thursday, March 2nd||Work Day|
|Tuesday, March 7th|
|Thursday, March 9th||Dynamic Content Optimization and Distributed Memory Caching Systems|
|Tuesday, March 14th||NO CLASS, SNOW DAY|
|Thursday, March 16th||Presentation Evaluation Form|
|Tuesday, March 28th||Scalability. Case studies:||Leg 5, Due Thursday, April 6th: The Technical Writing Seminar and Memory Caching|
|Thursday, March 30th||Presentation Evaluation Form|
|Tuesday, April 4th||NO CLASS|
|Thursday, April 6th||Presentation Evaluation Form|
|Tuesday, April 11th||SPECIAL|
|Thursday, April 13th|
|Tuesday, April 18th||Final Project Presentations, Day 1|
|Thursday, April 20th||Final Project Presentations, Day 2|
|Tuesday, April 25th||Final Project Presentations, Day 3||COMP 120 Spring 2017 360 Degree Performance Review|
|Thursday, April 27th||NO CLASS|