CS349 User Interfaces
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

CS349 User Interfaces (F22)


CS 349 LAB,LEC,TST 0.50 User Interfaces

An introduction to contemporary user interfaces, including the basics of human-computer interaction, the user interface design/evaluation process, the event abstraction, user interface components, specification of user interfaces, and the architectures within which user interfaces are developed. Implementation and evaluation of a typical user interface is considered.

[Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: F,W,S]

Prereq: CS 241 and (one of MATH 115, 136, 146); Computer Science students only


The course includes lectures every Monday and Wednesday. Lectures will not be recorded, and you are expected to attend class. Copies of the lecture notes / slides will be provided.

  • LEC 001 - MW 1:00 pm - 2:20 pm MC 2035
  • LEC 002 - MW 11:30 am - 12:50 pm MC 4040

A comprehensive list of topics by week can be found on the course schedule.

You will also be expected to demonstrate an understand of the material in programming assignments, bi-weekly quizzes, and a final exam. See the assessment page for details.

Learning Objectives

After successfully completing this course, students should be able to:

  • Explain architectural and design issues underlying current user interfaces.

  • Understand the design trade-offs of different styles of user interface, and suitability of styles to a particular device.

  • Design and build compelling and efficient desktop and mobile user interfaces using Kotlin, JavaFX and Android toolkits.

Reading Materials

There are no required textbooks for this course.