Syllabus for CS 204, Front End Web Development, Spring 2026

Welcome to what I think will be an exciting class! This page describes the structure, format and requirements of the class.

About this Course

If you haven't already, please read about this course

Educational Goals

The major concepts and topics are listed in the "About" page, above. The major goals of this course are that students

  1. understand those concepts and topics
  2. be able to build a web pages using those concepts and techniques
  3. to build community

The first ones are typical of CS 204 for many years, but the last is new. In this remote semester, it will be easy to feel isolated, cut off from your fellow students. One of my goals is to fight that feeling of isolation: to try to build friendships and relationships. Please help me with this.

Instructor

My name is Scott Anderson. Feel free to call me Scott. My office is in W118 and my office phone is extension 3249, but the best way to reach me is by email at scott.anderson@wellesley.edu.

As I said above, I encourage you to come to my office, but if you're not able to, we can meet on Zoom. My office hours will always use my personal zoom link. They are configured to use a waiting room so feel free to stop by even if you don't have an appointment (though making an appointment will minimize your wait):

These links are synonymous.

I've set up bookable appointments (15 minute slots) during my office hours. That will allow you to have some idea whether I'm available and be able to reserve some of my time. However, you don't need to make an appointment in order to visit. If someone else already has that slot and nothing better is available, you can come then and hope that the other person's question takes less than 15 minutes. I'll be using a waiting room, so you'll just wait in the waiting room until I'm available. Or, contact me for an alternative time.

Note that I typically expect students to meet me in person in my office, so if you want to meet on Zoom, be sure to tell me.

Scott's Calendar

My office hours for Spring 2026 are as follows

  • Mon and Thurs, 2:15-3:30
  • Tues and Fri, 3:30-5:00
  • Wed 2:00-3:15pm

You can book OH appointments via Calendly:

Please book only one appointment at a time, so that appointments are available for other students. We can always take extra time if needed.

I encourage you to come to my office, but if you're not able to, we can meet on Zoom. but be sure to let me know to meet you on Zoom.

If these times don't work for you, please let me know. You can always schedule an appointment.

Note that you can also ask questions by email. Sometimes it's easier to talk over zoom, but often an email will suffice.

I love to talk with students one-on-one — it's the best part of my job — so please visit me during office hours. You don't even need to have a question!

Tutors

We have an excellent tutor this semester, holding a two-hour block of café hours (drop-ins)

  • Suzy Xu (sx106) holding her café hours Wednesdays 6-8 in location TBD

Prerequisites

CS 204 has CS 111 Programming and Problem Solving as a prerequisite. Students with equivalent programming ability may also be admitted. If you do not have this prerequisite, contact me ASAP. You should probably drop the class.

Class is In Person

Class time will be in person; there is no remote option via zoom except as mandated by the college. If, for any reason, you're unable to come to class, you can get notes from someone who was there (as usual) or talk to me.

We will spend class time on active learning as opposed to lecture. You'll spend much of the time working on exercises or assignments with your partner. So you'll want to attend.

Active Learning

