Syllabus and course policies

Table of contents

  1. Syllabus and course policies
    1. Course format (your responsibilities)
    2. Course technology
    3. Staff
    4. Grade breakdown
      1. Grade bins
      2. Incomplete grades
    5. Attendance
    6. Individual exercises and in-class participation
    7. Exams
    8. Discussion section
    9. Individual assignments
    10. Readings
    11. Team expectations
    12. Final project presentation
    13. Edstem
    14. Academic Integrity
    15. Late enrollment
    16. Assignment extensions
      1. For individual assignments:
      2. For team assignments:
    17. Grade concerns
    18. Materials
      1. Textbooks
      2. Hardware
    19. Disability accommodations
    20. About you
    21. Ethical use of artificial intelligence

Welcome to CS 160! This semester, 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 or for studying human-computer interaction in an academic context.

This is a team-based class; you will be matched with classmates in teams of three to five people, and you’ll work with those teammates to brainstorm, 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 lecture will largely focus on teaching you principles of HCI, you’ll also be taught in discussion section what you need to know to build out a prototype Web application.

In recent semesters (including this one!), CS 160 has often taken a focus on projects that integrate tightly with AI. By the end of this course, you’ll have experience using modern AI techniques to quickly create user interfaces that were difficult or impossible to build even just a few years ago. It’s an exciting time for HCI, and we’re hoping that after this course, you’ll go out and help build the future of user interface design!

Course format (your responsibilities)

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
LectureLearn about UI design! These lectures are interactive and will require attendance.6 hours
Discussion sectionLearn about and work on implementing your designs on the Web. Attendance is required. These meetings will begin on the first Thursday of the semester; keep an eye out to see which section you have been assigned to.2 hours
Individual programming assignmentsSix total. These will focus on giving you practice with Web implementation to prepare you for the final team project implementation.~3 hours
Team assignmentsOne continuous team project throughout the semester, with varying workload (likely increasing as the semester goes on)4-12 hours (depending on the week)
ReadingFoundational readings that will help you pick up the course content.~2 hours
ExamsTwo 85-minute exams during the semester. No final exam.~2 hours’ study time

Course technology

PlatformPurposeDescription
Course website
  • Syllabus
  • Course schedule
 
bCourses
  • Gradebook
  • Course files (slides, readings, etc.)
  • links to other course technology
Please do not use bCourses’s messaging system to communicate with staff. Use Edstem posts instead.
Edstem
  • Announcements (incl. email)
  • course content discussion
  • course logistics discussion (through private posts)
  • team communication
Edstem will be the primary bidirectional communication channel between you and course staff. Make sure you are receiving announcement notification emails from Edstem, because this is where we expect to communicate important course updates with you. Private posts on Edstem should be your primary means of digital communication with course staff. We will also set up a private chat channel between you and your team on Edstem, though your team is welcome to choose an alternative mode of communication.
salle.liveLecture attendance and participationsalle.live is where you will sign into lecture sessions for attendance tracking. You’ll be able to see a live feed of the current lecture, participate in Zoom-style chat alongside lecture, and interact with certain elements of lecture slides. Rather than visiting salle.live directly, you can log in through a link in bCourses.
reagentAccess to APIs for AIreagent is a tool designed to help you prototype with AI APIs (GPT, Stable Diffusion, etc.), which will become important in a later programming assignment and in your team project. Using reagent will allow the course staff to fund some portion of your API access. You’ll log in with your GitHub account.
GradescopeIndividual assignment submissions and autogradersYou’ll submit individual programming assignments on Gradescope, which will run some automated tests against your assignment. Any manual grading will also take place on Gradescope, where you will ultimately see your grades for these assignments.
PrairieLearnComputer-based examsExams conducted in the computer-based testing facility will take place in PrairieLearn.

Staff

Instructor: Timothy J. Aveni
Teaching assistants: Rahul Shah, James Smith, Christopher Bannon

Office hours: TBD

Grade breakdown

ComponentWeight
Individual exercises and in-class participation25%
Individual programming assignments20%
Team project30%
Exams25%

Grade bins

We will use the following grade bins to determine your final course grade:

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)

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.

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.

Attendance

Attendance is required for all course sessions: that’s four lectures a week plus two discussion section meetings. Lectures and discussion sections will not be recorded for general availability. In addition, there will be two exams during the semester for which you will need to schedule and attend a (flexible) time slot.

By attending regularly, you’ll be able to participate in class activities, meet with your team when needed (especially in discussion sections), and avoid falling behind. Since summer sessions are so fast-paced, it can be really hard to catch up if you do start to lag behind the rest of the class.

