The aim of the assignment and project is to build basic understanding and advanced implementation skills needed to do build cutting-edge systems or do cutting-edge research using neural networks fro NLP, culminating with a project that demonstrates these abilities through a project.

  • Homework 1: Link
  • Homework 2: Link
  • Homework 3: Link
  • Homework 4 (Project)

Assignment Policy

There will be 3 homework assignments over the course of the semester. These assignments may contain material that has been covered by published papers and webpages. It is a graduate class and we expect students to solve the problems themselves rather than search for answers.

Submission Information

To submit your assignment you must submit via canvas a zip file containing:

  • your code: This should be in a directory “code” in the top directory unless specified otherwise.
  • system outputs (assignments 1 and 2): The format will be specified separately for each assignment.
  • a report (assignments 3 and 4, optional for assignments 1 and 2): This should be named “report.pdf” in the top directory. This is for assignments 3 and 4, and can be up to 7 pages for assignment 3 and 9 pages for assignment 4. References are not included in the page count, and it is OK to submit appendices that include supplementary information such as hyperparameter settings or additional output examples, although there is no guarantee that the TAs will read them. Submissions that exceed the page count will be penalized one third grade (33%) for each page over. You may also submit report.pdf for assignments 1 and 2 if you have any interesting infromation to convey to the TAs, for example if you did anything interesting above and beyond the minimal requirements.
  • a link to a github repository containing your code (assignments 3 and 4): This should be a single line file “github.txt” in the top directory. Your github repository must be viewable to the TAs and instructor by the submission deadline. If your repository is private make it accessible to the TAs by the submission deadline (Github ID: junjiehu, ywwwei). If your repository is not visible to the TAs, your assignment will not be considered complete, so if you are worried please submit well in advance of the deadline so we can confirm the submission is visible. We use this repository to check contributions of all team members.

The students are required to typeset homework solutions using \(\LaTeX\) and the provided template.

Collaboration Policy

Assignment 1 and 2 must be done individually, while Assignment 3 and 4 must be done in teams of 2-3 (individual submissions of one student will not be accpeted for Assignment 3 and 4). If you are having trouble finding a group, the instructor and TA will help you find one after the first initial survey.

For Assignment 1 and 2, it is acceptable to collaborate when figuring out answers and to help each other solve the problems. We will be assuming that, as participants in a graduate course, you will be taking the responsibility to make sure you personally understand the solution arising from such collaboration. You also must indicate on each homework with whom you have collaborated.

Late Policy

Individual students will be allowed 3 total late days without penalty for Assignment 1 and 2. Each team will be allowed 3 total late days without penalty for Assingment 3 and the project. Note that other than these late days, we will not be making exceptions and extending deadlines, so please try to be frugal with your late days and use them only if necessary. Once those days are used, you will be penalized according to the following policy:

  • Homework is worth full credit at the due time on the due date.
  • The allowed late days are counted by day (i.e., each new late day starts at 12:00 am CT).
  • Once the allowed late days are exceeded, the penalty is 50% per late day conted by hour (i.e., 2.0833% per hour).
  • The homework is worth zero credit 48 hours after exceeding the late day limit.

You must turn in at least 2 out of 3 assignments and the project report, even if for zero credit, in order to pass the course. Please upload your late submissions to Canvas.

Regrade Policy

If you feel that we have made a mistake in grading your homework, please submit a regrading request to the instructor and TA by email, and we will consider your request. Please note that regrading of a homework may cause your grade to go either up or down.

Plagiarism/Code Reuse Policy

All assignments are expected to be conducted under the UW-Madison policy for academic integrity. All rules here apply and violations will be subject to penalty including zero credit on the assignment, failing the course, or other disciplinary measures. In particular, in your implementation:

  • Code or pseudo-code provided by the TAs or instructor may be used freely without restriction.
  • You may not just re-use an existing implementation written by someone else. The implementation should basically be your own.
  • Code written by other students in the class cannot be used (except, obviously, you can share code within your group for assignments 3 and 4).
  • You can use fragments of code that you found online as long as they are limited to a few lines, and you note where you got the code both as a comment in your code and in your report. If you are unsure whether it is allowed, consult with the TAs before turning in the assignment.
  • If you are doing a similar project for a graded class at UW-Madison (including independent studies or directed research), you must declare so on your report, and note which parts of the project are for CS 769, and which parts are for the other class. Consult with the TA mailing list if you are unsure.

Final Project (Assignment 4)

The class project will be carried out in groups of 2 or 3 people, and has four main parts: a proposal (Assignment 3), a Github repo for implementation, a final report, and a oral presentation. The project is an integral part of this class, and is designed to be as similar as possible to researching and writing a conference-style paper.