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

CS349 User Interfaces (S22)


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

This is the course page for the Spring 2022 version of this course. For Fall 2022, please visit this page instead.


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

  • LEC 001 - MWF 09:30 - 10:20 MC 4021
  • LEC 002 - MWF 10:30 - 10:20 MC 4021

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.