1. About CS 344
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, the graduate course CPSC 544 was crosslisted with 344 in the fall term, accompanied by an extra graduate element; but was offered standalone in 2016W2 for the first time.
2. Instructor and Office Hours
Instructor: Dongwook Yoon (email: yoon at csDELETEthisTEXT.ubc.ca)
Office Hours: Follow communication conventions (below) for fastest response. Before/after class, find me in the hallway outside the classroom. Or, you can meet me 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 direct email ('' in subject line).
Office Location: ICCS X663
3. Lecture, Workshops, TAs
Lecture: Tue and Wed 17-18:30 at HENN 200 (Map)
Workshops: Held in ICICS/CS-X360 (HCI Learning Studio), one of:
|T1A||Thu 10-12||Dongwook Yoon, Asia Schmok|
|T1B||Thu 16-18||Hailey Mah, Hanieh Shakeri|
|T1C||Fri 10-12||Ashish Chopra, Le Min Cheong|
|T1D||Fri 13-15||Hanieh Shakeri, Hailey Mah|
To register for Workshops, register in one waitlist. If it's full, see waitlist policy below.
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. You should also have 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.
Please follow the logistics below:
- For confidential or personal matters: Talk to or email the instructor. Include "[CS344]" in the subject line of any email for a faster response.
- For questions of low relevance to the rest of the class: Post to course staff on Piazza (sign-up link).
- For all other questions or comments: 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.
Required textbook: Interaction Design: Beyond Human-Computer Interaction, Rogers, Sharp and Preece (RSP), 4th Ed, 2015, Wiley. ISBN-13: 9781119020752.
Available at UBC bookstore and Amazon. Note that this edition was introduced in 2015W1. If you have access to the 3rd edition, it may be sufficient; alternative page numbers will be supplied for 3rd edition readings.
Supplementary readings: Supplementary reading will be required in the form of pre-readings, available online or in handouts, and course slides will be posted on the private area of this website.
- Project prototyping materials ($0-25 / individual)
- A 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.
- 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.
- 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.
In 2018, 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 CPSC 344 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.
CPSC 344 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 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).
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.
Deliverables and 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.
|Deliverables||Details on the deliverables page||45%||43% group, 2% individual|
|Pre-readings||Pre-reading quizzes (10)||10%||Individual|
|Exams||Midterm (15%) and final (25%)||40%||Individual|
|Peer evaluation||Assessed on group deliverables||5%||Individual|
|Total||100%||43% group, 57% individual|
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.