Software Structures for User Interfaces (SSUI)
HCI Undergraduate: 05-431
HCI Graduate: 05-631
Software Structures for User Interfaces (SSUI) covers the basic and detailed concepts and principles that go into building software to implement user interfaces. It considers factors of input, output, application interface, and related infrastructure as well as the typical patterns used to implement them, and how these aspects are organized and managed within a well-structured object oriented system.
We will cover the libraries, design patterns, tools, and skills for a variety of “front-end” programming contexts, including conventional graphical user interface (GUI) programming for mobile apps (phones, watches and other wearables), web apps, and regular desktop applications, across a variety of programming languages and frameworks. We will briefly touch on programming for data-driven and conversational (AI) user interfaces (including speech and “chat bots”), front-end programming for visualizations, games, 3D, and virtual and artificial reality (VR and AR), along with interactive UI tools such as GUI builders, prototypers, and resource editors.
Semester Offered and Units
Undergraduate: 12 units
Graduate: 12 units
Students should have proficiency in a programming language, program structure, algorithm analysis, and data abstraction.