The following attendance policy applies equally to all students. Absences are intended to be used in situations where illnesses and other surprises of life get in the way of attendance. We don’t check doctor’s notes or otherwise police the use of these absences; we trust you to use them responsibly.

There’s not much wiggle room in the summer semester; keep in mind that a double-paced semester won’t also double-pace the rest of your life! If you get sick during the semester, you won’t recover twice as fast just because it’s the summer semester. I strongly encourage you to attend every session you are capable of attending, because if you do use up your absences early in the semester, you may end up overly constraining your flexibility for the later weeks. For these eight weeks, we’re focused. There’s no room to take a week-long vacation!

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. Students who miss too much of the course may be better-served by a retroactive medical withdrawal.

AbsencesPenalty
Absent 0-5 sessionsNo grade penalty
Absent 6-7 sessions3 percentage point grade penalty
Absent 8-9 sessions8 percentage point grade penalty
Absent 10-12 sessions15 percentage point grade penalty
Absent 13+ sessions0/25 for the course participation grade category

Note that this policy refers to sessions, not days: if you miss lecture and discussion section on the same day, this will count as multiple absences. We have two holidays during the semester, and discussion sections will begin on the first Thursday of the semester. This amounts to around 44 total course sessions this semester.

In addition to the above attendance policy, you are responsible for assignments that were completed in part during class. If you are absent for a discussion section during which your team worked on a component of the final project, you should expect to coordinate your workload with your team so that everyone has contributed fairly to the final presentables. If you are absent during an in-class activity that cannot be made up later, course staff may excuse your grade for that activity in the gradebook (but the absence will still count toward your total as described above).

If you are on the waitlist, we will not track your absences until you are officially enrolled in the course.

You are expected to attend the entirety of each session. If you arrive late or leave early from a session, your marked attendance for that section will be at the discretion of course staff.

Before most class sessions, we’ll ask you if you’re present in the room. It’s okay if you can’t attend every session! That’s why our attendance policy allows for the occasional absence.

If you misrepresent your attendance, however, (e.g. by having a friend sign you in), you (and your friend!) will incur some additional penalty (and will not earn attendance credit). The nature of this penalty (e.g. a further grade deduction or a referral to the Center for Student Conduct) will be at the discretion of the course instructors. We hope we never have to deal with this; it’s a lot easier for us to work with you if you tell us the truth about your attendance!

In lecture, you’ll often be asked to interact with the lecture using the same device you used to check into class (probably a laptop). You’re expected to stay engaged with lecture and participate throughout; you will not necessarily earn attendance credit if you do not participate after your initial check-in. That said, we’re not looking to police this aggressively; it’s okay to miss the occasional clicker question if you’re not sure of the answer or you need to use the bathroom.

Individual exercises and in-class participation

Throughout the semester, in-class activities (e.g. short comprehension quizzes, breakout/paired activities) may be graded. This category may also include out-of-class exercises, or work that you start in class but complete outside of class. In general, these will be graded for completion or effort, but we may occasionally assign work in this category that is graded to particular standards. We’ll keep you in the loop!

Exams

There are two exams in this course (and no final exam). Both will be taken in-person only in the computer-based testing facility (CBTF).

The first exam will take place July 9th through July 11th, and the second July 30th through August 1st. Shortly before each exam week, you will have the opportunity to choose a 90-minute time slot on one of the exam days that works for you, and you will then be required to take the exam during that time slot. If you are unable to come in-person for an exam, you will not earn any credit for the exam unless you have an approved, documented excuse for your absence; do not assume an absence will be excused before speaking with course staff. Excuses are not granted for voluntary travel.

Discussion section

Discussion sections will start on the first Thursday of the semester. We hope to assign discussion sections by the end of the second day of class. Late-enrolled students may not have an opportunity to select a discussion section preference.

Discussion section attendance is required, unless otherwise noted. You should expect to attend each section for the full time slot according to the course schedule.

Discussion sections meet twice a week. Each meeting will cover a different topic. Discussion sections will typically be aimed more at practical skills and teamwork sessions compared to lecture, which will focus on concepts in human-computer interaction.

Individual assignments

Throughout the course, we will assign six individual programming assignments. Each will be weighted evenly. Extra credit may be offered in each assignment to give you more practice or to give you some buffer in case of lost points, but extra credit will not cause your grade for that assignment to exceed 100% unless otherwise noted.

These assignments may come with some auto-graded portion, but even in auto-graded assignments, course staff may always adjust your grade manually based on their evaluation of how well you met the assignment specification.

You should make every attempt to keep up with due dates for individual assignments, because the course schedule moves quickly. You will, however, have six slip days to use throughout the semester, described in the “Assignment extensions” section below.

Readings

We will assign foundational readings each week, distinguished between required readings and optional readings. We recommend reading all of them, though! They’re good!

