Repository navigation
Expand file tree
/
Copy pathpresentation.html
More file actions
184 lines (170 loc) · 10.2 KB
/
Copy pathpresentation.html
File metadata and controls
184 lines (170 loc) · 10.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
<!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 2026</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>Format</h3>
<p>
<strong>Six lectures</strong> in the second half of the semester are dedicated to
<strong>student-led presentations</strong> — see the
<a href="index.html#calendar">course calendar</a> for the dates.
Each presentation topic includes <strong>three related research papers</strong>,
with <strong>two students assigned to each paper</strong> — so each session has six presenters.
</p>
<p>
Each paper is led by <strong>two students</strong>, who split the discussion between them:
</p>
<ul>
<li>
The <strong>Defender</strong> (10 min) presents the paper’s main ideas,
methodology, and key contributions.
</li>
<li>
The <strong>Attacker</strong> (10 min) critically evaluates the paper, discusses its
limitations, and raises questions from a reviewer’s perspective.
</li>
</ul>
<h3>Sign-Up</h3>
<p>
The sign-up form is now <strong>open</strong>!
Please complete it to indicate your <strong>topic preferences</strong>, your
<strong>preferred role</strong> (Defender/Attacker), and your <strong>availability</strong>.
Topic and role assignments will consider your preferences; in case of conflicts,
<strong>earlier submissions will receive priority</strong>, so sign up early.
We will announce the assignments after collecting everyone’s responses.
</p>
<p>
<strong>Sign-up Form:</strong>
<a href="https://docs.google.com/forms/d/1Bng2SpKeA4unzy0gQthO-sjHimNOsdlq-S2O8o9aklg/viewform" target="_blank">EN.601.727 Oral Presentation Sign-Up</a>
</p>
<p><strong>Deadline:</strong> Tuesday, October 20, at 11:59 PM</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>
The following eight topics explore different aspects of Machine Programming, with a focus on
how AI can assist, automate, and advance programming and software development.
These descriptions provide examples of research directions within each topic rather than an
exhaustive list. The specific presentation papers will be assigned by the course staff.
</p>
<h3>Topic 1. LLM Training, Fine-Tuning, and Adaptation for Programming</h3>
<p>
How can we train and adapt AI models to better understand and generate code? This topic explores
pre-training and fine-tuning on code-related data, reinforcement learning with coding feedback,
and techniques such as LoRA, quantization, and knowledge distillation to improve the efficiency
and effectiveness of models for programming tasks.
</p>
<h3>Topic 2. Multi-Agent Systems for Programming</h3>
<p>
How can multiple AI agents collaborate to accomplish complex programming tasks? This topic explores
how coding agents divide responsibilities (e.g., planning, implementation, testing, and reviewing),
how different organizational structures and communication topologies affect their performance, and
how agents coordinate through communication protocols to develop software collaboratively.
</p>
<h3>Topic 3. Recursive Self-Improvement for Machine Programming</h3>
<p>
Can AI systems improve their own programming capabilities? This topic explores how AI agents can
iteratively improve their coding workflows and harnesses, automatically search for better model or
agent architectures, and conduct machine learning research by generating, executing, and evaluating
code with limited human intervention.
</p>
<h3>Topic 4. AI Applications in Software Engineering</h3>
<p>
How can AI automate different stages of the software development lifecycle? This topic covers
AI-powered coding and computer-use agents, program understanding and transformation (e.g.,
decompilation, transpilation, and reverse engineering), and automated software testing, static and
dynamic analysis, debugging, and program repair.
</p>
<h3>Topic 5. AI Applications in Cybersecurity</h3>
<p>
How can AI assist with programming tasks in cybersecurity? This topic explores AI-driven
vulnerability detection and code analysis, automated generation and testing of exploits, and
security agents that write and execute scripts for penetration testing, red teaming, and
vulnerability remediation.
</p>
<h3>Topic 6. AI Applications in Cyber-Physical Systems</h3>
<p>
How can AI help develop programs that control and interact with physical systems? This topic
explores AI-assisted generation, adaptation, and testing of software for autonomous vehicles,
robots, and humanoid systems, including generating robot control code, planning executable actions,
and validating programs through simulation and real-world feedback.
</p>
<h3>Topic 7. AI Applications in Mathematics and Scientific Computing</h3>
<p>
How can AI assist with programming for mathematical reasoning and scientific discovery? This topic
explores AI-assisted formalization and theorem proving, generation of programs for scientific
modeling and simulation (e.g., Navier–Stokes equations), and automated optimization of
numerical algorithms and high-performance computing code.
</p>
<h3>Topic 8. AI Applications in Human-Computer Interaction (HCI)</h3>
<p>
How can AI make programming more accessible and interactive for human users? This topic explores
natural-language, visual, and graphical programming, AI-assisted development interfaces, human-AI
collaborative coding, educational systems for STEM students, and systems that help users create,
understand, and modify programs with minimal programming expertise.
</p>
</section>
</main>
</body>
</html>