Course information

***Note:** this is the archived version of the 2020 website. For the new iteration of the course, please visit [](* # General information - Lectures are Monday and Wednesday, at 2:30 - 4pm (room 4-163) - 3-0-9 units - 6.009 (or equivalent experience programming) is a prequisite - This subject can be used to satisfy the Advanced Undergraduate Subject (AUS2) requirement. - **This is the very first offering of this course. It will not go perfectly. There will be last-minute schedule changes, 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 description This course will teach the principles and technologies for designing usable user interfaces for the Web. We will teach the key principles and methods of user interface design, including learnability, efficiency, safety, prototyping, and user testing. We will teach 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. # Grading ~~There will be **weekly assignments** that will account for 90% of your grade.~~ ~~There will also be in-class usability evaluations in some of the lectures, and your best half will account for the remaining 10% of your grade (so you need to attend at least half the lectures to earn full credit).~~ # Previous Materials - [Recorded Lecture and Recitations](

**Changes due to the current COVID19-related disruption**: we will not be taking in-class activities into account for your grade. The weekly assignments will account for 100% of your grade. Furthermore, per MIT's [Emergency Academic Regulations](, [Alternate Grades]( will be utilized in all courses instead of letter grades.


Here is the tentative lecture schedule for 6.S082.

This schedule is subject to radical change. Spring 2020 is the first time 6.S082 is being offered, so we may need to make significant adjustments to the schedule depending on a variety of factors.

This schedule will be updated throughout the semester, and generally speaking, the further from present the topic is, the more likely it is to change.

Mondays Wednesdays Fridays
Introduction & Overview HW1 released Web Page Structure: HTML Pre-doing Recitation 1 Pre-recitation
Learnability HW2 released Graphic Design Pre-reading HW1 due Recitation 2
Tuesday Efficiency HW3 released Foundational Concepts of CSS Pre-doing HW2 due Recitation 3
More Foundational Concepts of CSS Pre-doing HW4 released Safety HW3 due Recitation 4
Layout HW5 released Heuristic Evaluation HW4 due Recitation
Prototyping and User Testing HW6 released Universal Web Design Recitation
No class No class No recitation
No class (Spring break) No class (Spring break) No recitation (Spring break)
Introduction to modern JS HW7 released Programming with Functions HW5 & HW6 due Recitation
Design Patterns HW8 released Events HW7 due Recitation
Asynchronous JS HW9 released Color HW8 due Recitation
No class (Patriots' Day) HW10 released Typography HW9 due Recitation
Web APIs Animation & Feedback Recitation HW11 released HW10 due
Data Visualization Web Standards Extra Office Hours
Course Reflection HW11 due


Name Role Email Office Office Hours
David Karger Instructor karger 32G-592 By appointment
Lea Verou Instructor leaverou 32G-598 By appointment
Farnaz Jahanbakhsh TA farnazj 32G-598 Mondays 12:30-2pm 32-G592 Lounge
Luke Murray TA lsmurray 32G-596 Mondays 4-5pm 32-G592 Lounge
Jumana Almahmoud TA jumanam 32G-598 TBD

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. 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. # Textbook and resources - Recommended textbook: *The Design of Everyday Things: Revised and Expanded Edition*, Don Norman - [MDN Web Docs]( - [CSS specifications]( - [HTML specification]( - [Javascript (ECMAScript) specification]( # Collaboration policy - Covered in detail [here](collaboration.html).