There won’t be immediate high-stakes assessments of the contents of readings (although we may assign open-note reading “quizzes” on required readings with unlimited retakes during lecture, to help you check your understanding). Required readings, however, are fair game for questions on the two (closed-note) midterm exams.

Team expectations

Once you have formed a team, we’ll have you meet with your team to set expectations together. We’ll also check in throughout the semester to make sure things are going smoothly.

If something comes up on your team that you’d like course staff to be aware of, please let us know sooner rather than later! We’d rather fix imperfect team dynamics proactively than try to work things out in grading.

You’ll see a team grade for each team assignment throughout the semester, but your final personal grade for your team project may be higher or lower than your collective team grade at the end of the semester, depending on course staff’s evaluation of your contribution to your team.

Final project presentation

You and your team will present your project, including all of the work culminating in your final prototype, in the last week of the semester. You will need to be present in-person during this full final week to ensure that you are available for the presentation. The final presentation grade will be a component of your team’s overall project grade.

Presentations will take place during lecture time. We will provide more information about the format of the presentation as the semester progresses.

Edstem

We will use an Edstem forum, linked in bCourses, to communicate with you. Please check frequently and make sure you have email notifications enabled! We may make important announcements there.

Private posts on Edstem are the best place to get in touch with course staff. Please do not use the bCourses messaging feature.

If you have a question that you think may benefit others in the course, please make your questions public on Edstem!

Academic Integrity

I take academic integrity pretty seriously! That said, we’re not wildly strict in this course about disallowing certain behaviors.

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.

Consulting sites like StackOverflow or using large language models to help you code 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, but you can use things like GitHub Copilot (free for students, by the way!) to assist with the boring bits as you work through writing code yourself. I do it all the time, myself!

For code in your final project prototype, where we’re not specifically working on training your Web programming skills, you’re even more free to use large language models if you find they’re helping you skip the tedious parts of building your application (e.g. the CRUDdy bits). 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 and other boring stuff an LLM can help you flesh out. Just be mindful of code quality when you’re doing this! Use LLMs the same way you would in a professional software engineering job.

Exams will be administered in a computer-based testing facility (CBTF), which will prevent you from accessing disallowed resources during the exam. You won’t be permitted to use personal devices or bring any materials into the exam room.

As discussed in the attendance section of this syllabus, do not attempt to misrepresent your attendance in course sessions. We will notice! 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 accommodation 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.

Note that some assignments may not be available to waitlisted students until after enrolling in the course; late-enrolled students are still responsible for making up this missed work within one week after enrolling.

Keep an eye out for your placement in a discussion section and final project team. If you’re not sure where to find your section or team assignment, reach out to the course staff on Edstem.

Assignment extensions

For individual assignments:

We don’t grant per-assignment extensions, but you’ll have six slip days to use throughout the semester. For each day that an assignment is late (rounded up, meaning a slip day is consumed even if an assignment is only a few minutes late), you will consume one slip day. Once you have consumed all of your slip days, any late submissions will earn a 0. Use your slip days judiciously!

If you have DSP accommodations related to assignment extensions, we will work with you to adjust deadlines as your accommodation letter outlines. Note that it is your responsibility to communicate with course staff in a timely manner about any anticipated need for an extension. Extensions in cases of DSP accommodation will only be granted if they are requested within one week of the assignment’s original due date.

For team assignments:

No extensions will be granted.

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!

Materials

Textbooks

There is no required textbook for this class. We will provide digital copies of any materials we’d like you 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.

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 in the computer-based testing facility that can complicate logistics if we don’t have enough advance notice.
  • In general, as a student, you’ll have some responsibility to keep course staff in the loop on your needs outlined in the letter from the DSP office. For example, if you need an extension on an assignment, please let us know as soon as you are able; it’s often not practical for us to accept and grade a surprise mass-submission of assignments right at the end of the semester, and this would typically not be within the scope of a DSP letter.

For specific DSP-related communications, if you’d prefer not to make a private Edstem post to all of course staff, you can reach out directly to Rahul Shah, the member of course staff responsible for DSP-related logistics this semester.

About you

We’ll use a quick survey early in the course to ask a little about you, including your preferred name and pronouns. This info is just for us to get to know you better, and we won’t share your responses beyond our course staff or keep this personal information around after the semester is over. During the semester, please let us know if you’d like to make any changes to the personal information you shared with us (since we might not notice if you just fill out the form again once we’re further into the semester).

Ethical use of artificial intelligence

In this class, we will discuss the use of artificial intelligence in various contexts surrounding user interface design and development. Please have a look through the university’s guidance on the appropriate use of AI tools, especially those that are capable of generating text or other content that could be mistaken for human-generated content. We will also discuss these themes in class.