CS 349 User Interfaces (Fall 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.
Due to COVID-19 restrictions, there are no in-person meetings for the Fall 2020 offering of this course.
Course material will be primarily delivered through recorded lectures that will be posted on the Schedule page, along with associated slides. You are expected to watch the videos, read the slides and follow along with the content. Lectures are provided asynchronously to make the content available regardless of your physical location, time-zone, or high-speed internet availability.
To supplement recorded lectures, we will also have a number of ways for you to interact with the course staff.
The following people are running the course this term.
Nabil Bin Hannan
- Instructor: Responsible for the course as a whole: lectures, setting assignments and exams and resolving issues related to the course.
- ISC (Instructional Support Coordinator): Responsible for long-term support for the course, maintaining the marks spreadsheet, coordinating accommodations (e.g. illness, alternate exams), screening for cheating and dealing with the results.
- IA (Instructional Apprentice): Responsible for helping the instructor develop assignments and marking schemes, coordinating assignment grading, resolving mark appeals, etc.
- TA (Teaching Assistants): Responsible for marking assignments and exams, and helping students during office hours.
There are multiple ways to connect with staff.
1. Piazza Forum
We use Piazza forum to make announcements, and provide a place for discussion about assignments and course content. You're free to ask and answer each others questions, and course staff will also contribute when possible (response time from us is best-effort).
2. Live Video Calls
We will be using Microsoft Teams (MS Teams) to support live calls with course staff.
- We have campus licenses, so you can install MS Teams from the Office 365 Portal.
- Login using your UW email address. Use firstname.lastname@example.org and NOT a friendly email that you might have setup (e.g. email@example.com works but firstname.lastname@example.org doesn't work).
- Once you've successfully logged in, follow the instructions below.
Office Hours (Private)
We have office hours where you can privately ask questions. Office hours will start Mon Sept 14 and end on Mon Dec 7.
- Every Mon, 2:00 - 3:00 PM EST : Damien
- Every Tues, 10:00 - 11:00 AM EST : Nabil
- Every Wed, 10:00 - 11:00 AM EST : Licheng
- Every Thurs, 9:00 - 10:00 AM EST : Jessy
- Every Fri, 1:00 - 2:00 AM EST : Jeff
To request help during these office hours:
- Launch MS Teams.
- Under the CS 349 - Fall 2020 team, locate the Office Hours channel.
- Post a message in that channel, indicating that you would like help (e.g. "Please contact me for office hours")
- When they are available, the TA or person holding the office hours will privately video-call you in MS Teams.
Please do NOT post in the "Office Hour" channel asking to meet outside of the posted times. We will ignore requests outside of these specific times. Also please do not post questions in this channel, it should only be used to coordinate office hours.
Weekly Q&A Session (Public)
Jeff will also host a Weekly Q&A Session, Every Thurs from 12:00 PM to 1:00 PM, starting Thurs Sept 17. This is a public, drop-in style session.
To join this meeting:
- Launch MS Teams.
- Under the CS 349 - Fall 2020 team, locate the Weekly QA channel and click the "Join" button.
- To ask questions, type them in the channel, or "raise your hand" in MS Teams.
Finally, if you have a question that you wish to ask privately (e.g. remark request) you can always contact us at our email addresses (above).
There are no required textbooks for this course; students are expected to read the provided lecture notes and watch the lecture videos to learn this material. The Reference page has additional readings by topic.
Assessment & Grading
Your grade will be based on quizzes (20%), and programming assignments (80%).
- Quizzes: There will be five quizzes, each one worth 4% (5 x 4% is 20% of your overall grade). Quizzes will consist of short-answer and multiple-choice questions, and are based on the slides and lecture material. More details are on the Quizzes page.
- Assignments: There are four graded assignments, each one worth 20% (4 x 20% is the remaining 80% of your overall grade). Assignments details, including specifications, due dates and assignment policies are on the Assignments page.
There is no midterm or final exam in this course.
Your grades will be returned through LEARN.
General Course Policies
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.
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. The assignments page also has specific information on academic integrity as it pertains to course assignments.
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.
- Campus Wellness https://uwaterloo.ca/campus-wellness/
- Counselling Services: email@example.com / 519-888-4567 ext 32655 / Needles Hall North 2nd floor, (NH 2401)
- MATES: one-to-one peer support program offered by Federation of Students (FEDS) and Counselling Services: firstname.lastname@example.org
- Health Services service: located across the creek from Student Life Centre, 519-888-4096.
- Good2Talk (24/7): Free confidential help line for post-secondary students. Phone: 1-866-925-5454
- Here 24/7: Mental Health and Crisis Service Team. Phone: 1-844-437-3247
- OK2BME: set of support services for lesbian, gay, bisexual, transgender or questioning teens in Waterloo. Phone: 519-884-0000 extension 213
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:
- We will gladly honour your request to address you by an alternate/preferred name or gender pronoun. Please advise us of this preference early in the semester so we may make appropriate changes to our records.
- We will honour your religious holidays and celebrations. Please inform of us these at the start of the course.
- We will follow AccessAbility Services guidelines and protocols on how to best support students with different learning needs.