Instructor and office Hours

Teaching Assistants


Lecture attendance is not required, but it’s probably a good idea to come.

Yes, room 404 for a web course. Ha ha.


Recitation attendance is not required, but you are welcome to work on the assignments and ask questions.


Programming the World Wide Web (8ed) (Sebesta). It’s not required. If you’re a book person, get it. I’m not.


Projects: 50%
Exam (higher): 25%
Exam (lower): 20%
Participation: 5%

The top 3 project grades are weighted 15%; the bottom grade is weighted 5%. So even if you really bomb a project and get a 50%, if that’s the lowest grade, you only lose 2.5% off your final grade. Relaaaaaax. It’s fiiiiine.

Participation is a bit discretionary, but there are weekly (ungraded) quizzes and feedback questions. It’s hard to lose points in this category unless you very clearly do not care about the course.

The grading scale is as follows:

97%+ A+
93-96% A
90-92% A-
87-89% B+
83-86% B
80-82% B-
77-79% C+
73-76% C
70-72% C-
67-69% D+
63-66% D
60-62% D-
<60% F

You need at least a C for this course to count towards your degree, so you need to aim for a 73% or higher.

Late Policy

Projects and labs are due for full credit at 11:59PM on the due date. I’m not super strict about it - 15-20 minutes late is no big deal.

They can be turned in late by 11:59PM on the next day. There is a 15% penalty for late submission, taken off after all other grade calculations (e.g. extra credit).

If you have a major problem that means you can’t turn in a project on time, contact me and explain what’s up; I’m pretty accommodating.

Otherwise, you have several weeks to do the projects, and you are welcome to ask questions about things we haven’t covered in class yet.


There is an online chatroom through Discord. Email me if you haven’t signed up for it or didn’t get a link.

Please don’t direct message me as your first option when you have questions. I would love to be able to help everyone individually, but there are so many of you, and I have a lot of work to do. If you can (without showing your code), ask questions in the public chat first. Someone there has probably already encountered it and can help you!

Religious Observances

If a religious observance will prevent you from attending recitation/exams/being around to submit projects, please contact me as early as possible in the term about them so we can make accommodations.

Academic Integrity

For the projects, you may work with one other person, under three conditions:

You can do the same for labs, but you don’t have to inform me or anything.

How far can “working together” go? You can talk about the project. You can talk about how you approached something. But you can’t tell your partner exactly how you did something. You can’t look at each other’s code/circuits. No sending/screenshotting that stuff either.

If you’re not sure whether or not something is allowed, it probably isn’t. Or ask me.

You may not use online resources, such as StackOverflow or projects from previous offerings of this course, to complete your work. If we believe that you have cheated on your assignment, all involved parties will receive a 0 for the assignment. If this is the second offense, you will fail the course.


If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and the Office of Disability Resources and Services (216 William Pitt Union; 412-648-7890; TTY: 412-383-7355) as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.


You are expected to behave respectfully to your fellow students, the instructor, and the teaching assistants.

Jokes or comments about sex, gender, race, ethnicity, religion, etc. will not be tolerated. This is not Reddit or 4Chan. Behave as if you were a professional: keep the discussion about the subject at hand and try not to bring personal issues into it.

These rules apply not only to lecture, but also recitations, office hours, online chats, emails, etc.