CS 349 Fall 2023
An introduction to contemporary user interface implementation concepts, including event abstraction, graphical components, layout, feedback, testing, accessibility, and architectures to develop user interfaces. One or more types of interface toolkit paradigms are considered.
(full description in course calendar)
Learning Outcomes
- Explain architectural and algorithmic details underlying current user interfaces and user interface toolkits.
- Describe key aspects of user interfaces, such as user input, event-driven architecture, asynchronous events, etc.
- Implement user interfaces in a browser using Typescript: (1) using the HTML Canvas; (2) using HTML elements and DOM manipulation, and (3) using a modern UI web development framework
Lecture Times and Locations
CS349-001 | MW 1:00PM - 2:20PM | MC 2035
CS349-002 | MW 11:30AM - 12:50PM | RCH 211
Instructor
- Daniel Vogel (dvogel@uwaterloo.ca)
Instructional Support Coordinator (ISC)
- Caroline Kierstead (ctkierst@uwaterloo.ca)
Teaching Assistants
- Nabil Bin Hannan (IA)
- Xuye Liu
- Anchit Mishra
- Marvin Pafla
- Jheng-Hong Yang
- Futuan Zhang
Course Communication and Support
Piazza forums: We maintain a Piazza forum to discuss course material. We try to reply within a couple of hours during normal hours on weekdays (M-F, 9am - 5pm). After hours posts may not receive responses until the next weekday.
Office hours: We have weekday office hours where you can chat with us on Microsoft Teams. Office hours will begin the week of Sep 11. You should be a member of the CS 349 Fall 2023 team. During office hours, post a message in the Office Hours channel asking for help. When they are available, the person holding office hours will call you.
Mon | Tue | Wed | Thu | Fri | |
---|---|---|---|---|---|
9 am | Nabil | Xuye | Jheng-Hong | ||
10 am | Marvin | ||||
11 am | Prof. Vogel | ||||
12 noon | |||||
1 pm | |||||
2 pm | |||||
3 pm | Anchit | ||||
4 pm | |||||
5 pm | |||||
6 pm | Futian |
Assessment
The 5 assignments, midterm exam, and final exam contribute to your final grade as follows:
A0 | 1% |
A1 | 15% |
A2 | 15% |
A3 | 15% |
A4 | 15% |
Midterm | 15% |
Final | 24% |