<div dir="ltr">Dear all,<div><br></div><div><div>We look forward to seeing you <b><u>tomorrow</u>, this Tuesday (3/15)</b> from <b><font color="#ff0000">1</font></b><font color="#ff0000"><b>2:00-1:00 PM (U.S. Eastern time)</b></font> for the next talk of our <b>CMU AI seminar</b>, sponsored by <a href="https://www.morganstanley.com/about-us/technology/" target="_blank">Morgan Stanley</a>.</div><div><br></div><div>To learn more about the seminar series or see the future schedule, please visit the <a href="http://www.cs.cmu.edu/~aiseminar/" target="_blank">seminar website</a>.</div><div><br></div><font color="#0b5394"><span style="background-color:rgb(255,255,0)"><i>Tomorrow</i> (3/15),<span class="gmail-Apple-converted-space"> </span></span><b style="background-color:rgb(255,255,0)"><u>Kevin Ellis</u> </b><span style="background-color:rgb(255,255,0)">(Cornell) will be giving a talk titled<span class="gmail-Apple-converted-space"> </span></span><b style="background-color:rgb(255,255,0)">"</b></font><b><font color="#0b5394" style="background-color:rgb(255,255,0)">What Program Synthesis Can Learn From How People Write Code</font></b><font color="#0b5394"><b style="background-color:rgb(255,255,0)">" </b><span style="background-color:rgb(255,255,0)">to</span></font><span style="color:rgb(11,83,148);background-color:rgb(255,255,0)"> share his work on advancing program synthesis using insights from how humans build software, such as writing libraries and using REPLs.</span><br><br><font color="#0b5394"><b>Title</b>: What Program Synthesis Can Learn From How People Write Code</font><div><font color="#0b5394"><br></font><div><font color="#0b5394"><b>Talk Abstract</b>: How can we best make systems which learn to write computer programs? Here I explore the idea that we should take insight from the techniques and tools that human coders use when building software, but that we should combine those insights with machine learning methods. I focus on two basic coding techniques: writing libraries, and using interpreters ("REPLs"). For libraries, I present a system called DreamCoder, which grows a library of reusable subroutines as it solves a range of programming problems. DreamCoder's architecture builds on the structure of wake-sleep neural network training algorithms, and combines both symbolic and neural learning. For interpreters, I present a system which learns to interact with a REPL while it writes code, showing that this can help mitigate the combinatorial search difficulties of program synthesis. At the end of the talk, I will present preliminary results on modeling another aspect of coding: creating challenging and interesting programming problems. </font><div><font color="#0b5394"><br><b>Speaker Bio</b>: <a href="https://www.cs.cornell.edu/~ellisk/">Kevin Ellis</a> works in artificial intelligence and programming languages. He is an assistant professor of computer science at Cornell University, and was previously a research scientist at Common Sense Machines. He did his PhD at MIT in cognitive science.</font><div><br></div><div><b>Zoom Link</b>:  <a href="https://cmu.zoom.us/j/99510233317?pwd=ZGx4aExNZ1FNaGY4SHI3Qlh0YjNWUT09" target="_blank">https://cmu.zoom.us/j/99510233317?pwd=ZGx4aExNZ1FNaGY4SHI3Qlh0YjNWUT09</a></div></div></div></div></div><div><br></div><div>Thanks,</div><div>Asher Trockman</div></div>