05-830 Advanced User Interface Software
12 units, Carnegie Mellon University
This course will cover the research and implementation of user interface software. The students will get a comprehensive understanding of all the approaches that have been investigated by researchers and commercial systems for user interface software. This will be of value to people planning to be user interface researchers or implementers, or people interested in learning how to provide user interface frameworks for others. After a quick overview of tools to help with the design of user interfaces, we will concentrate on how to implement the chosen design. The course will cover user interface software tools, such as frameworks, SDKs or APIs, toolkits, windowing systems, interface builders, prototypers, and interactive software tools. In particular, the course will cover toolkits for building phonetabletubiquitousnovel user interfaces, Internet Javascript UI frameworks, web services and other component frameworks, APIs for UI development such as Xcode, Microsofts Windows SDKs, Swing and Android toolkits for Java, various JavaScript libraries such as AngularJS, React, and jQuery, iInteractive tools such as Balsamiq, Visual Basic .Net and Adobe XD, 2D and 3D graphics models for UIs, and various research systems like Amulet, subArctic, Context Toolkit, ConstraintJS, and Papier Mache. Lectures will discuss the fundamental principles behind all of these systems, while showing the historical progression of the ideas from research prototypes to commercial systems. Other topics will include designing APIs so they are usable by the target programmers, and how to evaluate user interface tools and frameworks. Todays research topics and open issues in user interface software will be emphasized throughout.
Prerequisites: none listed
Courseweave needs JavaScript to show sections, workloads and planning tools.