You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<li><strong>Time:</strong>Tuesday and Thursday 12:00pm - 1:15pm</li>
27
+
<li><strong>Location:</strong>TBD</li>
28
+
<li><strong>Office Hours:</strong>TBD</li>
29
29
</ul>
30
30
</section>
31
+
<section>
32
+
<h2>Course Description</h2>
33
+
<p>Programs are the fundamental medium through which humans interact with computers.
34
+
With the advent of large language models (LLMs), the automated synthesis of programs is rapidly transforming how we build software.
35
+
Instead of manual code writing, we specify intent through examples, specifications, and natural language.
36
+
</p>
37
+
<p>
38
+
This course explores both the foundations and frontiers of program synthesis, covering traditional symbolic techniques alongside LLM-driven approaches.
39
+
Students will study a variety of synthesis paradigms, including example-based, type- and specification-guided, and interactive methods.
40
+
We will examine how LLMs are applied to general-purpose programming tasks as well as to specialized domains such as theorem proving, program repair, planning, and verification.
41
+
</p>
42
+
<p>
43
+
Throughout the course, students will gain exposure to a wide range of programming languages, from widely-used ones like Python and C, to emerging and domain-specific languages such as Rust, Lean, CodeQL, and PDDL.
44
+
The course offers a research-oriented perspective combined with hands-on assignments and projects, providing students with both conceptual understanding and practical experience at the intersection of programming languages and machine learning.
45
+
</p>
46
+
</section>
47
+
<section>
48
+
<h2>Grading Rubrics</h2>
49
+
<p>
50
+
Students will be evaluated based on participation, assignments, a presentation, and a final project.
51
+
Active engagement throughout the course is strongly encouraged, both in class discussions and in peer feedback.
52
+
Exceptional oral presentation or final project may be rewarded with extra credit.
53
+
</p>
54
+
<ol>
55
+
<li>(20%) Class participation and active discussion</li>
56
+
<li>(15%) Oral presentation</li>
57
+
<li>(10%) Assignment 1: Traditional program synthesis</li>
58
+
<li>(10%) Assignment 2: Evaluating LLMs on program synthesis</li>
59
+
<li>(10%) Assignment 3: Iterative program synthesis</li>
60
+
<li>(35%) Final Project including proposal, report, and presentation</li>
61
+
</ol>
62
+
</section>
31
63
<sectionid="calendar">
32
64
<h2>Course Calendar</h2>
33
65
<tableclass="calendar">
34
66
<tr>
35
67
<th>Week</th>
36
-
<th>Date</th>
68
+
<th>Dates</th>
37
69
<th>Topic / Event</th>
38
70
</tr>
39
-
<tr>
40
-
<td>1</td>
41
-
<td>Aug 27</td>
42
-
<td>Introduction & Syllabus</td>
43
-
</tr>
44
-
<tr>
45
-
<td>2</td>
46
-
<td>Sep 3</td>
47
-
<td>Foundations of Machine Programming</td>
48
-
</tr>
49
-
<tr>
50
-
<td>3</td>
51
-
<td>Sep 10</td>
52
-
<td>Assignment 1 Released</td>
53
-
</tr>
54
-
<!-- Add more weeks/events as needed -->
71
+
<tr><td>1</td><td>Aug 26, Aug 28</td><td>Introduction & Syllabus</td></tr>
0 commit comments