This is an archive of a previous run of this course. In this term (2018-W1), the majority of the curriculum will remain the same or similar. Stay tuned for the new webpage with updates. In the meantime, feel free to extend your question about the course to the instructor, Dongwook Yoon (email: yoon at csDELETEthisTEXT.ubc.ca).
 OVERVIEW: cs344 2017/18 W1

Human Computer Interaction design is "design for human use". Computers are a ubiquitous part of many interactions in our lives, from the mundane every-dayness of light switches and "smart" vending machines to entertainment and education to sophisticated instruments and complex energy and defense systems.

In this course, we will challenge you to broaden your grasp of what a user interface can and should be, and try your hand at doing better yourself. It is a fast-paced, hands-on, project based experience that will challenge many of your ideas of what computer science is and can be. It is designed around active lecture sessions supported by readings, assignments, and weekly workshop sessions carried out in the CS Department's HCI Learning Studio, where students practice and explore the concepts introduced in lecture, and go well beyond them to learn and apply HCI techniques in the assignments that build into group projects.

Relationship to other UBC-CS HCI Courses:-- Full listing of our HCI offerings
CPSC 344 and 444 form a two-course undergrad sequence; 444 covers more advanced evaluation material. In the past, graduate course CPSC 544 has been crosslisted with 344 in the fall term, accompanied byan extra graduate element; but will be offered standalone in 2016W2 for the first time.

general information
course website



Wed 16:00-19:00 - DMP 110

Workshops, held in ICICS/CS-X360 (HCI Learning Studio) - one of

Thu 10:00-12:00 - Paul Bucci and Kevin Chow
Thu 16:00-18:00 - Juliette Link and Lotuz Zhang
Fri 10:00-12:00 - Hayley Guillou and Regina Adshade Moore
Fri 13:00-15:00 - Hayley Guillou and Matthew Chun

Registering for Workshops: Register in one waitlist. If it's full, see waitlist policy below.

TAs will provide their own contact information directly to their workshop members.


& office hours

Dongwook Yoon (office: ICCS 185)

Follow communication conventions (below) for fastest response.

Office hours:

Before/after class: find us in hallway outside classroom, or our offices.

OR: by appointment. Rather than schedule more extensive office hours which don't work for most people, I encourage you to schedule an appointment when you see me in class, or if necessary by personal Piazza post or direct email ('344' in subject line)


CPSC 210 (or its equivalent, including the now-retired CPSC 211) is a pre-requisite for CPSC 344.

The main purpose of the pre-requisite is to ensure that you have experience programming in at least two different languages. Having mastered two, it is feasible to pick up another relatively easily; during prototyping you may need to quickly learn a new language as well as the ones you already know.

The other most useful skill for you to bring to class is experience working on a team, a huge part of 344; as well as strong written and verbal communication ability of all kinds. You will get better at all of these things, no matter your starting point, but be advised that our exams involve considerable writing and you will be at a disadvantage if your command of written English is not strong.

Please contact the instructor if any of these are a concern for you.

  • Basic info: course website (here)
  • Content or logistics:
    1. Face-to-face: Instructor (office hours), TAs during Workshops.
    2. Post public-to-class on the course Piazza discussion group, which will be checked daily by course staff, and this way the whole class can benefit. ALL INSTRUCTOR POSTS WILL APPEAR HERE.
      2017W1: [Piazza signup] [Piazza class link]
    3. For questions of low relevance to the rest of the class:
      Post to course staff on Piazza.
      ONLY for confidential communication with instructors.
    4. Instructor confidential: For personal items, talk to, make private Piazza post, or email an instructor only (pbucci at cs.ubc.ca) (jlink at cs.ubc.ca). Include "344" in subject line of any emails for faster respons
sources of information

Required textbook (avail at bookstore) - NOTE: this edition was introduced in 2015W1. If you have access to a 3rd edition, it may be sufficient; alternative page numbers will be supplied for 3rd edition readings.
Interaction Design: Beyond Human-Computer Interaction
Rogers, Sharp and Preece, 4th Ed, 2015, Wiley (RSP)
ISBN-13: 9781119020752.

Note: For those thinking of taking CPSC 444, be aware that 444 does not require any textbook. However, RSP is advanced enough to be a good resource for it.

In addition, supplementary reading will be required in the form of pre-readings, available online or in handouts, and course slides will be posted on this website (Private area).

other requirements

Other expenses for 344 may include:

project prototyping materials ($0-25/individual)
lock for team locker (to be retained by team at end of term)
flip chart pad(s) - e.g. Staples, $12 / 50 sheet pad. Your team may choose to use a couple of these during term


course-level learning goals

