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
  1. course logistics

Syllabus

W
D
Topic
Content
1

9.19

Course Overview

2

9.26

No class

3

10.3

Guest lecture from JetBrain Research

4

10.10

Interactive Programming Paradigms (1)

  • Visual Debugging

    • J. Wei, S. Ebner

    • Paper: Python Tutor

  • Structure Editors

    • F. Mantovani, F. Miloglyadov

    • Paper: Hazelnut

5

10.17

Interactive Programming Paradigms (2)

  • Programming by Demonstration

    • F. Miloglyadov, F. Mantovani

    • Paper: Helena

  • Direct Manipulation

    • A. Zank, J. Konrath

    • Paper: Sketch-n-Sketch

6

10.24

Interactive Programming Paradigms (3)

  • Live Programming

    • P. Trachsel, P. Risold

    • Paper: Snippy

  • Literate Programming

    • A. Boyle, T. Nonnenmacher

    • Paper: CWEB

7

10.31

Programming with Data

  • Programming Interactive Visualization

    • P. Risold, P. Trachsel

    • Paper: B2

8

11.7

Collaborative and Inclusive Programming (1)

  • Version Management

    • R. Chan, Z. Ma

    • Paper: Code Gathering

  • Accessible Programming

    • J. Widmer, R. Chan

    • Paper: Code Talk

9

11.14

Collaborative and Inclusive Programming (2)

  • Developer Communities

    • J. Konrath, S. Bohl

    • Paper: "We Don't Do That Here"

  • Communicating and Presenting Code

    • T. Nonnenmacher, A. Zank

    • Paper: Meta-Manager

10

11.21

Learners (1)

  • Low Code Approach for Teaching Programming

    • A. Ribera, X. Su

    • Paper: Scratch

  • Programming Tutorials and Interactive Textbooks

    • S. Ebner, S. Pfisterer

    • Paper: Colaroid

11

11.28

Learners (2)

  • Educational Games for Programming

    • Z. Ma, J. Widmer

    • Paper: Bots&Frames

  • Scaling Feedback for Programming Learners

    • X. Su, J. Wei

    • Paper: VizProg

12

12.5

The Future of Programming

  • AI-Assisted Programming

    • S. Bohl, A. Ribera

    • Paper: Abstraction Gap

  • Mixed Initiative Programming

    • S. Pfisterer, A. Boyle

    • Paper: ChainForge

13

12.12

Guest Lecture from Adobe AEM Team

14

12.19

No class

Students will work on the blog post

PreviousGradingNextResources

Last updated 5 months ago