> For the complete documentation index, see [llms.txt](https://peachlab.gitbook.io/seminar-on-user-centered-programming-interfaces-2024/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://peachlab.gitbook.io/seminar-on-user-centered-programming-interfaces-2024/course-logistics/syllabus.md).

# Syllabus

<table><thead><tr><th width="72" data-type="number">W</th><th width="80">D</th><th width="185">Topic</th><th>Content</th></tr></thead><tbody><tr><td>1</td><td>9.19</td><td>Course Overview</td><td></td></tr><tr><td>2</td><td>9.26</td><td>No class</td><td></td></tr><tr><td>3</td><td>10.3</td><td>Guest lecture from JetBrain Research</td><td></td></tr><tr><td>4</td><td>10.10</td><td>Interactive Programming Paradigms (1)</td><td><ul><li><p>Visual Debugging</p><ul><li><strong>J. Wei</strong>, S. Ebner</li><li>Paper: Python Tutor</li></ul></li><li><p>Structure Editors</p><ul><li><strong>F. Mantovani</strong>, F. Miloglyadov</li><li>Paper: Hazelnut</li></ul></li></ul></td></tr><tr><td>5</td><td>10.17</td><td>Interactive Programming Paradigms (2)</td><td><ul><li><p>Programming by Demonstration</p><ul><li><strong>F. Miloglyadov</strong>, F. Mantovani</li><li>Paper: Helena</li></ul></li><li><p>Direct Manipulation</p><ul><li><strong>A. Zank,</strong> J. Konrath</li><li>Paper: Sketch-n-Sketch</li></ul></li></ul></td></tr><tr><td>6</td><td>10.24</td><td>Interactive Programming Paradigms (3)</td><td><ul><li><p>Live Programming</p><ul><li><strong>P. Trachsel,</strong> P. Risold</li><li>Paper: Snippy</li></ul></li><li><p>Literate Programming</p><ul><li><strong>A. Boyle,</strong> T. Nonnenmacher</li><li>Paper: CWEB</li></ul></li></ul></td></tr><tr><td>7</td><td>10.31</td><td>Programming with Data</td><td><ul><li><p>Programming Interactive Visualization</p><ul><li><strong>P. Risold</strong>, P. Trachsel</li><li>Paper: B2</li></ul></li></ul></td></tr><tr><td>8</td><td>11.7</td><td>Collaborative and Inclusive Programming (1)</td><td><ul><li><p>Version Management</p><ul><li><strong>R. Chan</strong>, Z. Ma</li><li>Paper: Code Gathering</li></ul></li><li><p>Accessible Programming</p><ul><li><strong>J. Widmer,</strong> R. Chan</li><li>Paper: Code Talk</li></ul></li></ul></td></tr><tr><td>9</td><td>11.14</td><td>Collaborative and Inclusive Programming (2)</td><td><ul><li><p>Developer Communities</p><ul><li><strong>J. Konrath</strong>, S. Bohl</li><li>Paper: "We Don't Do That Here"</li></ul></li><li><p>Communicating and Presenting Code</p><ul><li><strong>T. Nonnenmacher,</strong> A. Zank</li><li>Paper: Meta-Manager</li></ul></li></ul></td></tr><tr><td>10</td><td>11.21</td><td>Learners (1)</td><td><ul><li><p>Low Code Approach for Teaching Programming</p><ul><li><strong>A. Ribera,</strong> X. Su</li><li>Paper: Scratch</li></ul></li><li><p>Programming Tutorials and Interactive Textbooks</p><ul><li><strong>S. Ebner,</strong> S. Pfisterer</li><li>Paper: Colaroid</li></ul></li></ul></td></tr><tr><td>11</td><td>11.28</td><td>Learners (2)</td><td><ul><li><p>Educational Games for Programming</p><ul><li><strong>Z. Ma,</strong> J. Widmer</li><li>Paper: Bots&#x26;Frames</li></ul></li><li><p>Scaling Feedback for Programming Learners</p><ul><li><strong>X. Su,</strong> J. Wei</li><li>Paper: VizProg</li></ul></li></ul></td></tr><tr><td>12</td><td>12.5</td><td>The Future of Programming</td><td><ul><li><p>AI-Assisted Programming</p><ul><li><strong>S. Bohl,</strong> A. Ribera</li><li>Paper: Abstraction Gap</li></ul></li><li><p>Mixed Initiative Programming</p><ul><li><strong>S. Pfisterer,</strong> A. Boyle</li><li>Paper: ChainForge</li></ul></li></ul></td></tr><tr><td>13</td><td>12.12</td><td>Guest Lecture from Adobe AEM Team</td><td></td></tr><tr><td>14</td><td>12.19</td><td>No class</td><td>Students will work on the blog post</td></tr></tbody></table>
