6.S063 Design for the Web: Languages and User Interfaces

Course information

General information

Course description

This course will teach the principles and technologies for designing usable user interfaces for the Web.

We will learn the key principles and methods of user interface design, including learnability, efficiency, safety, prototyping, and user testing. We will learn the core web languages of HTML, CSS, and Javascript, their different roles, and the rationales for the widely varying designs. We will use these languages to create usable web interfaces. We will also touch on the fundamentals of graphic design theory, as design and usability go hand in hand.

Changes from last year

Spring 2023 is the third time this course is offered. Students in the two previous iterations were generally very positive about the course content, but found the workload heavy, even after it was reduced in 2022. Therefore, this year we have decided to make the following changes:

Here be dragons: This is the third offering of this course. It will not go perfectly. While many issues were ironed out in the first two iterations, the course is still in active development, and thus there may be mistakes in lecture, bugs in assignments etc. If you are not OK with this, maybe this course is not the right fit for you at this time.

Course logistics


Lateness and extensions

To give you some flexibility for periods of heavy workload, minor illness, absence from campus, job interviews, and other occasional (but often predictable) circumstances, you may use limited extensions on problem set deadlines, called slack hours. Each slack hour is a 1-hour extension on the deadline. You have a budget of 5 × 24 slack hours for the entire semester, which you may apply to any combination of individual assignments. Using any part of a slack hour consumes the entire hour. E.g. uploading an assignment 62 minutes late uses up 2 slack hours. You can use at most 36 slack hours (1.5 days) for a given assignment. Assignments more than 36 hours late will not be accepted. Individual assignments or exercises may have different terms about how many slack hours (if any) are allowed. Slacks are not to support random procrastination. Late submissions should only occur in exceptional circumstances (conference travel, illness, etc.). Slacks just avoid the hassle of submitting a justification. If you exhaust your slacks and seek further extensions, you will first need to provide acceptable justifications for all the slacks you used.

All special circumstances extension requests must be documented by an authoritative note (e.g. doctor's note) or photographic evidence (e.g. selfie of you holding your smashed laptop).

Textbook and resources

Collaboration policy