September 16, 2021 - 6:00 pm CEST

Virtual Meetup – Ravi Chugh

Abstract

Programming environments force users to work primarily with text, even though source code and debugging output are often opaque representations for describing and understanding computation. Most software applications (such as for documents or spreadsheets) force users to work primarily with graphical user interfaces (GUIs), even when direct manipulation of concrete values is no longer a desirable way to describe a computation. My research aims to bridge this gap, so that both expert programmers and novices can harness the expressive power of programming together with the cognitive and usability benefits of GUI-based manipulation.
In this talk, I will describe new programming-language techniques (in bidirectional programming and program synthesis) and human-computer interaction techniques (in programming-by-demonstration and GUI code editors) that contribute towards this long-term goal. Next, I will demonstrate Sketch-n-Sketch, an interactive programming environment based on these techniques for creating basic web applications and vector graphics diagrams. I will conclude with a vision for how continued work at the intersection of PL and HCI might influence the next generation of IDEs for professional developers, as well as software applications at large.

 

Biography

Ravi Chugh is an Associate Professor of Computer Science at the University of Chicago. His research and teaching interests revolve around programming language technology — program synthesis, types systems, and other program analysis techniques — particularly as they relate to challenges in software engineering and human-computer interaction. Ravi received an NSF CAREER Award in 2017, and a Neubauer Fellowship from the University of Chicago in 2015 for innovative and effective undergraduate teaching. Ravi obtained his Ph.D. from the University of California, San Diego in 2013.

How to join the event:

To avoid security issues is now necessary to register for the meeting. The registration should be necessary just once and be valid for all the next meetings you will participate in. Follow these steps:

  1. Register yourself to the community on the Homepage
  2. You will receive a confirmation email containing all the information about joining the meeting.
  3. Add to your calendar
  4. Enjoy the talk and, if you feel like, discuss further on the community forum