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

CS349 User Interfaces (W23)


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 classes. Copies of the lecture notes / slides will be provided.

Section Days Time Room
LEC 001 MW 10:00 am - 11:20 am MC 1085
LEC 002 MW 11:30 am - 12:50 pm MC 1085
LEC 003 MW 2:30 pm - 3:50 pm RCH 105

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

You will also be expected to demonstrate an understanding of the material in programming assignments, bi-weekly quizzes, and a final exam. See assessments 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 the Android SDK.

Reading Materials

There are no required textbooks for this course.