COMP 20: Web Programming (ONLINE)

Tufts University Department of Computer Science, Summer 2017, Session A


Teaching Assistants



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 20.


Week 1: The Fundamentals

Week 2: Developing Front End Content

Week 3: The JavaScript Programming Language

Week 4: Making Front End Content Interactive and Dynamic

Week 5: Developing the Server Side

Week 6: Web Security

Course Policies


All labs for a given week are generally due on Sunday at 11:59 PM. The new week will be made available on Monday morning at 10 AM.

Expectations and Structure of This Online Course

This will be an adventure for all of us but it will be a fun one for sure. A few notes on the expectations and structure of this course:

1. What this course will NOT have and what I will NOT do:

There are many good reasons why I will not do any of the above items:

Adding constraints and extra burden to your lives especially during the summer will not fit well with anyone. Extra constraints and burden also defeat the purpose of an online course. Thus, you will probably not see me at all this summer.

2. You are on your own pace.

You can choose to:

  1. Pace yourself during the week
  2. Do everything during the weekend
  3. Do everything during the last minute
  4. Don't do any of the work

Your choice, but the latter three choices are not wise.

3. You are responsible for your own learning.

A very important point: if you want everything gone over in lecture or in notes, then this is not the course for you. More importantly, that's not how things work in real life.

4. You will learn by doing.

Each week, there will be at most three labs (and a quiz every other week) to hone your skills and to aim at the crux of the matter for the week. Here's an analogy: you don't learn how to cook simply by just reading cookbooks and watching YouTube videos. You learn by making, using your hands, and making mistakes.

5. You will learn by asking questions.

It is your responsibility to ask questions early and to ask for help...

6. ...and I expect this Piazza board to be very active and civil.

Share thoughts and respond to other people's questions. The TAs and myself will be online constantly, thus the idea of set office hours almost becomes moot point. It is no secret that I respond very quickly unless I need to be away.

7. As for the workload...

Hard to say because the skill-set of the students varies: from those who have just completed Introduction to Computer Science and/or Data Structures to those who already have a Computer Science degree. In terms of number of hours you should expect to spend per week, my rough estimate and expectation is anywhere from 3 to 10 hours of work a week.

There is a very good post published by Northeastern University: "How To Be a Successful Online Learner." Link: