Syllabus and course policies

Table of contents

  1. Syllabus and course policies
    1. Course format
    2. Staff
    3. Course technology
    4. Materials
      1. Textbooks
      2. Hardware
    5. Grade breakdown
      1. Grade bins
      2. Incomplete grades
    6. Grade concerns
    7. Attendance
    8. Late enrollment
    9. Readings
    10. Studio
    11. Individual assignments
    12. Midterm exam
    13. Team expectations
    14. Final project
    15. Assignment extensions
      1. Individual assignments
      2. Team assignments
    16. Disability accommodations
    17. Academic integrity and ethical use of artificial intelligence
      1. Programming assignments
      2. Team assignments / final project

Welcome to CS 160! This summer, you’ll learn about foundational human-computer interaction (HCI) principles and, simultaneously, put those principles into practice by building functional prototypes of UI solutions for real people. This course is designed to give you a solid basis for designing and implementing user interfaces in industry and or for studying human-computer interaction in an academic context.

This course will focus on developing your own HCI and web development skills, while also pushing you to work with a group of others to tackle a real-world issue of your team’s choosing. You will work with these teammates to brainstorm issues, study the needs of a chosen group of users, and ultimately design and build a high-fidelity prototype of software to address that user group’s needs.

This class is taught using the web platform, meaning your final project result will take the form of a web application or a PWA, developed using HTML, CSS, and JavaScript. While lectures will largely focus on teaching you principles of HCI, studio and individual assignments will focus on teaching you what you need to know to build out your web prototype.

Course format

This is an eight-week course. You should plan to be physically present and engaged throughout the whole semester. Since we’re teaching a four-unit course at double the typical speed, you should expect to spend a significant amount of time on work for this course (the official guidance from the institute suggests spending 24 hours per week). Here’s an overview of what should be on your radar, and about how much time we’re expecting each aspect to take each week:

  Weekly load
LecturesWhere we will teach you all about UI design! You should expect the class to be interactive, and attendance is mandatory (minus some grace absences).~6 hours a week
StudioWhere you will practice what you are learning about UI design! We will give you discussion questions covering HCI topics as well as exercises to get better at web programming.~2 hours a week
ReadingsWe will give additional readings each week that will supplement your foundational knowledge of the topics.~2 hours a week
AssignmentsIn order to grow your web programming experience, we will have four programming assignments to get you familiar with these topics. These will occur during the first half of the semester.~4 hours a week
Final ProjectThere will be one continuous team project throughout the semester with varying levels of workload. It will increase as the semester continues.~4 to 12 hours a week (depending on the week)
MidtermWe will have one midterm in the middle of the class, covering content from the first four weeks of the course.~4 to 8 hours of study time

Staff

Instructors: Selaine Rodriguez, Mina Huh

Teaching assistants: Ananya, Vivian, Arhaan

Office hours: see calendar

Course technology

PlatformPurposeDescription
Course website
  • Syllabus
  • Course description
  • Staff info
  • Calendar
 
bCourses
  • Assignment submissions
  • Course files
Please do not use bCourses’s messaging feature to communicate with the instructors. Use EdStem or Slack depending on your needs.
Slack
  • Team work
  • Specific questions about your team project
 
EdStem
  • Ask general questions about the course or programming
  • Anonymous questions
 

Materials

Textbooks

There is no textbook required for this course. We will provide digital copies of any materials you are required to read.

Hardware

You will need to have access to a laptop that you can bring to each class session and use for developing Web apps. Please make sure your device is charged when you bring it to class! There may be power outlets available for use in each room, but there probably won’t be enough for everyone.

If you anticipate that this will present a financial difficulty, please reach out to STEP as soon as you can.

Grade breakdown

  • Midterm (30%)
  • Final project (40%)
    • Milestones (20%)
      • Needfinding — 4%
      • Low-fi — 4%
      • High-fi — 4%
      • Iteration — 4%
      • User Studying & Analysis — 4%
    • Final demo & report (20%)
      • Demo video, in-person demo, report, team evaluation
  • Attendance & participation (10%)
  • Programming assignments (20%)
    • 5% each

Grade bins

We do not anticipate making changes to this breakdown, but we may choose to adjust these bins in your favor at the end of the semester. We won’t adjust the bins in the other direction. If we do make adjustments, they will apply to every student in the course equally. We will not make individual adjustments per student or round grades into another bin.

GradeRange
A+At instructor’s discretion
A[93-100]
A-[90-93)
B+[87-90)
B[83-87)
B-[80-83)
C+[77-80)
C[73-77)
C-[70-73)
D+[67-70)
D[63-67)
D-[60-63)
F[0-60)

Incomplete grades

Incomplete grades will be assigned only in line with university policy; students must be in good standing in the course and have completed a large portion of the course material to satisfactory quality to receive an incomplete.

If you do not meet these criteria (e.g. because circumstances caused you to miss a large portion of the course material), consider pursuing a late withdrawal. Your academic advisor can help you understand your best option in such cases.

Grade concerns

Any concern about a posted grade (e.g. a regrade request) must be communicated to course staff no later than one week after the assignment’s grade is posted or the final Tuesday of the semester, whichever is earlier. We are not able to handle inquiries for very old assignments at the end of the semester, even if the concerns raised are valid. Please stay on top of the gradebook!

Attendance

In-person attendance is expected at all lectures and studios, and lectures will not be recorded (unless needed for accessibility purposes). There are four lectures a week, plus two studios. We have budgeted in grace absences for you all, with 4 free absences for lecture and 2 free absences for studio. Please make sure to spread out the use of your free absences, just in case you end up needing more of them towards the end of the semester. We will be tracking attendance through the use of a Google Form — please make sure to complete it no more than one hour after class.

