-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpresentation.html
More file actions
162 lines (149 loc) · 9.71 KB
/
presentation.html
File metadata and controls
162 lines (149 loc) · 9.71 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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Oral Presentations - Machine Programming | Johns Hopkins University</title>
<!-- SEO Meta Tags -->
<meta name="description" content="Oral presentation guidelines for EN.601.727 Machine Programming course at Johns Hopkins University. Student presentations on program synthesis and LLM research topics.">
<meta name="keywords" content="machine programming presentations, program synthesis talks, LLM research presentations, Johns Hopkins University, computer science presentations">
<meta name="author" content="Ziyang Li">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://machine-programming.github.io/presentation.html">
<!-- Open Graph Meta Tags -->
<meta property="og:title" content="Oral Presentations - Machine Programming | Johns Hopkins University">
<meta property="og:description" content="Oral presentation guidelines for EN.601.727 Machine Programming course covering student presentations on program synthesis and LLM research.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://machine-programming.github.io/presentation.html">
<meta property="og:site_name" content="Machine Programming Course">
<meta property="og:image" content="https://machine-programming.github.io/img/machine-programming-accent.png">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="css/styles.css">
</head>
<body>
<header>
<h1>EN.601.727 Machine Programming</h1>
<p>Johns Hopkins University — Fall 2025</p>
<p><strong>Instructor:</strong> Ziyang Li | <strong>Email:</strong> <a href="mailto:ziyang@cs.jhu.edu">ziyang@cs.jhu.edu</a></p>
</header>
<nav>
<a href="index.html">Home</a>
<a href="assignments.html">Assignments</a>
<a href="readings.html">Readings</a>
<a href="project.html">Final Project</a>
<a href="presentation.html" class="active">Presentations</a>
<a href="index.html#calendar">Calendar</a>
</nav>
<main>
<section>
<h2>Oral Presentations</h2>
</section>
</main>
<main>
<section>
<h3>Sign-Up</h3>
<p>
We’ll have <strong>student-led presentation sessions</strong> starting from Week 9 of the semester.
Each session will focus on one research topic with three related papers.
You’ll form a <strong>group of three students</strong>, with each student presenting
<strong>one paper</strong> (≈ 15–20 min talk + 5–10 min Q&A).
</p>
<p>
Please fill out the <a href="https://docs.google.com/forms/d/e/1FAIpQLSdunsLnTo26IlROU7QvEz52BFMnvSePlP7-_yqY1xaiRWOiIA/viewform" target="_blank">Google Form here</a>
to rank your topic preferences. I’ll use these responses to form balanced groups and
avoid race conditions.
</p>
<p><strong>Deadline:</strong> Friday, <strong>Oct 10 at 11:59 PM</strong></p>
<h3>Grading Policy</h3>
<p>
This oral presentation is <strong>graded on a completion basis</strong>, contributing
<strong>10%</strong> of your final course grade:
</p>
<ul>
<li><strong>2%</strong> for submitting the sign-up form before the deadline</li>
<li><strong>8%</strong> for successfully completing your oral presentation</li>
</ul>
<p>
<strong>Important:</strong> If you do <strong>not</strong> submit the form by the
deadline, you’ll be <strong>automatically assigned</strong> to a topic and presentation slot
at the instructor’s discretion. Failure to present in your assigned slot without prior approval
will result in a <strong>zero for the presentation component</strong>.
</p>
<h3>Attendance Notice</h3>
<p>
Attendance during the student-led sessions will be <strong>recorded strictly</strong>.
If you must miss a session due to external circumstances, please notify
<strong>the instructor or the TA in advance</strong>.
</p>
</section>
</main>
<main>
<section id="paper-topics">
<h2>Paper Presentation Topics</h2>
<p>
Each student group will be assigned one of the following topics for their paper presentation.
The exact papers can be coordinated between the group members and the instructor.
As a start, the instructor will propose at least five papers per topic. You are encouraged
to choose papers from this list, though you may also select papers that you find particularly
exciting. To ease your preparation, you may choose papers that already have slides or videos
available online.
</p>
<h3>Topic 1. Language Models for Programming: Pretraining, Fine-Tuning, and Adaptation</h3>
<p>
This topic explores how large language models acquire and specialize programming knowledge.
We’ll discuss pretraining objectives (next-token prediction, span corruption), fine-tuning strategies
(instruction tuning, reinforcement learning, human and logical feedback), and parameter-efficient
adaptation methods such as LoRA and quantization. We’ll also look at dataset construction for code
understanding and synthesis, and evaluation benchmarks for measuring program synthesis capability.
</p>
<h3>Topic 2. LLM Agents and Multi-Agent Frameworks</h3>
<p>
This topic focuses on how LLMs become agents that plan, communicate, and use tools.
We’ll study communication protocols, tool interfaces, and multi-agent coordination frameworks,
as well as real-world implementations such as LangChain, LangGraph, AutoGen, Swarm, Codex,
Claude Code, and Cursor. Discussion will include agent design principles, tool selection and
orchestration, and applications in collaborative programming, debugging, and long-horizon automation.
</p>
<h3>Topic 3. Search-Based and Evolutionary Program Synthesis</h3>
<p>
This topic investigates how search and optimization drive program synthesis.
We’ll cover genetic programming, Monte-Carlo search, Bayesian optimization, and self-improving loops
for evolving programs or repair candidates. We will touch on works such as AlphaEvolve, and explore
connections between search and neural synthesis, such as reinforcement-learning-based code refinement
and hybrid LLM-guided search.
</p>
<h3>Topic 4. Applications in Software Engineering and Security</h3>
<p>
This topic explores how synthesis techniques can automate or enhance software engineering tasks.
We’ll cover testing and property-based testing, fuzzing, program analysis (static, dynamic, symbolic),
vulnerability detection, exploit and proof-of-concept generation, specification and invariant synthesis,
and program verification. Students may explore the application of LLM coders to both symbolic approaches
(e.g., symbolic execution, constraint solving) and modern neural-assisted tools for security and reliability.
</p>
<h3>Topic 5. Applications in Planning and Cyber-Physical Systems</h3>
<p>
This topic investigates synthesis for physical and hybrid systems that interact with the real world.
We’ll examine planning languages (PDDL, Z3 encodings), reward-function synthesis for robot training,
CAD and shape program generation, and robot configuration or simulation environment synthesis.
Connections to autonomous system design, motion planning, and neurosymbolic control are also encouraged.
</p>
<h3>Topic 6. Applications in Logic, Mathematics, and Theorem Proving</h3>
<p>
This topic covers program synthesis for symbolic reasoning and formal domains.
We’ll study logic programming languages (Prolog, Datalog), first-order and temporal logic,
and theorem-proving environments such as Lean, Coq, and Rocq. Applications include AI4Math and AI4Science,
autoformalization, automated proof synthesis, and LLMs for mathematical reasoning or competition-level problem solving.
</p>
<h3>Topic 7. Applications in Databases and Data-Wrangling Programs</h3>
<p>
This topic examines program synthesis for data analysis and manipulation tasks.
We’ll discuss data-wrangling program generation (e.g., FlashFill, AutoPandas), SQL and NoSQL query synthesis,
database optimization and migration, and automatic code generation for data collection and cleaning.
Connections to natural-language interfaces for databases and dataflow-oriented program synthesis are also welcome.
We’ll also discuss extensions of database-style query systems to new areas such as program analysis (e.g., CodeQL)
and knowledge-graph reasoning.
</p>
</section>
</main>
</body>
</html>