11/20/25 HW8 is out! It's 1 page long with no reading handout, but goes with a couple of Python notebooks and some code to inspect.
You may work in pairs. Due date is Sunday, December 7, at
11:59pm (as late as we could make it without illegally cutting into reading period).
11/4/24 HW7
is available. It's a continuation of HW6, and you may continue to work with your HW6 partner if you like. It's due on Friday, Nov 21 at 11pm, just before Thanksgiving break. (There may not be office hours etc. during the break.)
10/29/25 HW6
is available. There's a long reading handout.
This homework shouldn't be too hard conceptually if you followed the HMM and CRF
lectures, but you'll still have to keep track of a lot of
ideas, code, and experiments. You may work in pairs. The
deadline is Monday 11/10.
Note that HW7 will build on HW6, so you'll continue working
with this codebase (and optionally with the same partner).
10/9/25 HW5 is available, with a short "reading handout" appended to it. It deals with
attaching semantic λ-expressions to grammar rules. It is
due on Monday, 10/27, at 11pm.
9/26/25 HW4
is available, with a separate "reading handout" appended to it. You may want to do HW3 first,
but we're making HW4 available now so that you can read the
handout while parsing is still fresh in your mind from lecture.
The reading might also help you study parsing for the midterm.
This is the conceptually hardest homework project in the course, with two
major challenges: probabilistic Earley parsing, and making parsing
efficient. It is due on Monday, 10/20, at 11pm (the day after
spring break). You may work with a partner on this one.
9/12/25 HW3
is now available, with a separate "reading handout" appended
to it. The due date is Sun, 10/5, at 11pm. Start
early: This is a long and detailed homework that
requires you to write some smoothing code and experiment with
their parameters and design to see what happens. It should be
manageable because we've already covered the ideas in class
and on HW2, and because we've provided you with a good deal of
code. But it may take some time to understand that code and
the libraries that it uses (especially PyTorch).
I strongly suggest that you start reading the 27-page
reading handout now, then study the starter code and ask
questions on Piazza as needed. Spread the work out. You may
work in pairs.
9/5/25 HW2
(11 pages) is available. It's due in a little over 2 weeks: Mon 9/22 at
2pm. This homework is mostly a problem set about manipulating
probabilities. But it is a long homework! Most
significantly, question 6 asks you to read a separate handout
and to work through a series of online lessons, preferably
with a partner or two. Question 8 asks you to write a small
program. It is okay to work on questions 6 and 8 out of
order.
8/27/25 HW1
(12 pages) is available. It is due on Wed 9/10 at 2pm: please
get this one in on time so we can discuss it in class an hour
later.
8/25/25 First class is Mon 8/25, 3pm, Remsen 101. As explained on the syllabus, please keep MWF 3-4:30 pm open to accommodate a variable class schedule as well as office hours after class. Our weekly recitations are Tue 6-7:30 pm.
8/25/25 Please bookmark this
page.
All enrolled students will soon be added to Piazza.
Later, when Homework 1 is due, we will tell you how to join Gradescope.
Key Links
Syllabus -- reference info about
the course's staff, meetings, office hours, textbooks, goals,
expectations, and policies. May be updated on occasion.
Piazza
site for discussion and announcements. Sign up, follow, and participate!
Warning: The schedule below is adapted from last year's schedule and may still change! Links to future lecture slides, homeworks, and dates currently point to last year's versions. Watch Piazza for important updates, including when assignments are given and when they are due.
Optional reading: Explore links in the "NLP tasks" slides!
HW8 due on 12/7
Final
Exam period (12/10 - 12/18):
Final exam review session (date TBA)
Final exam (Thu 12/11, 2pm-5pm, Remsen 101)
Unofficial Summary of Homework Schedule
These dates were copied from the schedule above, which is subject to change.
Homeworks are due approximately every two weeks, with longer homeworks getting more time. But the
homework periods are generally longer than two weeks -- they overlap. This gives you more flexibility
about when to do each assignment, which is useful if you have other classes and activities.
We assign homework n as soon as you've seen the lectures you need, rather than waiting
until after homework n-1 is due. So you can jump right in while the material is fresh.
HW6 (unsupervised learning): given Wed 10/22, due Fri 11/7 Mon 11/10
HW7 (discriminative learning): given Fri 10/31, due Fri 11/21
HW8 (large language models): given Mon 11/10, due Fri 12/5 (last day of class)
Recitation Schedule
Recitations are normally held on Tuesdays (see the syllabus). Enrolled students are expected to attend the recitation and participate in solving practice problems. This will be more helpful than an hour of solo study. The following schedule is subject to change.