uwloo

CS 349User Interfaces

Units
0.50
Faculty
Mathematics
Subject
Computer Science

When it runs

  1. F24
  2. W25
  3. S25
  4. F25
  5. W26
  6. S26
  7. F26
  8. W27
  9. S27

Ran in 7 of the last 7 terms. Winter 2027: scheduled, 3 lecture sections. Spring 2027: schedule not out yet.

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.

Prerequisites

Antirequisites

None listed.

Leads to

No course lists it as a requisite.

Fall 2026 sections

Enrolment from UW Open Data, which can trail Quest by up to two days. Instructors and rooms: Schedule of Classes.
SectionClassEnrolledMeets
LEC 001624051 / 70MW 14:30–15:50
TST 101662151 / 70Oct 28 19:00–20:50

Winter 2027 sections

Enrolment from UW Open Data, which can trail Quest by up to two days. Instructors and rooms: Schedule of Classes.
SectionClassEnrolledMeets
LEC 00157030 / 90MW 16:00–17:20
LEC 00258560 / 90MW 13:00–14:20
LEC 7012188123 / 9999Online or by arrangement
TST 10162320 / 180Feb 24 19:00–20:50

Resources

Around the web

Found by uwloo’s link finder, which checks that each page names CS 349.

2 more links

Suggest a resource.

Reviewed on UW Flow

77% liked it74% easy70% useful

From 329 ratings and 98 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.

  • DISREGARD ALL THE PREVIOUS COURSE REVIEWS. Daniel Vogel has completely changed the course delivery to use Modern UI Toolkits/Frameworks/Languages. This year, we used Node.j, Vite, TypeScript and HTML DOM to create web apps. The theories about UI are probably the same, but the actual implementations on assignments are now very relevant to the industry.
    Course Difficulty:
    Assignments: They are not easy on paper. Require you to follow the lectures. BUT, I did not find them hard because they were enjoyable. They were a breadth of fresh air compared to other CS coursework and assignments. It was fun making web-apps.
    Exams: Straightforward. If you struggled to do well on assigments you won't…

    Oct 2023 · liked it · 4 found this helpfulOn UW FlowRemove this

  • Very fun course. Its not as much work as people say (unless you've never explored Java -- which you should do since almost every offering of the course usually has one assignment in).
    Course content is kind of dry at times but I learned a lot about cognitive science and human computer interaction as well which was interesting.

    Aug 2014 · liked it · 2 found this helpfulOn UW FlowRemove this

  • Interesting deep dive into the low level of how websites work. This course is definitely more of a frontend development course than user interfaces course though.

    Mar 2026 · liked it · 1 found this helpfulOn UW FlowRemove this

  • I took the second offering of the recently re-vamped course, which I hear is much better than the previous version of this course (so if you're looking at reviews for this course, pay attention to reviews starting from one semester prior to this one). We learned both UI design theory as well as modern UI technologies (TypeScript, HTML, CSS, Preact). To me, assignments were a pretty big time sink, but I also had no frontend experience before this class, so take my assessment of them with a grain of salt. For people taking this course shortly after me, keep in mind that it's a new course so there might be a few small growing pains as Dr. Vogel irons out exactly how he wants to teach the…

    May 2024 · liked it · 1 found this helpfulOn UW FlowRemove this

  • Thankfully it's not outdated anymore, and has a good progression from Canvas API and TS to HTML/CSS to Preact. Some say it's for amateurs, but it's a good front-end warmup for students just starting regardless. Just prepare to analyze demo code over and over for completing the long assessments.

    Apr 2024 · liked it · 1 found this helpfulOn UW FlowRemove this

Discussed on r/uwaterloo

490 posts and comments in 340 threads mention CS 349, October 2011 to December 2024. Quoted word for word, newest first; each reply sits under the post and the comment that started its branch. Search r/uwaterloo for newer posts.

Fall 2024

CS 349 vs 348 vs 370 vs 442 vs 365 2 points, 6 comments

u/Strange-Attitude719: “Which one should I take for the most useful course alongside other courses (one which adds the most value to my degree)? For context I already have experience with front-end (349) and databases (348) in coop.”

u/shrimpFriedRice49: “Cs349 is just an easy course. Very introductory level course. Content wise, not so useful, but I believe it has team project component, which you can use for your portfolio. Cs370 is good. Introductory course for computational data treatments. …”

View on RedditRemove this

Thoughts on Course Load 3 points, 11 comments

u/goose-ctrl: “CS 341 CS 348 CS 349 CS 350 ECON 424 Thoughts on the course load for these 5 courses ?”

u/_spooky_77: “from personal experience (so ymmv), cs349 is pretty free, cs348 is fine as long as david toman isn’t teaching it, cs341 and 350 might be a bit painful (341 was kinda tough for me cus I’m garbage with proofs and don’t grind leetcode), econ424 is easy according to uwflow, I’d say …”

View on RedditRemove this

Best and worst 4th year CS course? 10 points, 6 comments

“What are the best and worst 4th-year CS courses in terms of importance or difficulty? Which ones are worth taking, and which would you avoid?”

u/Jet711_: “Would strongly recommend CS349 - both a fairly easy course (although some assignments can be time consuming) and extremely useful if you're going into frontend development. To date I haven't encountered a course that has been as relevant as that one”

View on RedditRemove this

Spring 2024

Online CS Courses? 2 points, 4 comments

“Does anyone have recommendations for CS courses that can be mostly done online? I'm talking about skipping 100% of all lectures and just attending midterms and finals. …”

u/LordHylian95: “CS 231 and CS 234 are both fully online and have final assessments instead of an exam”

u/iamanaybaid555: “Is CS 346, 349 it?”

View on RedditRemove this

CS489: New Security Course 14 points, 2 comments

“Has anyone taken the new security courses? How is it? CS 489/698 Software and Systems Security and CS 489/689 Privacy, Cryptography, Network, and Data Security Which once is better and what is a good …”

u/Elibroftw: “I don't recommend Software and Systems Security. I've created a review here. The gist of my review is: assignments are just a go learn it yourself. …”

u/Elibroftw: “… Yeah CS 349 only just got revamped to use modern-tech stack. Web security isn't easy, but I've seen so many mistakes that even I've made myself. That's why I highlighted CSRF, because no one every talks about it. …”

View on RedditRemove this

Winter 2024

Cs 4A Course Load 8 points, 5 comments

u/snorawr: “… Cs349 user interfaces Cs449 human-computer interaction Cs456 computer networks Cs489 advanced topics: privacy, crypto, data security Stat231 I’m tryna knock out some credits before going on exchange so they err on the easier side but still wanted interesting courses.”

u/ivanivanchenchen: “… - CS 349 was fun, not very hard, but can be somewhat time consuming. If you have some Kotlin experience it will be a breeze but will still take a bit of time for assignments. …”

u/stereosteam: “cs 349 is typescript now (i took it when it was kotlin), still a fair bit of coding but light work nothing too difficult. 449 can be a decent amount of work but if you have a good group it's manageable and obviously can be a lot easier than a coding course. …”

u/_KareemCheese_: “CS349: can’t comment on its difficulty since they have reworked the course into typescript since I took it, but I’ve heard mixed feedback. …”

View on RedditRemove this

Check it elsewhere for Fall 2026

Calendar versions

Undergraduate Calendar