I'm teaching this course using active learning, sometimes also called a flipped classroom format. That means we will spend our class time on interaction (discussions, Q&A) and on coding. The coding will be working on homework assignments and project work. It's unlikely that you will complete the assignments solely during class, but hopefully you will make good progress. Furthermore, I will be available to help when you get stuck. In some ways, class time becomes office hours. (I'll also hold regular office hours.)

Active learning means that I will expect you to prepare for class before class. That means doing the reading, watching the videos, and taking some quizzes. I have always asked students to prepare for class by doing reading before class, but the balance is much changed now. I will be minimizing lecturing as much as possible, so that we can maximize time to work on assignments.

Grade Cutoffs

I use Sakai and have configured it to use these grade cutoffs. Yes, if you are very close to the next higher level, I will "round up".

min letter grade
93 A
90 A-
87 B+
84 B
80 B-
77 C+
74 C
70 C-
60 D

Re-doing an Assignment

There has been a lot of discussion recently about equity in grading policies and how that may be different from equality. As an extreme example, if I based the grade on a single high-stakes exam at the end, it would treat everyone equally, but might not be "fair." A student who doesn't "test well" (maybe has an anxiety condition or something else) or just has a bad day, can end up with a grade that doesn't fairly represent their knowledge of the material.

In some cases, I am willing for an assignment to be fixed and re-submitted. I want to be judicious about this, though, because a policy of unlimited do-overs favors students who have lots of time, and that isn't always equitable. (I recall a student who thanked me for imposing a time-limit on the take-home exam because they felt disadvantaged compared to other CS majors who has a lot more time available.) These re-submissions are typically for people who misunderstood an assignment and just did the wrong thing, rather than for people who just made a few mistakes here and there.

Schedule

The current schedule is online. Note that this course meets three times per week.

My goal is to make sure everyone is comfortable with a topic before going on, so we may spend more time on these topics than I have allocated. If so, topics will be moved later, and the last topics will be omitted. I expect we will not fall more than a couple of days behind, but we'll see.

The schedule lists:

  • readings, which should be done before that day's class. There will usually be an associated Brightspace quiz, which will be available beforehand. Look for that. The readings will mention if there is an associated video.
  • activities for that day of class (usually shown for brevity as "do") on the schedule. No need to read that before class, but you're welcome to if you like.
  • assignments (both homework assignments and project deadlines).

Please take a look at it and make sure it's clear.

Videos

Most of the asynchronous content of this course is presented in webpages like this one. I will also record videos where I have a demo of a procedure or result that really requires it.

Policies

Please take a couple of minutes to read my policies. My policies cover questions like attendance, extensions, grading standards, collaboration and the like.

AI Policy

For CS 204, I will not allow you to use AI tools such as Github co-pilot and Chat GPT in coding your assignments. You may use AI to help you understand the readings and examples and such, but all the code you write must be your own work.

You can read more on the CS 111 course policy on Gen AI

We will discuss the role of AI and our roles as software developers in the first day of the class, both because I want and value your insight and because we need to be in agreement on these issues. I will update this section as a consequence of that discussion.

Here are my current views:

AI can make a useful assistant or collaborator, but you must always be in charge of your code. That means you have to be responsible for the code. To do so, you have to be a coder yourself. A course at the 200 level is a good time to gain those fundamental coding skills. It's important to gain as much practice as possible reading and writing code, on your own, without assistance.

Consequences: I do not want to make this course adversarial. My assumption is that you will be honest and eschew AI (and other forms of cheating) in your work. However, if I have reason to suspect that the code you wrote is not solely yours, I will ask to talk to you about it. A first such conversation might result in a warning, but it will not result in an honor code charge. A subsequent conversation might result in a charge.

Evaluation

Student work will consist of homework assignments, quizzes, exams and a semester project. They are weighted as follows:

componentweight
assignments60
project10
exam110
exam210
quizzes10

Homework Assignments

There will be about ten homework assignments. The assignments will usually all have the same weight; but I will give additional weight to those that are more time-consuming. The schedule lists the assignments and due dates as currently planned.

Project

The final project is due at the end of exams. It is similar to our homework assignments but bigger. It takes the place of a final exam.

Midterm Exams

There will be two exams during the semester. They will be in-class and paper-and-pencil. They will cover

  • concepts from the course
  • design questions
  • coding problems, similar to parts of our programming assignments

This section may be revised based on our class discussion, but the above is my current plan.

Exam corrections: As a way to increase learning and decrease anxiety, I will allow to make corrections to your exam, gaining back half the points that you lost, with the total score limited to 90%. To do so, you must make an office hours appointment with me and then explain what you did wrong on the problem and what the correct answer is. This is not an oral exam; if you make a good-faith explanation, you will get the points back. This is a kind of "mastery" grading.

Note that since the exam corrections are limited to 90%, the corrections are only open to folks who got less than 90% on the exam. Furthermore, you must meet with me within a week of getting your exam score; I don't want to be doing this for weeks after an exam.

Coding Style

The bulk of the grade for each assignment will be for getting the code working, but coding style is still important. See coding-style for some guidelines.

Gradescope

To ensure consistent and timely grading, I've used Gradescope. At the beginning of the term, you'll get an email inviting you to join (if you don't already have an account). When you are done with an assignment, you'll upload a short PDF to Gradescope for that assignment, saying who you worked with and any other pertinent facts. These will be described in the assignment.

If you work with a partner, only one partner uploads a PDF for the two of you, but that person must be sure to associate the partner with the submission. In other words, if Alice and Betty work together, and Alice uploads, Alice will click a few more buttons to associate Betty's gradescope account with the submission. (Gradescope doesn't read the PDF, so it won't see what you wrote there.)

Quizzes

We will be using the quiz feature of Brightspace to administer online quizzes before most, maybe all, lecture classes. These will be a few (3-5) multiple-choice questions that are based solely on the readings for that lecture. The questions are not intended to be difficult; rather, we want to make your pre-class reading more effective and educational by making you a more engaged reader. These quiz questions will be accumulated over the semester into the equivalent of one test. (For example, if we had four questions per lecture for 25 lectures, each question would be worth 1 point.)

Note that each quiz usually takes students only a few minutes to complete. I allow 30 minutes just so that there's no time pressure. Nonetheless, there is not enough time to start the quiz and then start the reading. So, do the reading first, and then do the quiz. It's also important to remember that you can do the reading anytime that is convenient for you: the previous weekend, the day before, whatever.

Part of my inspiration for the idea of using quizzes is this NY Times article entitled To Really Learn, Quit Studying and Take a Test

Another important aspect of the Sakai quizzes is that it gives you a chance to ask me a question about the reading while it is fresh in your mind. I can also write up an answer to these questions before class. You should know that it's okay to ask "dumb questions" here, because (1) your fellow students won't know you asked it, and (2) I really won't either. My procedure is to copy/paste the questions into a webpage where I write up answers, and I almost never look at who asked the question.

Sometimes people forget to do the quiz. Since the point of the quiz is to be timely, I'm not allowing people to make them up.

Lateness

All assignments are due at 11pm Eastern Time on the date indicated on the schedule.

However, most of these due dates are targets not deadlines. That means that they are intended to keep you on track, making progress, and not having work pile up. It does not mean that you must turn it in before that date. You can turn it in a day or two late, or even longer, without penalty. If it gets to be a week late, please talk to me about what your plan is to get caught up in the course.

There are a few deadlines that are hard deadlines, where for some reason I can't allow additional time. These are usually obvious (such as the day of class presentations), but the hard deadlines are marked as such on the schedule.

For soft deadlines, in extenuating circumstances (e.g. sickness, personal crisis, family problems), you may request an extension without penalty. Please try to contact me before the due date.

In no case should you ever give up in this course. There's usually a way forward. Talk to me about it.

Time Commitment

I know that focussing on schoolwork is hard. At times, I drive from home to campus when I wanted to do some serious, focussed work, because I know that when I'm at home, there are so many distractions: good (my family), bad (TV) and ugly (laundry).

Nevertheless, you should expect this course to take a fair amount of time. Indeed, there is college legislation about it. In short, you should budget for 12 hours per week for this course.

Computer Science Department Guidelines

As a part of this course, students and faculty are expected to adhere to the Computer Science Department Guidelines, which are designed to create a positive and productive learning environment. These guidelines emphasize respect, integrity, inclusivity, and transparency, ensuring that our department prepares students to lead in a world shaped by computation and data.

For a detailed description of these principles and guidelines on attendance, timeliness, respect for others, exam policies, and how to share your thoughts with us, please refer to the Computer Science Department Guidelines

Honor Code

I believe that collaboration fosters a healthy and enjoyable educational environment, and encourage you to talk with other students about the course and to form study groups.

Unless otherwise instructed, feel free to discuss problem sets with other students and exchange ideas about how to solve them. However, there is a thin line between collaboration and plagiarizing the work of others. Therefore, I require that you must compose your own solution to each assignment. In particular, while you may discuss problems with your classmates, you must always write up your own solutions from scratch. It is unacceptable for two students who are not partners to turn in copies (or near copies) of each other's solutions. I will interpret such a situation as a violation of the Honor Code, and will bring it before the General Judiciary. When in doubt about acceptable levels of collaboration, please ask me for clarification.

In keeping with the standards of the scientific community, you must give credit where credit is due. If you make use of an idea that was developed by (or jointly with) others, please reference them appropriately in your work. For example, if person X gets a key idea for solving a problem from person Y, person X's solution should begin with a note that says "I worked with Y on this problem" and should say "The main idea (due to Y) is ..." in the appropriate places. It is unacceptable for students to work together but not to acknowledge each other in their write-ups.

When working on homework problems, it is perfectly reasonable to consult public literature (books, articles, etc.) for hints, techniques, and even solutions. However, you must cite any sources that contribute to your solution. Assignments and solutions from previous terms of this course are not considered to be part of the "public" literature. You must refrain from looking at any solutions from previous terms of this course. It is my policy that consulting solutions from previous terms of this course constitutes a violation of the Honor Code.

Pair Programming means that the pair of you act as an individual would as described above, so one pair can discuss the problem with another pair but cannot look at the code of the other pair.

I often distribute a model or example of what I would like you to build. That model is some running code, and having it allows you to look at the scene from all angles and try different behaviors. You are not permitted to try to reverse engineer my code, instead of trying to solve the problem from scratch.

Accommodations

It is my goal that every student in this course succeed, regardless of whatever challenges they may face. That includes documented disabilities and conditions, as well as other challenges. COVID-19 has certainly presented all of us with new challenges. Some of you will overcome those challenges without my help, and kudos to you if you can, but you don't have to. I'm here to help, so let me know. Sometimes, I can't help, but I can at least be aware of the troubles you're facing. Feel free to let me know about those, too.

If you have a disability or condition, either long-term or temporary, and need reasonable academic adjustments in this course, please contact Disability Services to get a letter outlining your accommodation needs, and submit that letter to me. You should request accommodations as early as possible in the semester, or before the semester begins, since some situations can require significant time for review and accommodation design. If you need immediate accommodations, please arrange to meet with me as soon as possible. If you are unsure but suspect you may have an undocumented need for accommodations, you are encouraged to contact Disability Services. They can provide assistance including screening and referral for assessments. Reach them at accessibility@wellesley.edu, at 781-283-1300, by scheduling an appointment online at their website www.wellesley.edu/adr, or by visiting their offices on the 3rd floor of Clapp Library, rooms 316 and 315.

If you have special needs of any kind, please meet with me to discuss accommodations that may be helpful to you.

Ombuds Office

The Ombuds Office is a confidential and neutral resource for students who want to discuss various options for dealing with issues such as interpersonal conflict in their campus lives: ombuds@wellesley.edu; x3385.

Religious Observances

If you need accommodations for religious observances, I'm happy to support that. The college has set up a form so students can now alert professors of anticipated absences and accommodations through the Religious Observance Notification Form. You're welcome to email me as well. See the college Policy on National Holidays and Religious Days of Observance

Non-Discrimination

Wellesley College considers diversity essential to educational excellence, and we are committed to being a community in which each member thrives. The College does not allow discrimination or harassment based on race, color, sex, gender identity or expression, sexual orientation, ethnic or national origin or ancestry, physical or mental disability, pregnancy or any other protected status under applicable local, state or federal law.

If you or someone you know has experienced discrimination or harassment, support is available to you:

  • Confidential reporting: Students can report their experiences to Health Services (781.283.2810); Stone Center Counseling Service (781.283.2839); or Religious and Spiritual Life (781.283.2685). These offices are not required to report allegations of sexual misconduct to the College.
  • Non-confidential reporting:
    • You can let me know. As a faculty member, I am obligated to report allegations of sex-based discrimination to the Nondiscrimination/Title IX Office.
    • You can report directly to the Nondiscrimination/Title IX Office. (781.283.2451) to receive supports, and to learn more about your options for a response by the College or about reporting to a different institution.
    • You can report to the Wellesley College Police Department (Emergency: 781.283.5555, Non-emergency: 781.283.2121) if you believe a crime has been committed, or if there is an immediate safety risk.

Responsible Employee

Pursuant to Wellesley College policy, all employees, including faculty, are considered responsible employees. That means that any disclosure of discrimination, harassment, or sexual misconduct to a faculty member will need to be shared with the College's Director of Non-Discrimination Initiatives / Title IX and ADA / Section 504 Coordinator, DaQuana Carter (titleix@wellesley.edu). See non-discrimiation office. Students who do not wish to have these issues disclosed to the College should speak with confidential resources who are the only offices at the College that do not have this same reporting obligation. On campus, confidential resources include Health Services (781-283-2810 available 24/7), the Stone Center Counseling Services (781-283-2839 available 24/7) and the Office of Religious and Spiritual Life (781-283-2685). You should assume that any person employed on campus outside of these three confidential offices has an obligation to share information with Wellesley College through the Office of Non-Discrimination Initiatives.

Masking

  • Masks will be optional in this class. Please note that masks remain an important tool in helping to limit the spread of COVID-19 and other respiratory illnesses. We kindly ask you to wear a mask if you feel unwell, have sniffles, or think you may have been exposed to someone with COVID-19 or the flu. I reserve the right to ask you to mask up or change policies on masking during the semester.
  • Please be respectful to members of our community (students, faculty, staff and others) who choose at any point in time to wear or not to wear a face mask. Please refrain from making any judgments as masking may help reduce allergies, prevent the spread of respiratory illnesses, or protect immunocompromised individuals or their family members.