If you do have medical or other serious factors come up that affect your attendance on a longer horizon during the semester, do reach out to course staff as soon as you can. We can make accommodations in many cases. Often, however, circumstances that would be possible to work around in a typical fall/spring semester are tricky to resolve in our shorter timeframe.

The midterm exam will happen during the lecture hour and thus will not be rescheduled, except for medical or accessibility accommodations.

You will be asked to fill out a Google Form at the end of every lecture to track attendance and give feedback on what you are learning. Please only fill the form out for yourself, and do not share it with teammates or friends in the class who did not make it to lecture that day. It’s okay not to be at every session. It’s not okay to lie about whether you’re attending.

Late enrollment

Students who enroll in the course after it has begun are responsible for completing all assignments, even those whose deadlines have passed at the time of enrollment. We will make reasonable accommodations to accept late assignment submissions that are late for this reason, but in every case of late enrollment, students are expected to be caught up with the rest of the class by no later than one week after enrolling.

Readings

We will assign required and optional readings throughout the semester. We recommend reading all of them, as they will all provide fundamental knowledge relevant to the course. Readings prior to the midterm are fair content to be questioned and mentioned on the exam.

Studio

Studios will begin from the first day of class, with specific studio times being assigned to you during the first week. We hope to assign these to you by the second day of class, after you have all filled in the welcome survey. From then on, please attend your assigned studio every week. Late-enrolled students may not have an opportunity to select a studio preference.

Studios will cover a range of topics, from discussions to team work to case studies and more. Attending these is a crucial part of your understanding, as we will aim to cement practical skills you might not touch on during lecture.

In studios, you will have many opportunities to work with your team. When submitting your studio preferences, please make sure to enter possible teammates you would like to work with (if any). We will try to accommodate teams’ schedules as much as possible. Moving to a different studio from the one you were assigned will be handled on a case by case basis.

Individual assignments

There will be four programming assignments throughout the semester. These will all focus on developing your web prototyping and development skills, and should be completed individually.

Midterm exam

Midterm questions will cover lecture materials, studio materials, and readings. It will be a closed-book, closed-computer exam. Details about the cheat-sheet policy will be announced closer to the exam.

Team expectations

For your final project, you will be expected to join with 4 to 5 other classmates. We expect all of you to contribute equally to the project. If some members would like to take a greater role in the earlier design steps and others in the later implementation steps, that is acceptable, but you will all be graded as a team. You can choose your own team members from classmates you already know, or individuals you will get to know during your first week.

At the end of the semester, you will all fill out a form where you evaluate both your own contributions and those of your teammates. This form will be used to evaluate your participation, as well as your grade for the final project.

Final project

Your final project will involve you designing a solution to a UI issue that you and your team decide to focus on. There will be 5 milestones for the team project, a final demo, and a report. The milestones will be distributed throughout the semester, and we plan to publish the details and rubrics for each milestone in the first weeks of the course. This gives you time to accomplish the milestones as your team sees fit, with the deadlines intended to keep your deliverables on time.

The final project will take up a good percentage of your final grade and is a significant time commitment. This can involve lots of iteration, testing, interviewing, self-learning web programming skills, and more. Please make sure to anticipate this as the summer continues on, so you don’t end up cramming all the work into the last week or so.

Assignment extensions

Individual assignments

Since the class is so fast paced, we would like you all to stay on time with your assignments to ensure that nothing piles up on you. We will accept late assignments with a penalty, as listed:

Submission timeGrade
Within 1 hour of deadline90% of your original grade
Within 24 hours of deadline75% of your original grade
Within 48 hours of deadline50% of your original grade
Beyond 48 hours of deadlineContact course staff

If situations arise that lead to you not being able to make the deadline within these hours or due to a larger complication, please contact the course staff through EdStem so we can try our best to accommodate.

Team assignments

We will not offer any extensions for team assignments.

Disability accommodations

We’re happy to provide reasonable accommodation for students with disabilities. Keep the following in mind:

  • If you need us to make an exception to course policy, we need to hear from the DSP office in an official letter stating the specific accommodations you need.
  • Disability accommodations generally do not apply retroactively, so please work with the DSP office early in the semester to make sure everything is ready to go as we get things rolling.
  • If your accommodations are related to exams, please let us know as soon as you can; there are implications for scheduling that can complicate logistics if we don’t have enough advance notice.

Academic integrity and ethical use of artificial intelligence

We take academic integrity seriously in this course. We want you and your classmates to all have an equal opportunity at succeeding in the course (and in HCI, in general!). We do invite collaboration between students but please be aware of where that collaboration can become more.

Programming assignments

You are encouraged to study and work with your classmates, including on individual assignments. Talking through your code with other students is totally acceptable! Make sure you understand your work, though, since there’s a reason we’re having you practice this stuff. You’re not allowed to copy code straight from your classmates or from online.

Consulting sites like StackOverflow or using large language models to help you understand the material and concepts is also okay, but you should stick to asking methodically for what you need as you need it. You’re not allowed to just slap an entire assignment description into an LLM and have it spit out an implementation.

Team assignments / final project

For code in your final project prototype, where we’re not specifically working on training your Web programming skills, you’re allowed to use large language models to help you be more efficient. What we’re excited about is seeing you build the unique, innovative UIs that your target user group needs, not seeing how good you are at making login pages.

Any use of AI (e.g., image generation, writing, coding) must be disclosed on bCourses as a note.

That said, AI is not allowed for these uses:
  • To generate fake user data or observations and present it as true user research
  • To use AI as the sole critic of your design when we asked for human critics
  • Or any other case where AI is used to subvert the point of an assignment, especially when the point is to engage with real humans for human-centered design

Please review the university’s guidelines on the appropriate use of AI tools, especially those that generate content that could be mistaken for human work. We will also discuss these themes in class.