-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcs279_FA22.html
More file actions
466 lines (401 loc) · 32.2 KB
/
cs279_FA22.html
File metadata and controls
466 lines (401 loc) · 32.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
---
title: CS 279R Research Topics in Human-Computer Interaction
layout: cs179
---
<table>
<tr>
<td class="small">
<div class="no-top-padding">
<p class="no-top-padding">
Students will read and discuss systems HCI papers, i.e., papers published in human-computer interaction and related venues that build and evaluate novel systems, with a focus on systems that work especially well with (or clash against) human cognitive capabilities. Activities will also include lectures on key topics relevant to building and testing systems in HCI. As a final project, students will implement and evaluate components of one or more selected papers and present their findings in writing and orally in a conference-style format, as means to understand more deeply the processes behind systems HCI research.
</p>
</div>
<div class="header lead">
Who is this course for?
</div>
<div>
<p>
Designed for PhD students with significant programming maturity. Masters students and advanced undergraduates are welcome, particularly those who wish to do research (or write a thesis) in an area related to Human-Computer Interaction.
</p>
</div>
<div class="header lead">
Recommended Prep
</div>
<div>
<p>
Programming experience required, e.g., for undergraduates: CS 51 and CS 61; some experience debugging on one's own with online community resources, and some familiarity with design recommended, e.g., CS 179, or permission of instructor.
</p>
</div>
<!-- <div class="header lead">
Projects
</div>
<div>
<ul>
<li><a href="projects"><b>Guidelines</b></a></li>
</ul>
</div> -->
<!-- <div class="header lead">
Resources
</div>
<div>
<ul>
<li><b>Podcast of interviews with experts</b> [<a href="https://open.spotify.com/show/6TJYwzJUYomKBSEhS58uUw">Spotify</a>] [<a href="https://podcasts.apple.com/us/podcast/cs-179-design-of-useful-and-usable-interactive-systems/id1504018804">iTunes</a>] [<a href="http://cs179.libsyn.com">Libsyn</a>] [<a href="https://cs179.libsyn.com/rss">RSS</a>]</li>
<li><b>Design Arguments</b> (<a href="https://pl-hci-seminar.seas.harvard.edu/design_arguments.pdf">PDF</a>)</li>
<li><b>Needfinding Types</b> (<a href="https://www.dropbox.com/s/otpa5l4764killw/needfinding%20types.pdf?dl=0">PDF</a>)</li>
<li><b>Principles of inclusive design</b> (<a href="https://www.dropbox.com/s/ahbyuzf76y8tsbm/principles-of-inclusive-design.pdf?dl=0">Handout 1</a>, <a href="https://www.dropbox.com/s/r9o6qce2b2a6wu7/inclusive%20design%20principles%20hand%20out.pdf?dl=0">Handout 2</a>)
<li><b>Suggested questions for constructing a team contract</b> (<a href="https://docs.google.com/document/d/1PyHMZBjimwd6aC42n4xAifM2RpDEzMkIIn4N5DNg5AU/edit?usp=sharing">Google Doc</a>)</li>
</ul>
</div> -->
<!-- <div class="header lead">
Lecture Slides
</div>
<div>
<ul>
<li><b>Lecture 1 (Jan 27)</b> Design Arguments (<a href="https://www.dropbox.com/s/m6u2ny79fdwxk3d/Session%200a%20--%20Expectations%2C%20Design%20Args%2C%20Riskiest%20Risk.pdf?dl=0">PDF</a>)</li>
<li><b>Lecture 2 (Jan 29)</b> Identifying and addressing riskiest risks (<a href="https://www.dropbox.com/s/sd5vvqr4hab29ux/session%200b%20--%20methods%20for%20reducing%20uncertainty.pdf?dl=0">PDF</a>)</li>
<li><b>Lecture 3 (Feb 3)</b> Heuristic Evaluation (<a href="https://www.dropbox.com/s/b1113ru190ed02d/Session%201a%20--%20Heuristic%20Evaluation.pdf?dl=0">PDF</a>)</li>
<li><b>Lecture 4 (Feb 5)</b> Needfinding (<a href="https://www.dropbox.com/s/qlj5ge374om29ml/session%201b%20--%20needfinding.pdf?dl=0">PDF</a>)</li>
<li><b>Lecture 5 (Feb 10)</b> Teams & Intro to Affinity Diagramming (<a href="https://www.dropbox.com/s/7afeogwjvtzci1x/Session%201b%20--%20Teams.pdf?dl=0">PDF</a>)</li>
<li><b>Lecture 6 (Feb 12)</b> Affinity Diagramming Activity</li>
<li>Holiday (Feb 17)</li>
<li><b>Lecture 8 (Feb 19)</b> Approach Theses, Storyboarding, and Ideation (<a href="https://www.dropbox.com/s/w08fxjwj1teqo9d/session%203b%20--%20approach%20thesis%2C%20storyboarding%2C%20ideation.pdf?dl=0">PDF</a>)</li>
<li><b>Lecture 9 (Feb 24)</b> AI/HCI (<a href="https://www.dropbox.com/s/ubpfl6evgseoxs3/human-ai%20interaction.pdf?dl=0">PDF</a>) and UI Prototyping</li>
<li><b>Lecture 10 (Feb 26)</b> Ethics</li>
<li><b>Lecture 11 (Mar 2)</b> Jenny Fan Guest Lecture (<a href="https://www.dropbox.com/s/f8v0uurydaeuluh/jenny%20fan--how%20to%20ui.pdf?dl=0">PDF</a>) & How to give a good pitch (<a href="https://www.dropbox.com/s/1cywy8tjkvd2gum/session%205a%20--%20jenny%20guest%2C%20how%20to%20pitch.key?dl=0">PDF</a>)</li>
<li><b>Lecture 12 (Mar 4)</b> Finding a problem area (<a href="https://www.dropbox.com/s/dyu48bjuf1prwbe/session%205b%20--%20finding%20a%20problem%20area.pdf?dl=0">PDF</a>)</li>
<li><b>Lecture 13 (Mar 9)</b> Watch nominated Project 1 Presenations from each studio</li>
<li><b>Lecture 14 (Mar 11)</b> (Optional) Test virtual lecture infrastructure</li>
<li>SPRING BREAK</li>
<li><b>Lecture 15 (Mar 23)</b> Remote Lecture 1: Behavior Change with Prof. Elena Agapie (<a href="https://cs179.libsyn.com/design-arguments-and-community-support-0">recording</a>) and <a href="https://canvas.harvard.edu/courses/64925/assignments/354688">previously in-person activity</a></li>
<li><b>Lecture 16 (Mar 25)</b> Remote Lecture 2: Debugging Design Arguments & Community Support with Leesha Maliakal (<a href="https://cs179.libsyn.com/behavior-change">recording</a>) and <a href="https://canvas.harvard.edu/courses/64925/assignments/355311">previously in-person activity</a></li>
<li><b>Lecture 17 (Mar 30)</b> Remote Lecture 3: Creativity Part 1 with Prof. Lydia Chilton (<a href="https://cs179.libsyn.com/creativity">recording</a>) and <a href="https://canvas.harvard.edu/courses/64925/assignments/356250">previously in-person activity</a></li>
<li><b>Lecture 18 (Apr 1)</b> Remote Lecture 4: Design in Industry with CS179 Alum Zeerak Ahmed (<a href="https://cs179.libsyn.com/design-in-industry">recording</a>) and <a href="https://canvas.harvard.edu/courses/64925/assignments/356698">previously in-person activity</a></li>
<li><b>Lecture 19 (Apr 6)</b> Remote Lecture 5: Computational Creativity Part 2 and Design Feedback with Prof. Steven Dow (<a href="https://cs179.libsyn.com/design-in-industry">recording</a>)</li>
</ul>
</div> -->
<!-- <div class="header lead">
Project 1
</div>
<div>
<ul>
<li><a href="https://docs.google.com/document/d/1ZOLVIv8JS4pe9RqAbOWhAzwN3I8LqjVUwg9FWmXwGcc/edit?usp=sharing">Milestone 1: Needfinding</a> due <it>Thursday 2/13</it></li>
<li><a href="https://docs.google.com/document/d/1AoL5rzFbnwr12l1PDJgjzX6ZbnbERjeVdjoAqKhN2-k/edit?usp=sharing">Milestone 2: Approach Thesis</a> due Thurs 2/20</li>
<li><a href="https://docs.google.com/document/d/1smorJk-lT6RlFOgUIBeeBQI4LDInjvsHKbAkWPMEKOA/edit?usp=sharing">Milestone 3: IUI Prototype</a> due Wed 2/26 (<a href="https://docs.google.com/document/d/1BRE4dAKKZnG7yEuaCLuDVoBSGXANbQdic7XJiuGWUt8/edit?usp=sharing">Part 2</a> will be done in Studios)</li>
<li><a href="https://docs.google.com/document/d/1a4qk5QkgRa0DV_0mn9IsgmiifC5jQOHltkZeOk7kIs0/edit?usp=sharing">Final Report and Pitch</a>: Report due before class on 3/4 and pitch due in studio Wed & Thurs 3/4 & 3/5</li>
</ul>
</div> -->
<!-- <div class="header lead">
Project 2
</div>
<div>
<ul>
<li><a href="https://docs.google.com/document/d/1AOk4FJU4GaMQ98T4jRvHfu_UYaIxEdUrv5d2aZX6f30/edit">Milestone 1: Identify candidate problem areas</a> due Wed Mar 25</li>
<li>Milestone 2: Needfinding <i>[see previous needfinding assignment]</i> due Wed Mar 25</li>
<li>Milestone 3: Approach thesis <i>[see previous approach thesis assignment]</i> due Wed Apr 1</li>
<li><a href="https://docs.google.com/document/d/12Wc_xOcb9AwTpPHjQyABqJXuPBeHa9g2bTdV_XnyetY/edit?usp=sharing">Milestone 4: First UI prototypes; pitch</a> due Wed Apr 8 [External evaluators provide live feedback]</li>
<li>Milestone 5: Refined prototype of concept and UI due Wed Apr 15</li>
<li>Milestone 6: "Field evaluation" (we'll need to be creative about this) due Wed Apr 22</li>
<li>Milestone 7: Complete evaluation, refined design, final report due Wed Apr 29</li>
<li>Final Presentations [External evaluators provide live feedback] during Reading Period, exact date & time TBD</li>
</ul>
<ul><b>A very important note</b>
We expect that some teams will deviate somewhat from the suggested timeline. That’s fine. Two constraints:
<il>
<li>You have to have a mature product concept at the end of Milestone 4.</li>
<li>You have to notify your TF as soon as you know that you are making changes to your timeline. Tell them what timeline you plan to follow. If they agree with the change, they will grade your progress with respect to this mutually agreed-upon timeline.</li>
</il>
</ul>
</div> -->
<!-- <div class="header lead">
Studios
</div>
<div>
<p>Thank you for your availability! Studio and group assignments will be announced soon. Studios will start next week.</p>
<p>Rebecca in MD 221 Wednesdays Noon-1 PM</p>
<p>Amadou in 52 Oxford St B150 Wednesdays 1:30-2:45 PM</p>
<p>Kathy in 52 Oxford St B150 Wednesdays 4:30-5:45 PM</p>
<p>Cole in MD 221 Thursdays 10:30-11:45 PM</p>
<p>Jake in 52 Oxford St B150 Thursdays 1:30-2:45 PM</p>
<p>Phoebe in MD 323 Thursdays 2-3:15 PM</p>
</div> -->
<!-- <div class="header lead">
Syllabus: Timeline
</div>
<div>
<p></p>
</div> -->
<!-- <div class="header lead">
Syllabus: Course Objectives and Policies
</div>
<div>
<p>
<i>By the end of the course, you will have the skills to design innovative interactive products that are useful, usable and address important needs of people other than yourself.</i>
</p> -->
<!--
<p><b>Learning Objectives</b></p>
<ol>
<li><b>Discover</b> The first question in Design is “What problem should we solve?”. Finding a good problem, particularly one that is important to people other than yourself, is hard because many big problems are so ingrained in people’s lives that they no longer notice them. You will learn the techniques for conducting systematic observations and for analyzing the data from those observations. These techniques will help you identify valuable design opportunities.
</li>
<li><b>Invent</b> Creativity is about finding solutions that are novel, surprising and valuable. Creativity is a skill that can be learned and practiced. You will learn about the cognitive underpinnings of creativity and you will learn several techniques for managing your creative process.
</li>
<li><b>Design</b> Once you have an idea for a useful product, you will need to design it to be usable. You will learn the besics of human perception, motor performance, and cognition, as well as a number of design principles, that will help you generate designs for usable interactive systems.
</li>
<li><b>Evaluate</b> Your first (or second, or third) design will never be perfect. We will share with you several techniques for evaluating your designs with real people.
</li>
<li><b>Communicate</b> As a designer, you need to commucate your findings and ideas to other designers, to clients, to funders, etc. Effective communication will be a big part of your professional success. Besides preparing weekly written reports, you will have at least three opportunities during the course to pitch a product concept to external evaluators (designers, entrepreneurs, etc) and to receive feedback.
</li>
<li><b>Succeed on a team</b> Working on a team is hard: your life depends on several other people, yet you have no authority to tell them what to do. So what can you do as a team member to help make your team happy and successful? You will learn a few techniques that successful teams use to manage communication and conflict.
</li>
</ol>
<p><b>Course Policies</b></p>
<ul>
<li><b>Lecture and Studio attendance is mandatory.</b> If you have to miss a lecture or studio, you must let your team and studio leader know in advance, and receive an acknowledgment from both. You are allowed two excused absences (i.e. reported and acknowledged) for the semester without penalty; thereafter you will receive zero credit for the missed studio. To receive credit for attendance, you must arrive on time.
</li>
<li><b>Active participation is essential</b> in this class and will contribute to the final grade.
</li>
<li><b>Do not abuse your electronic device privileges during classtime.</b> The evidence that access to electronics in class can be harmful to your own learning and others around you continues to grow: multitasking incurs a cognitive cost, students who take notes on laptops learn less than those who take notes on paper, laptops adversely impact not only the people using them, but also those around them.
</li>
<li><b>You are welcome to knit or sketch</b>, as long as you do it in a way that does not distract those around you.
</li>
<li><b>Take your own notes</b>, even though the slides will be made available. We recommend notebooks with dotted paper — the dots provide just enough of a guide so that you can draw neat sketches, but they do not get in the way of your drawings.
</li>
<li><b>No auditors allowed.</b> During class activities and discussions, we will all take intellectual risks and make ourselves vulnerable at times. For that reason, we will strive to create a supportive community in class. Interlopers (auditors, etc.) would detract from that goal.
</li>
<li><b>Visitors OK, but please introduce them.</b> It’s OK for a class member to bring a guest to a lecture. But if you do so, please alert an instructor prior to the start of the class so that your guest can be introduced to the rest of the class. Also, please make a name tag for your guest at the beginning of the class so that they can be integrated into our community.
</li>
<li><b>All students’ first point of contact is their section TF.</b> All students’ second point of contact is the lead TF. All TFs have been instructed to respond within one day, and you should let Prof. Glassman know if they fail to meet that guideline. If something needs to be escalated to Prof. Glassman, please send her an email with a subject line beginning with “[CS 179]” and she will respond within two days. If she does not, please reply to your original email so it is brought back to the top of her inbox.
</li>
</ul>
<p><b>Diversity and inclusion</b></p>
<p>In an ideal world, science would be objective. However, much of what we know about design is subjective, reflects the behaviors and preferences of a non-representative sample of the world's population, and is historically built on a small subset of privileged voices. In this class, we will make an effort to learn from a diverse group of designers and researchers, but limits still exist on this diversity. We acknowledge that it is possible that there may be both overt and covert biases in the material due to the lens with which it was written or because of how the participants contributing to the research were chosen. Integrating a diverse set of values, abilities, cultures, etc. is important for building design knowledge that equitably benefits everyone. We would like to discuss issues of diversity in design as part of the course from time to time.
</p>
<p>Please contact us if you have any suggestions to improve the quality and diversity of the course materials.
</p>
<p>Furthermore, we would like to create a learning environment in our class that supports a diversity of thoughts, perspectives and experiences, and honors your identities (including race, gender, class, sexuality, ability, socioeconomic status, politics, religion, etc.). We (like many people) are still in the process of learning about diverse perspectives and identities. If something is said in class (by anyone) that made you feel uncomfortable, please talk to us about it.
</p>
<p>As a concrete step toward creating a civil and supportive environment in our class, we ask everyone to follow the no-dogma rule: Because design directly impacts the world, it is inevitable that our discussions will touch on controversial issues. Everyone is welcome to share their positions, but you have to do it in a manner that is respectful toward people who disagree with you. No position is self-evidently correct. People who support a different position may have good reasons for doing so. You may not pass judgement on people who think differently from you. If you are baffled by what another person says, consider asking Why? Why? Why? until you understand the underlying reason for their stance before jumping to argue your point.
</p>
<p>If you feel like your performance in the class is being impacted by your experiences outside of class, please don’t hesitate to come and talk with us.
</p>
<p><b>What to do if some piece of course technology fails</b></p>
<p>It is unlikely, but possible, that some piece of technology we use in the course breaks or that the course staff make a mistake somewhere. For example, we may forget to upload the paper you are supposed to read, the Canvas site may go dead, etc. If you detect a problem, please follow these steps:
</p>
<ol>
<li>See if you can come up with a quick fix (e.g., can you find the paper elsewhere else on the internet?)
</li>
<li>Check the discussion forum and if you are the first to notice the problem, create a post to report the problem (and perhaps to share your fix). This will help make sure that everyone is on the same page and that if somebody else has found a solution, they can share it quickly.
</li>
<li>Do as much of the work as you can.
</li>
<li>Do not panic if the TF or the instructor do not respond immediately — if there is a problem beyond your control, we will accept late work without penalty.
</li>
</ol>
<p><b>Grading</b></p>
<p>Your course grade will consist of a combination of your grades on your assignments (80%) and professionalism (20%). Professionalism includes class participation, teamwork, adherence to deadlines, collaboration acknowledgements, timely arrival to your studios, etc.
Note that most of the assignments will built toward long-term team-based projects. You will have to do and submit work every week, but we will do major grading only three times during the semester: at the end of the Project 1, four weeks into the Final Projects (at the time you pitch your product concepts) and at the and of Final Projects. Each week, however, you will receive prompt comments on your progress from your TFs. There will also be a small amount of points given each week reflecting whether the team made "serious progress" that week (that's to keep you reasonably paced).
</p>
<p><b>Regrade policy</b></p>
<p>It is very important to us that all assignments are properly graded. If you believe there is an error in your assignment grading, please submit an explanation in writing to your studio leader (Cc-ing the instructor) within 7 days of receiving the grade. No regrade requests will be accepted orally, and no regrade requests will be accepted more than 7 days after receipt of the initial grade.
</p>
<p><b>Academic Integrity</b></p>
<p>In general, many activities in the class will be collaborative and we will expect you to work with others. In all cases such collaboration has to be acknowledged. Each assignment and quiz will come with a detailed collaboration policy.
</p>
<p><b>Accommodations for students with disabilities</b></p>
<p>If you have a health condition that affects your learning or classroom experience, please let the instructors know as soon as possible. We will, of course, provide all the accommodations listed in your AEO letter (if you have one), but we find that sometimes we can do even better if a student helps us understand what really matters to them.
</p>
<p><b>Mental health</b></p>
<p>If you experience significant stress or worry, changes in mood, or problems eating or sleeping this semester, please do not hesitate to reach out to the professor. There are also several free and confidential resources available to you:
<ul>
<li>Counseling and Mental Health at UHS , 617-495-2042 (during business hours), 617-495-5711 (at all other times)
</li>
<li>Room 13, 617-495-4969</li>
</ul>
</p>
<p>We recognize that mental health challenges can be intermittent, that a person who is doing great in many aspects of their life may have difficulties with others. We recognize that mental health challenges can be invisible to outsiders making it hard to get the support and understanding you need. We will do everything we can to help.
</p>
</div> -->
<!-- <p><b>Previous offerings</b></p>
<p>
<a href="https://projects.iq.harvard.edu/cs179sp19">Glassman & Gajos (Spring 2019)</a>
</p> -->
<!-- <div class="header lead">
Possible Papers for Discussion
</div>
<div>
<p>
<span class="boldish">PL</span>
</p>
<ol>
<li><em>Functional Pearl: A SQL to C Compiler in 500 Lines of Code</em>.<br/>Tiark Rompf and Nada Amin. ICFP 2015 & JFP 2019.<br/>(<a href="https://scala-lms.github.io/tutorials/query.html">code</a>)</li>
<li><em><a href="https://infoscience.epfl.ch/record/215280/files/paper_1.pdf">The Essence of Dependent Object Types</a></em>.<br/>Nada Amin, Samuel Grütter, Martin Odersky, Tiark Rompf and Sandro Stucki. Wadlerfest 2016.<br/>(<a href="http://wadlerfest.namin.net">code</a>)</li>
<li><em><a href="http://www.cs.cornell.edu/~yizhou/papers/familia-oopsla2017.pdf">Familia: Unifying Interfaces, Type Classes, and Family Polymorphism</a></em>.<br/>Yizhou Zhang and Andrew Myers. OOPSLA 2017.</li>
<li><em><a href="http://www.cs.cornell.edu/~yizhou/papers/exceptions-pldi2016.pdf">Accepting Blame for Safe Tunneled Exceptions</a></em>.<br/>Yizhou Zhang, Guido Salvaneschi, Quinn Beightol, Barbara Liskov, and Andrew Myers. PLDI 2016.</li>
<li><em><a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/oopsla15-pbe.pdf">FlashMeta: A Framework for Inductive Program Synthesis</a></em>.<br/>Oleksandr Polozov and Sumit Gulwani. OOPSLA 2015.</li>
<li><em><a href="https://people.csail.mit.edu/asolar/papers/Solar-LezamaTBSS06.pdf">Combinatorial sketching for finite programs</a></em>.<br/>Armando Solar-Lezama, Liviu Tancau, Rastislav Bodik, Sanjit Seshia, Vijay Saraswat. ASPLOS 2006.</li>
<li><em><a href="http://projects.csail.mit.edu/jeeves/papers/popl088-yang.pdf">A language for automatically enforcing privacy policies</a></em>.<br/>Jean Yang, Kuat Yessenov and Armando Solar-Lezama. POPL 2012.</li>
<li><em><a href="https://arxiv.org/pdf/1804.04152.pdf">Learning Abstractions for Program Synthesis</a></em>.<br/> Xinyu Wang, Greg Anderson, Isil Dillig and K. L. McMillan. CAV 2018.</li>
<li><em><a href="http://www.cs.grinnell.edu/~osera/publications/osera-pldi-2015.pdf">Type-and-example-directed program synthesis</a></em>.<br/>Peter-Michael Osera and Steve Zdancewic. PLDI 2015.<br/>(<a href="https://github.com/silky/myth">code</a>)</li>
<li><em>On the Expressive Power of Programming Languages</em>.<br/>Matthias Felleisen. Science of Computer Programming.</li>
<li><em><a href="http://io.livecode.ch/learn/gregr/icfp2017-artifact-auas7pp">A Unified Approach to Solving Seven Programming Problems (Functional Pearl)</a></em>.<br/>William E. Byrd, Michael Ballantyne, Gregory Rosenblatt and Matthew Might. ICFP 2017.</li>
<li><em><a href="http://david.darais.com/assets/papers/abstracting-definitional-interpreters/adi.pdf">Abstracting Definitional Interpreters: Functional Pearl</a></em>.<br/>David Darais, Nicholas Labich, Phuc C. Nguyen and David Van Horn. ICFP 2017.</li>
<li><em><a href="">Halide: A language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines</a></em>.<br/>Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Fréedo Durand and Saman Amarasinghe. PLDI 2013.</li>
<li><em><a href="http://adam.chlipala.net/papers/UrWebCACM/">Research Highlight: Ur/Web: A Simple Model for Programming the Web</a></em>.<br/>Adam Chlipala. CACM 2016.</li>
<li><em><a href="https://arxiv.org/abs/1711.04574">Learning explanatory rules from noisy data</a></em>.<br/>Richard Evans and Edward Grefenstette. JAIR 2018.</li>
<li><em><a href="http://janvitek.org/pubs/ecoop12.pdf">Evaluating the Design of the R Language</a></em>.<br/>Floréal Morandat, Brandon Hill, Leo Osvald and Jan Vitek. ECOOP 2012.</li>
<li><em><a href="http://conal.net/papers/icfp97/icfp97.pdf">Functional Reactive Animation</a></em>.<br/>Conal Elliott and Paul Hudak. ICFP 1997.</li>
<li><em><a href="http://conal.net/papers/essence-of-ad/essence-of-ad-icfp.pdf">The simple essence of automatic differentiation</a></em>.<br/>Conal Elliott. ICFP 2018.</li>
<li><em><a href="http://mlg.eng.cam.ac.uk/pub/pdf/SciGhaGor15.pdf">Practical Probabilistic Programming with Monads</a></em>.<br/>Adam Scibior, Zoubin Ghahramani and Andrew D. Gordon. Haskell 2015.</li>
<li><em><a href="http://homepages.inf.ed.ac.uk/gdp/publications/Par_Poly.pdf">A Logic for Parametric Polymorphism</a></em>.<br/>Gordon Plotkin and Martín Abadi. International Conference on Typed Lambda Calculi and Applications, 1993.</li>
<li><em><a href="https://arxiv.org/abs/1905.07457">Overfitting in Synthesis: Theory and Practice</a></em>.<br/>Saswat Padhi, Todd Millstein, Aditya Nori and Rahul Sharma. 2019.</li>
<li><em><a href="https://dl.acm.org/citation.cfm?id=2984020">Ringer: web automation by demonstration</a></em>.<br/>Shaon Barman, Sarah Chasins, Rastislav Bodik and Sumit Gulwani. OOPSLA 2016.</li>
<li><em><a href="https://link.springer.com/chapter/10.1007/978-3-319-63387-9_14">Data-Driven Synthesis of Full Probabilistic Programs</a></em>.<br/>Sarah Chasins and Phitchaya Mangpo Phothilimthana. CAV 2017.</li>
<li><em><a href="https://arxiv.org/abs/1804.01186">Neural-Guided Deductive Search for Real-Time Program Synthesis from Examples
</a></em>.<br/>Ashwin Kalyan, Abhishek Mohta, Oleksandr Polozov, Dhruv Batra, Prateek Jain and Sumit Gulwani. ICLR 2018.</li>
<li><em><a href="https://dl.acm.org/citation.cfm?id=2737977">Synthesizing data structure transformations from input-output examples
</a></em>.<br/>John K. Feser, Swarat Chaudhuri and Isil Dillig. PLDI 2015.</li>
<li><em><a href="https://dl.acm.org/citation.cfm?id=3062351">Component-based synthesis of table consolidation and transformation tasks from examples</a></em>.<br/>Yu Feng, Ruben Martins, Jacob Van Geffen, Isil Dillig and Swarat Chaudhuri. PLDI 2017.</li>
<li><em><a href="https://dl.acm.org/citation.cfm?id=3097417">Learning syntactic program transformations from examples</a></em>.<br/>Reudismam Rolim, Gustavo Soares, Loris D’Antoni, Oleksandr Polozov, Sumit Gulwani, Rohit Gheyi, Ryo Suzuki and Björn Hartmann. ICSE 2017.</li>
<li><em><a href=""></a></em>.<br/> . .</li>
</ol>
<p>
<span class="boldish">HCI</span>
</p>
<ol>
<li><em><a href="https://eglassman.github.io/papers/examplore_chi18.pdf">Visualizing API Usage Examples at Scale</a></em>.<br/>Elena Glassman*, Tianyi Zhang*, Björn Hartmann, and Miryung Kim. CHI 2018.<br/>*indicates equal contributions<br/>(<a href="https://eglassman.github.io/examplore/">supplemental info</a>)</li>
<li><em><a href="https://andrewhead.info/assets/pdf/scooping-examples.pdf">Interactive Extraction of Examples from Existing Code</a></em>.<br/>Andrew Head, Elena Glassman, Björn Hartmann, and Marti Hearst. CHI 2018.<br/>(<a href="https://andrewhead.info/assets/pdf/scooping-examples-auxiliary-material.pdf">supplemental material</a>) (<a href="https://andrewhead.info/assets/pdf/scooping-examples-slides.pdf">slides</a>) (<a href="https://codescoop.berkeley.edu">demo</a>) (<a href="https://www.youtube.com/watch?v=RYbhnRDbvyY">video</a>) (<a href="https://www.youtube.com/watch?v=sIpSS-F1Ltg">teaser</a>)</li>
<li><em><a href="https://arxiv.org/pdf/1703.03539.pdf">Interactive Program Synthesis</a></em>.<br/>Vu Le, Daniel Perelman, Oleksandr Polozov, Mohammad Raza, Abhishek Udupa, and Sumit Gulwani. ArXiv 2017.</li>
<li><em><a href="http://hilap.cswp.cs.technion.ac.il/wp-content/uploads/sites/11/2018/04/gim-synthesis.pdf">Programming Not Only by Example</a></em>.<br/>Hila Peleg, Sharon Shoham, and Eran Yahav. ICSE 2018.<br/>(<a href="http://hilap.cswp.cs.technion.ac.il/wp-content/uploads/sites/11/2018/06/gim-icse.pdf">presentation</a>)
<li><em><a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/pldi14-flashextract.pdf">FlashExtract: A Framework for Data Extraction by Examples</a></em>.<br/> Vu Le and Sumit Gulwani. PLDI 2014.<br/>(<a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/pldi14-flashextract.pptx">presentation</a>) (<a href="https://www.microsoft.com/en-us/research/publication/flashextract-framework-data-extraction-examples/">videos</a>)</li>
<li><em><a href=""></a></em>.<br/> . .</li>
</ol>
</div> -->
</td>
<td width="5px">
</td>
<td class="small" width="250px">
<!-- <div class="box">
<div class="header lead">
Important Dates
</div>
<div class="margin-bottom">
<div class="slightlybold">
September 4, 2019
</div>
<div>
Shopping Week Lecture 1:<br>Why This Matters<br>
<i>Type Safety: A Case Study</i>
</div>
</div>
<div>
<div class="slightlybold">
September 9, 2019
</div>
<div>
Shopping Week Lecture 2:<br>Evaluation is Hard.<br>
</div>
</div>
</div> -->
<!-- <div class="box">
<div class="header lead">
Improve this site
</div>
<div>
<div class="slightlybold">
submit a pull request
</div>
<div>
<a href="https://github.com/eglassman/pl-hci-seminar">on Github</a>
</div>
</div>
</div> -->
<!-- <div class="box">
<div class="header lead">
Lecturing Professor
</div>
<div class="margin-bottom">
<div class="slightlybold">
Elena Glassman
</div>
<div>
Assistant Professor of Computer Science
specializing in human-computer interaction
</div>
<br>
<div class="boldish">Zoom Office Hours</div>
<div>
<a href="https://calendar.google.com/calendar/selfsched?sstoken=UU5pdmMyN0ozcG1BfGRlZmF1bHR8YzM5MGNlYTBiZDkxODZjZWI0M2VkNWY3OGQ4N2JkMjk">Sign up for a 10 or 15 minute slot</a> and then meet me in my <a href="https://harvard.zoom.us/j/2156949631">Zoom Meeting Room</a>.
<br>
<i>Let me know if all slots are filled or there are no slots at a reasonable time within your time zone.</i>
</div>
</div> -->
<!-- <div>
<div class="slightlybold">
Nada Amin
</div>
<div>
Assistant Professor of Computer Science
specializing in programming languages
</div>
<div class="boldish">Office Hours</div>
<div>
Maxwell-Dworkin Rm 151<br>
MW11-12 & T3-4
</div>
</div> -->
</div>
<!-- <div class="box">
<div class="header lead">
Invited Guests
</div>
<div>
<div class="slightlybold">
Marion Boulicault
</div>
<div>
MIT Philosophy Dept
</div>
</div>
<br>
<div>
<div class="slightlybold">
<a href="http://jennyfan.com/">Jenny Fan</a>
</div>
<div>
Palantir
</div>
</div>
<br>
<div>
<div class="slightlybold">
<a href="http://eagapie.com/">Elena Agapie</a>
</div>
<div>
UW Human Centered Design Engineering, UC Irvine
</div>
</div>
<br>
<div>
<div class="slightlybold">
<a href="https://leesha.io/">Leesha Maliakal</a>
</div>
<div>
Northwestern U Technology and Social Behavior program, Delta Lab
</div>
</div>
</div> -->
<!-- <div class="box">
<div class="header lead">
Canvas Sites
</div>
<div class="margin-bottom">
<div>
<a href="https://canvas.harvard.edu/courses/60917">CS 252r</a>
</div>
<div>
<a href="https://canvas.harvard.edu/courses/60518">CS 279r</a>
</div>
</div>
</div> -->
</td>
</tr>
</table>