CS 349 User Interfaces (Spring 2020)

This course teaches the principles of creating user interfaces (UIs) including underlying UI architecture and algorithms, how to implement UIs from scratch and using UI frameworks, theories and methods for UI design, and an introduction to the field of human-computer interaction.

Course Staff


Hanaë Rateau

Hanaë Rateau


Caroline Kierstead

Caroline Kierstead


Rebecca Santos

Rebecca Santos


Jay Henderson


Damien Masson


Futian Zhang


Licheng Zhang

Final Exam

The final exam is a timed one hour online quizz with two parts. The first part is covering lectures close to the other quizzes (~15 minutes). The other part will consist of code analysis, UI analysis and design.

The quizz will be available from August 10 (12:00am) to August 14 (11:59pm). You will have only one attempt during this period to take the test. You cannot disconnect and reconnect to the quizz. Make sure that you are in the right conditions.

Here is the link to the exam : https://learn.uwaterloo.ca/d2l/lms/quizzing/quizzing.d2l?ou=539863&qi=149798


We’ll be using this CS349 Piazza site for all announcements, as well as questions and answers about the course material and assignments. Please create an account at the start of the term, using your real name and your Waterloo username; this will make it easier for course staff to identify you if required.


Lectures will only be offered online. The lecture schedule, slides, sample code and links to videos will be posted on the schedule page.

Office Hours

Office hours are hosted via live Q&A sessions on Piazza.

One hour per day:



There are no required textbooks for this course; students are expected to read the provided lecture notes and attend class to learn this material. There are three relevant but entirely optional books that have been placed on reserve:


There are four graded assignments worth a total of 70%. Assignments details, including specifications, due dates and assignment policies are on the assignments page.

There is also a final exam worth 20% of your final grade. There is no midterm.

The last 10% of the final grade is allocated to quizzes that will happen every week or so.

Your marks can be securely viewed through https://www.student.cs.uwaterloo.ca/~cs349/cgi-bin/displayMarks.cgi. Please contact Caroline Kierstead, the course ISC, if you notice an error in your recorded grade.

General Course Policies

Intellectual Property

Students should be aware that this course contains the intellectual property of their instructor, TA, and/or the University of Waterloo. Intellectual property includes items such as:

Lecture content, spoken and written (and any audio/video recording thereof); Lecture handouts, presentations, and other materials prepared for the course (e.g., PowerPoint slides); Questions or solution sets from various types of assessments (e.g., assignments, quizzes, tests, final exams); and Work protected by copyright (e.g., any work authored by the instructor or TA or used by the instructor or TA with permission of the copyright owner).
Course materials and the intellectual property contained therein, are used to enhance a student’s educational experience. However, sharing this intellectual property without the intellectual property owner’s permission is a violation of intellectual property rights. For this reason, it is necessary to ask the instructor, TA and/or the University of Waterloo for permission before uploading and sharing the intellectual property of others online (e.g., to an online repository). Permission from an instructor, TA or the University is also necessary before sharing the intellectual property of others from completed courses with students taking the same/similar courses in subsequent terms/years. In many cases, instructors might be happy to allow distribution of certain materials. However, doing so without expressed permission is considered a violation of intellectual property rights.

Academic Integrity

In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. Check http://www.uwaterloo.ca/academicintegrity/ for more information.


A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4, [www.adm.uwaterloo.ca/infosec/Policies/policy70.htm]. When in doubt please be certain to contact the department’s administrative assistant who will provide further assistance.


A student is expected to know what constitutes academic integrity (check http://www.uwaterloo.ca/academicintegrity/ to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about ‘rules’ for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline, [http://www.adm.uwaterloo.ca/infosec/Policies/policy71.htm]. For typical penalties check Guidelines for the Assessment of Penalties, [http://www.adm.uwaterloo.ca/infosec/guidelines/penaltyguidelines.htm].

MOSS (Measure of Software Similarities) is used in this course as a means of comparing students' assignments to ensure academic integrity. We will report suspicious activity, and penalties for plagiarism/cheating are severe. Please read the available information about academic integrity very carefully.


A decision made or penalty imposed under Policy 70 (Student Petitions and Grievances) (other than a petition) or Policy 71 (Student Discipline) may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72 (Student Appeals) [www.adm.uwaterloo.ca/infosec/Policies/policy72.htm]

Students with Disabilities

AccessAbility Services collaborates with all academic departments to arrange appropriate accommodations for students with temporary or permanent disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations, please register with the AccessAbility Services at the beginning of each academic term.

Mental Health Resources

Mental Health: If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support.

On-Campus Resources

Off-campus Resources

Diversity: It is our intent that students from all diverse backgrounds and perspectives be well served by this course, and that students’ learning needs be addressed both in and out of class. We recognize the immense value of the diversity in identities, perspectives, and contributions that students bring, and the benefit it has on our educational environment. Your suggestions are encouraged and appreciated. Please let us know ways to improve the effectiveness of the course for you personally or for other students or student groups. In particular: