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

You will learn the key principles and methods of user interface design, including learnability, efficiency, safety, prototyping, and user testing. You will learn the core web languages of HTML, CSS, and Javascript, their different roles, and the rationales for the widely varying designs. You will also learn about reactivity through the frontend web framework Vue.js. 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.

Here be dragons: Spring 2025 is the fourth time this course has been offered. While a lot of the kinks have been worked out, some areas are still under development and will always be as we keep the course up to date with the latest web technologies. Thus, things may not always go perfectly, 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

Grading

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

AI Policy

AI is rapidly evolving, and so this policy is subject to change.

AI writing and coding assistants like ChatGPT can be enormously helpful, and you are welcome to use them in this class provided that you submit the prompts and dialogues from your sessions, as well as a 200-word reflection on your experience (written without AI help), as an appendix to each exercise you used AI to complete. Your grade on such an exercise will be a holistic assessment of your AI transcripts, reflection, and actual submission. Your reflection must justify how the AI contributed to your learning experience. If, for example, the assignment was meant to teach you HTML syntax and you used AI to generate all of the HTML in your submission, we are unlikely to accept any justification. On the other hand, if you engaged in iterative design with an AI agent, evaluating its outputs and probing for new designs with tools you've learned from this class, justification should be fairly easy.

This appendix is only necessary when greater than 20% of the submission is generated with AI, to allow for sparse use of inline AI tools like Grammarly or Github Copilot. If we deduce that a significant portion of your assignment was AI generated and you did not submit an appendix, you will fail the assignment.

To submit a full transcript of your AI interaction, you can link to it, if available. For ChatGPT, see the ChatGPT Shared Links FAQ. For self-hosted models or other models without links, you can paste your transcript in a webpage, Google doc, etc.

Some questions you may wish to explore in your reflection:

Inspired by the CSM.100 policy.

Textbook and resources

Collaboration policy