CS-770 Human-Computer Interaction

This course is designed to introduce graduate students in computer science, psychology, educational psychology, and other disciplines research topics, principles, and research methods in human-computer interaction (HCI), an interdisciplinary area concerned with the study of the interaction between humans and interactive computing systems. Research in HCI looks at major social, cognitive, and physical phenomena surrounding human use of computers with the goal of understanding their impact and creating guidelines for the design and evaluation of software and physical products and services in industry.

The course consists of three modules: (1) seminar, which reviews major research topics in HCI through a set of readings, class presentations, and discussions; (2) methods, which covers qualitative and quantitative human-subjects research through lectures, tutorials, hands-on activities, and weekly assignments; and (3) project, where students complete a semester-long project, usually involving empirical research, that culminates in the writing of a short paper.

The course is designed primarily for graduate students in computer science, psychology, and educational psychology, however advanced undergraduates (with significant research experience and/or enrolled in the L&S Honors program) in these programs and graduate students from other programs may take the course with the permission of the instructor. Specifically, these students should meet with the instructor after the first class of the semester or during the first office hours of the semester to discuss their enrollment.

For more details, please see the course webpage.

CS-571 Building User Interfaces

This course introduces software development of user interfaces (UIs). Build competence in implementing UIs using state-of-the-art (1) UI paradigms, such as event-driven interfaces, direct-manipulation interfaces, and dialogue-based interaction; (2) methods for capturing, interpreting, and responding to different forms of user input and states, including pointing, text entry, speech, touch, gestures, user activity, context, and physiological states; and (3) platform-specific UI development APIs, frameworks, and toolkits for multiple platforms including web/mobile/desktop interfaces, natural user interfaces, and voice user interfaces. Learn about the fundamental concepts, technologies, algorithms, and methods in building user interfaces, implement UIs using of state-of-the-art UI development tools, and build a UI development portfolio.

As an introduction to UX development, the course will cover the (1) programming skills you will need to prototype and build user-facing applications and (2) design skills you will need to understand user needs, devise solutions, and test how well they work. Across three modules, you will focus on designing and developing web, mobile, and voice interfaces.

For more details, please see the course webpage.