-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathassignments.html
More file actions
82 lines (80 loc) · 5.42 KB
/
assignments.html
File metadata and controls
82 lines (80 loc) · 5.42 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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Assignments - Machine Programming | Johns Hopkins University</title>
<!-- SEO Meta Tags -->
<meta name="description" content="Programming assignments for EN.601.727 Machine Programming course at Johns Hopkins University. Inductive synthesis, coding LLMs evaluation, and coding agents projects.">
<meta name="keywords" content="machine programming assignments, program synthesis projects, coding LLMs, inductive synthesis, Johns Hopkins University, computer science assignments">
<meta name="author" content="Ziyang Li">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://machine-programming.github.io/assignments.html">
<!-- Open Graph Meta Tags -->
<meta property="og:title" content="Assignments - Machine Programming | Johns Hopkins University">
<meta property="og:description" content="Programming assignments for EN.601.727 Machine Programming course covering inductive synthesis, coding LLMs evaluation, and coding agents.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://machine-programming.github.io/assignments.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" class="active">Assignments</a>
<a href="readings.html">Readings</a>
<a href="project.html">Final Project</a>
<a href="presentation.html">Presentations</a>
<a href="index.html#calendar">Calendar</a>
</nav>
<main>
<section>
<h2>Assignments</h2>
<p>
<strong>Overview:</strong>
There are 3 programming assignments in this course ranging from traditional program synthesizer to coding LLMs and coding LLM Agents.
The assignment skeleton code is hosted on Github.
The links below will lead you to Github repositories.
Please follow the instructions in <code>readme.md</code> for each of the assignment.
</p>
<p>
<strong>Policy:</strong>
All assignments can be submitted through GradeScope anytime and multiple times before the deadline.
Late submissions will be penalized 10% per day for up to 3 days.
Collaboration is allowed, but you must cite your collaborators in the submission, and the submission must be your own work.
</p>
<p>
Extensions are allowed, but you must request an extension in advance via email to the instructor (<a href="mailto:ziyang@cs.jhu.edu">ziyang@cs.jhu.edu</a>) or the TA (<a href="mailto:fwang60@jh.edu">fwang60@jh.edu</a>).
The maximum extension is 2 days, and late submission can still be used on extended deadlines.
No extensions will be granted after the normal deadline.
</p>
<p>
<strong>API keys for LLM use:</strong>
Each enrolled and auditing student is granted an API key for a large language model for the assignments.
You can use the API key to access the language model in your assignments;
the code that setup the client is provided in the assignment skeleton code.
</p>
<p>
<strong>Use of AI for programming assignment:</strong>
In light of the theme of the course, <strong>we encourage you to use LLMs to help you with the coding assignments</strong>.
However, you should not rely on LLMs to do the entire assignment for you.
You should understand the code you write, and be able to explain it to others.
In case an LLM is used, you should keep a record of the conversation with the LLM, and include it in the submission (usually under a file named `acknowledgements.md`).
Please refer to the detailed instruction in each assignment.
</p>
<ul class="assignments">
<li><a href="https://github.com/machine-programming/assignment-1" target="_blank"><strong>Assignment 1:</strong> Enumerative program synthesis</a> <em>(Due: <s>Sep 11, 2025</s> Sep 16, 2025; Late Due: <s>Sep 14, 2025</s> Sep 19, 2025)</em></li>
<li><a href="https://github.com/machine-programming/assignment-2" target="_blank"><strong>Assignment 2:</strong> Evaluating Coding LLMs</a> <em>(Due: <s>Oct 2, 2025</s> Oct 5, 2025; Late Due: <s>Oct 5, 2025</s> Oct 8, 2025)</em></li>
<li><a href="https://github.com/machine-programming/assignment-3" target="_blank"><strong>Assignment 3:</strong> Coding LLM Agents</a> <em>(Due: Oct 23, 2025; Late Due: Oct 26, 2025)</em></li>
</ul>
</section>
</main>
</body>
</html>