-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcs179.html
494 lines (426 loc) · 33.9 KB
/
cs179.html
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
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
---
title: CS 179 Design of Useful and Usable Interactive Systems
layout: cs179
---
<table>
<tr>
<td class="small">
<div class="no-top-padding">
<p class="no-top-padding">
The course covers skills and techniques necessary to design innovative interactive products that are useful, usable and that address important needs of people other than yourself. You will learn how to uncover needs that your customers cannot even articulate. You will also learn a range of design principles, effective creativity-related practices, and techniques for rapidly creating and evaluating product prototypes. You will also have several opportunities to formally communicate your design ideas to a variety of audiences. You will complete two large team-based design projects.
</p>
</div>
<div class="header lead">
Who is this course for?
</div>
<div>
<p>
Undergraduates in any concentration, of any graduation year. Given that there are no programming assignments, no programming experience is required.
</p>
</div>
<!-- <div class="header lead">
What to Submit
</div>
<div>
<p>
PLATEAU seeks papers from junior researchers who are interested in receiving mentoring from our panel of experts.
We encourage both standard research papers and more unusual works—for instance, papers that describe works-in-progress or recently completed work, report on experiences gained, question accepted wisdom, raise challenging open problems, or propose speculative new approaches.
In short, a PLATEAU submission should describe the work or perspectives on which the author wants to receive expert feedback.
</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">
Spring 2021 Lectures
</div>
<div>
<ul>
<li>Monday Jan 25: <b>Need Theses and Needfinding</b> (<a href="https://www.dropbox.com/s/ytkbeeape9t0841/CS%20179%20Class%201%20Need%20thesis%20SP21.pdf?dl=0">PDF</a>)</li>
<li>Wednesday Jan 27: <b>Approach Theses and User Feedback</b> (<a href="https://www.dropbox.com/s/qdhghocu193gwvx/CS%20179%20Class%202%20Approach%20thesis%20SP21.pdf?dl=0">PDF</a>)</li>
<li>Monday Feb 1: <b>Needfinding Methods</b> (<a href="https://www.dropbox.com/s/2vigdlfimt6k9nl/CS%20179%20Class%203%20Needfinding%20SP21.pdf?dl=0">PDF</a>)</li>
<li>Wednesday Feb 3: <b>Affinity Diagramming</b> (<a href="https://www.dropbox.com/s/pbc2itf23naji4x/CS%20179%20Class%204%20Affinity%20Diagramming%20SP21.pdf?dl=0">PDF</a>)</li>
<li>Monday Feb 8: <b>Storyboarding and Ideation</b> (<a href="https://www.dropbox.com/s/rykg9dvbblrincx/cs%20179%20class%205%20storyboarding%20and%20ideation%20sp21.pdf?dl=0">PDF</a>)</li>
<li>Wednesday Feb 10: <b>Creativity Part 2</b> (<a href="https://www.dropbox.com/s/03xz6qcmioxz20h/CS%20179%20Class%205%20More%20Creativity%20SP21.pdf?dl=0">PDF</a>)</li>
</ul>
</div>
<div class="header lead">
Past Lecture Topics
</div>
<div>
<ul>
<li><b>Design Arguments</b> (<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>Identifying and addressing riskiest risks</b> (<a href="https://www.dropbox.com/s/sd5vvqr4hab29ux/session%200b%20--%20methods%20for%20reducing%20uncertainty.pdf?dl=0">PDF</a>)</li>
<li><b>Heuristic Evaluation</b> (<a href="https://www.dropbox.com/s/b1113ru190ed02d/Session%201a%20--%20Heuristic%20Evaluation.pdf?dl=0">PDF</a>)</li>
<li><b>Needfinding</b> (<a href="https://www.dropbox.com/s/qlj5ge374om29ml/session%201b%20--%20needfinding.pdf?dl=0">PDF</a>)</li>
<li><b>Teams & Intro to Affinity Diagramming</b> (<a href="https://www.dropbox.com/s/7afeogwjvtzci1x/Session%201b%20--%20Teams.pdf?dl=0">PDF</a>)</li>
<li><b>Approach Theses, Storyboarding, and Ideation</b> (<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 8 (Feb 19)</b> Creativity and analogical thinking; Rapid prototyping and evaluation; Giving and receiving design critique</li> -->
<li><b>AI/HCI</b> (<a href="https://www.dropbox.com/s/ubpfl6evgseoxs3/human-ai%20interaction.pdf?dl=0">PDF</a>) and UI Prototyping</li>
<li><b>Ethics</b> </li>
<li><b>How to give a good pitch</b> (<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>Finding a problem area</b> (<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>Behavior Change</b> A Conversation with Prof. Elena Agapie (<a href="https://cs179.libsyn.com/design-arguments-and-community-support-0">recording</a>)</li>
<li><b>Debugging Design Arguments & Community Support</b> A Conversation with Leesha Maliakal (<a href="https://cs179.libsyn.com/behavior-change">recording</a>)</li>
<li><b>Creativity</b> A Conversation with Prof. Lydia Chilton (<a href="https://cs179.libsyn.com/creativity">recording</a>)</li>
<li><b>Design in Industry</b> A Conversation with CS179 Alum Zeerak Ahmed (<a href="https://cs179.libsyn.com/design-in-industry">recording</a>)</li>
<li><b>Design Feedback</b> A Conversation Prof. Steven Dow (<a href="https://cs179.libsyn.com/design-in-industry">recording</a>)</li>
<!-- <li><b>Lecture 5 part 1</b> How to Present a Paper in 279r (<a href="How-to-present-279r.pdf">PDF</a>)</li>
<li><b>Lecture 5 part 2</b> PL Paper Presentation Example (<a href="slides_pl_paper.pdf">PDF</a>)</li> -->
</ul>
</div>
<div class="header lead">
Project 1 (Milestones due each Thursday, starting Thursday Feb 4th)
</div>
<div>
<ul>
<li>Milestone 1: Needfinding <a href="https://docs.google.com/document/d/1K7YNi4Zs0QhUcupQE3jz1HvVxx9QIi7NLaw2aJtWh-s/edit?usp=sharing">(Description)</a></li>
<li>Milestone 2: Approach Thesis <a href="https://docs.google.com/document/d/1k5spl_qRsFVHtJfQLw_u8xEUxpXTgINbsm5QMbd3xlU/edit?usp=sharing">(Description)</a></li>
<li>Milestone 3: UI Prototype <a href="https://docs.google.com/document/d/13GI9q8Ed3RjNM13aooiNJ82q6kiXhpruDWVRCpGYhzU/edit?usp=sharing">(Part 1)</a> and Hueristic Feedback <a href="https://docs.google.com/document/d/1RZfHEI6GrgL6qgzJr5v8fNy8xyK0MIq3x5r1NtK9Ma8/edit?usp=sharing">(Part 2)</a></li>
<li>Milestone 4: Final Report and Pitch <a href="https://docs.google.com/document/d/1II12Zp21wHZhH3Yqb9q8q8DoSsNcioTGJmrsOitkPvY/edit?usp=sharing">(Description)</a></li>
<!-- <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 (Milestones due each Thursday, starting Thursday March 4th)
</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 1: Identify candidate problem areas<a href="https://docs.google.com/document/d/1A-QEzN4ruSxDUTnDsiyTsVRjZeOm2ba6ZFU2dOBhBLk/edit?usp=sharing">(Description, Project Overview)</a></li>
<li>Milestone 2: Needfinding</li>
<li>Milestone 3: Approach thesis</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 4: First UI prototypes; Pitch to studios and external evaluators for live feedback</li>
<li>Milestone 5: Riskiest Risks</li>
<li>Milestone 6: Refined prototype of concept and UI</li>
<li>Milestone 7: "Field evaluation"</li>
<li>Milestone 8: Complete evaluation, refined design, final report</li>
<li>Final Presentations to entire class and external evaluators</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>
<ul>
<li><a href="http://glassmanlab.seas.harvard.edu/cs179_sp20.html">Glassman (Spring 2020)</a></li>
<li><a href="https://projects.iq.harvard.edu/cs179sp19">Glassman & Gajos (Spring 2019)</a></li>
</ul>
</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.x.ai/elenaglassman/advising">Sign up for a 10 minute slot</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">
Some Past 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>