Speaker: Brad Myers
Professor, Human-Computer Interaction Institute,
School of Computer Science,
Carnegie Mellon University
Title: Improving Software Development through Human-Centered Approaches
My Natural Programming Project is working on making programming languages and environments easier to learn, more effective, and less error prone. We are taking a human-centered approach, by first studying how people perform their tasks, and then designing languages and environments that take into account people's natural tendencies. We are designing new programming languages for people who are not professional programmers (sometimes called "end-user programmers") based on how people think about expressing algorithms and tasks. For example, the InterState system uses a visual notation that combines states and constraints to make web behaviors easier to express. We also are working on improving programming environments and libraries for professional programmers. For example, programmers often need to backtrack out of changes while exploring how to achieve their goals, which is poorly supported by today's IDEs, so we developed a selective undo mechanism that makes them twice as effective. We studied the usability of APIs, such as the Java SDK and the SAP eSOA APIs, and discovered some common patterns that make programmers up to 10 times slower in finding and using the appropriate methods, so we have developed new tools to compensate. This talk will provide an overview of our studies and resulting designs and tools, which benefit from applying both Software Engineering and Human-Computer Interaction approaches.
Myers is the principal investigator for the Natural Programming Project and the Pebbles Handheld Computer Project. He has been a consultant on user interface design and implementation to over 75 companies, and regularly teaches courses on user interface design and software. He is IEEE Fellow, ACM Fellow, a member of the CHI Academy and winner of three Most Influential Paper Awards. Myers' research interests focus on user interface development systems, user interfaces, handheld computers, programming environments, programming language design, programming by example, visual programming, interaction techniques, and window management.
Every effort will be made to ensure accessibility at our event. If you have an accommodation need, please contact firstname.lastname@example.org.
Find more information on the department's Distinguished Lecture Series here or contact the department here.
This lecture is open to the public. Space is limited and there is no registration; coming early is strongly recommended.