Upon completion of this course, students will be able to:

  • List heuristics for basic good/bad interface design. Be able to identify and critique interface strenths and weaknesses in terms of this language.
  • Contrast the central principles of user-centered versus technology-centered design, and in a given situation, identify and explain which approach to design may be appropriate to use.
  • Explain why one's personal design intuition merits skepticism. For a given design context, list specific HCI practices and tools which can help to inform and educate it.
  • List and describe models we have of human users (mental models, cognitive resources, sensory processing), vs models that humans have of systems.
  • List and categorize key user capabilities; and for a given design challenge, identify the most relevant ones.
  • Observe, describe and analyze user activities and needs in terms of their tasks.
  • Construct solutions focused on accounting for human limitations; identify evaluation methods that will confirm success in this.
  • Demonstrate ability to first design a system at a conceptual level; i.e. the 'bones' versus 'skin' of the design.
  • Demonstrate ability to secondly design the external views of a system (i.e. the 'skin') considering course principles including mental models, human cognition, visual design, etc.
  • Describe the central HCI techniques, frameworks or processes, in the context of their purpose: e.g. in providing structure for understanding tasks, identifying interaction problems, design alternatives, and next-step process choices.
  • Formulate and act upon an iterative, progressively narrowing design approach, in which you seek alternatives and avoid freezing your approach too early.
  • List methods for, and demonstrate parsimony and effectiveness in deployment of evaluation and prototyping tools. Use in a targeted and minimalist way, to focus on the question at hand; avoid wasting effort, and elicitation of unhelpful or ambiguous user feedback.
  • Be able to critique and evaluate the quality of yours and others' designs appropriately at multiple stages, and articulate/defend your design decisions.
  • List and describe several methods you have used for team coordination, work management and conflict resolution in the context of multi-week projects; reflect on what worked best; appraise which best suit your own style.
  • Demonstrate competency in three communication mediums singly and with your team: in written project reports, informal oral presentation, and in respectfully critiquing, articulating and defending the teams' ideas, challenges and questions to one another, peers and course staff, over the course of the term.

Waitlist Policy

In 2017, course waitlists are being handled centrally by the Computer Science department. Go here for more information. Messages will be sent to all students registered in cpsc344 and waitlist, reminding them that attendance at lectures is mandatory, and that attendance will be taken in the first two weeks. Attendance will be considered in moving students from the waitlist into the course during this period.

If you do not plan to take the course, please remove yourself from lecture or waitlist, so others may get in.

cpsc344 has four workshops (listed as labs on SSC). We need to fill each workshop to its maximum of 30; and thus must optimize students' schedule constraints to accomodate access by students who wish to take the course. Each lab has therefore been temporarily capped at 20, and given a waitlist. During the first week of classes, we'll assign students to lab based on schedule flexibility, using a survey.

Late Deliverables

Late assignments and pre-reading quizzes will receive no credit. You are free to submit them, and we may review them during marking. However, your mark for the late work will be a 0.

In the EXTRAORDINARY CIRCUMSTANCE (e.g., medical or family emergency) that you are prevented from completing and submitting component on time, or fully participating in your group's work, we may allow late turn-in. Poor planning or procrastination do not constitute extraordinary circumstances. In this case, contact your TA or the course staff (cs344 at ugrad.cs.ubc.ca) promptly (i.e., as soon as you are aware of the problem). Provide a clear explanation of the problem well in advance of the deadline (a usual expectation would be 24 hours). At discretion of staff considering the circumstance, a penalty may still be imposed of a mark reduction of 0.98^(hours late).

Academic Expectations

In addition to all university rules, regulations, and academic guidelines, the following policies will hold in CS344:

  • Attendance and prompt arrival is expected at all classes and workshops. Quiz, assignment and team project marks will suffer from absences. A doctor's note is required to substantiate any illness.

  • There will be no makeup for the midterm. Should the midterm be missed, the final exam will absorb the midterm's component of the grade.
  • A student must pass the final exam in order to pass the course. If you fail the final exam (score <50%), your final course grade will equal your final exam grade.
  • To request that a deliverable be fully or partially re-graded:  the request must be submitted in writing (not via email and not verbally) and the full copy of the deliverable must be resubmitted together with the written request. We reserve the right to re-grade the entire deliverable.
tentative high level mark allocation

Your team's performance in the course project plays a large part in your individual mark. In addition, in your individual mark the peer component relates to your contributions and participation in your team.

Component Breakdown Weight Type
deliverables details on Deliverables page 45% 43% group, 2% individual
pre-readings pre-reading quizzes (10) 10% individual
exams midterm 15% individual
  final 25% individual
peer evaluation assessed on group deliverables 5% individual
  Total: 100%  
  Individual: 57%  
  Teams / small groups: 43%  

* Workshop attendance:

  • On-time attendance is expected at workshops, to minimize disruption and support your team.
    Please make every effort to avoid missing workshops. If you know of an unavoidable conflict in advance (e.g., a job interview that could not be scheduled at another time), inform your TA and teammates in advance.
    While there is not a direct mark consequence for missed or disruptive attendance, it is likely to show up in your peer evaluation mark, as well as impact yours' and others making use of the workshops.

introduction to HCI methods --- 2017 W1 Bucci/Link