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

CS349 User Interfaces (S23)


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]

Prerequisites: 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 slides will be posted on course schedule before class.

Section Days Time Room
LEC 002 MW 10:00 am - 11:20 am MC 1056
LEC 001 MW 11:30 am - 12:50 pm MC 1056

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.