05-630: Programming Usable Interfaces
This is a programming course and design studio, and is for those who want to express their interactive ideas in working prototypes. Students will learn how to use programming languages, how to design and implement effective GUIs, and how to perform user tests. We will cover several prototyping tools and require prototypes to be constructed in each, ranging from animated mock-ups to fully functional programs. The course will also cover usability testing of interactive prototypes. Assignments will require implementing UIs, testing that interface with users, and then modifying the interface based on your findings. Some class sessions will feature design reviews where students present their findings and modifications based on user tests.This course is for HCII Masters students with a minimal programming background, and for HCI undergrads who have had an introductory programming course. Students taking this course will often not be professional programmers, but will probably need to interact with programmers, and need to: * Learn to express yourself in executable form * Learn the basics of what is hard and easy to rapidly prototype * Learn the basic terminology and approaches used by programmers * Experience the frustration and joy of programming a working prototype * Design and conduct informal user testsPREREQUISITES:Proficiency in a programming language, program structure, algorithm analysis, and data abstraction. Normally met through an introductory programming course using C, C++, Pascal or Java, such as 15100, 15112, 15127 or equivalent. Pragmatically, students entering this course should be able to independently and successfully write a 300-line program in a 48 hour period.
| A | TR | 03:00 pm - 04:20 pm | NSH 1305 | Hudson |

