User-Centered Programming Interfaces
  • About
  • course logistics
    • Seminar Time & Location
    • Course Format
    • Grading
    • Syllabus
    • Resources
    • Final Blog Post
  • Topics
    • W1 - Course Overview
    • W3 - Guest lecture from JetBrain Research
    • W4 - Visual Debugging
    • W4 - Structure Editors
    • W5 - Programming by Demonstration
    • W5 - Direct Manipulation
    • W6 - Live Programming
    • W6 - Literate Programming
    • W7 - Programming Interactive Visualization
    • W8 - Version Management
    • W8 - Accessible programming
    • W9 - Developer Community
    • W9 - Communicating and Presenting Code
    • W10 - Low Code Approach for Teaching Programming
    • W10 - Programming Tutorials and Interactive Textbooks
    • W11 - Educational Games for Programming
    • W11 - Scaling Feedback for Programming Learners
    • W12 - AI-Assisted Programming
    • W12 - Prompting as Programming
    • W13 - Guest lecture from Adobe
Powered by GitBook
On this page

About

Seminar on User-Centered Programming Interfaces

Programming interfaces are not just for professional programmers and CS majors. With the pervasive spread of computing technology, various programming interfaces have been designed to support different end users (e.g., scientists, artists, journalists) to communicate their intent to computers.

This course introduces students to research topics around the principles and practices of designing user-centered programming interfaces. We will explore and discuss research papers that focus on various design and interaction techniques to support programmers of various backgrounds. We will start by discussing the properties of programming interfaces and understanding programmers from various specialized domains. We will then dive into the topic of usable programming environments, including interactive programming paradigms such as structured editing, programming by demonstration, live programming, and literate programming; collaborative and inclusive programming interfaces that allow programmers to build upon each other's work; interfaces specifically designed for better learning and teaching in computer science. Finally, we discuss how AI is reshaping the future of programming interfaces.​

NextSeminar Time & Location

Last updated 8 months ago

Page cover image