This document specifies the general course policy for LING 570, 571, 572, and 574. Note that the course policy for a particular course in a particular quarter could vary and in that case the difference will be highlighted in that course’s policy guidelines.

In this document, “we” refers to the instructor, the TA, and the grader; “you” refers to the students.

  1. Communication Outside the Classroom
  2. Choice of Programming Languages
  3. Assignment Due Dates and Late Penalties
  4. Files to Submit
  5. Regrading for Three Common Problems
  6. Other Grading Questions
  7. Discussion Board
  8. Class Participation
  9. Rubric for Assignments
  10. Grading and Grade Scale
  11. Incomplete
  12. Collaboration and Academic Honesty
  13. Public code-sharing policy

1. Communication Outside the Classroom

  • We will use the Announcement, Discussion, and Inbox mechanisms in Canvas to communicate with you.
  • If you need to contact us outside the classroom, please come to office hours, or email us via Canvas.

[back to top]

2. Choice of Programming Languages

As of Fall 2023, all of 570-572+574 will be requiring Python as the programming language.  Each course will offer individual instructions on setting up an environment on patas and/or for local development.

[back to top]

3. Assignment Due Dates and Late Penalties

Due Dates

  • Unless specified otherwise, all assignments are due at 11:00 PM Pacific Time on the same day of the week.
    • e.g. 11:00 PM every Thursday.
  • No submission will be accepted later than TWO days after the due date.

Late Penalty

The late penalty is:

Hours Late Penalty
x < 1 1%
1≤ x <24 10%
24 ≤ x < 48 20%

Final Score = (Score Before Penalty) × (1 – Late Penalty)

Example: A submission that is 26 hours late will be (Score Before Penalty) × 0.80.


  • If you need an extension, you must contact the instructor at least 24 hours before the due time.
  • The approval of an extension is at the discretion of the instructor.
  • An extension is at most TWO days.
  • A granted extension will still require the assignment to be submitted within TWO days.
    • In other words, the extension will reduce a late penalty, but will not change the time the submission area is closed.
  • You are allowed one free extension per quarter.  Please notify the instructors (and add a comment on Canvas submission) if/when you plan to use this.
  • If an extension is given to the whole class, the submission area will close after two days of the new due date.

[back to top]

4. Files to be Submitted

Unless specified otherwise, you should upload two files for each assignment:

  • readme.{txt|pdf}
    • Writeup which includes messages to grader and answers to questions that do not require coding.
  • hwX.tar.gz
    • A gzipped tar file including all shell scripts, source code, binaries, and any other files required for assignment.
    • Suppose all your files are stored under ~/hw3/ on Patas. You would run the following from the parent (home) directory:tar -cvzf hw.tar.gz hw3

For coding assignments, you must submit shell scripts:

  • The name of your shell script and command line for the script must be exactly as specified in the assignment.
  • The shell script should be very short, and simply call the code written in a programming language of your choice
    • (See Section 2 for notes on programming languages.)
  • For submission, you must submit the shell script, the source code, and binary code if the language requires compilation.
  • The binary code must run on patas. We will not compile the source code for you.

We will provide a script called (e.g. for HW1) that will sanity-check your tar file.

  • Before submitting the tar file,you should run the following on Patas, where $course-root-dir is the root dir of your course, and $hw_tarball is your hw.tar.gz $course-root-dir/hwX/ $hw.tar.gz
  • For each assignment hwX, we will provide a file called submit-file-list which lists all files that should be included in the tarball.
    • For the shell script, the list includes only the name of the shell script, not the name of source or binary code.
    • will open your shell script and check whether the source/binary code called by the script are included.
      • For instance, if your shell script calls
      • will check whether is included in the tar file
      • If calls another module, will NOT check whether this dependent module is included in the tar file.
    • It is your responsibility to ensure that all source/binary code called by the shell script (directly or indirectly) should be included in the tarball.
  • Note that checks whether the tar file includes all required files, but does not check whether the files have the correct format or whether the content is correct.

[back to top]

5. Regrading for Three Common Problems

Required Conditions for Regrading

If you lose points due to the following “easily fixable” problems, you can request regrading:

  • Wrong submission or missing files:
    • To show that you completed the assignment before the due time, you must show the grader the timestamp of the files on your local Patas directory.
    • To avoid this problem, please run before submission.
  • Code crashes
    • Your code may be tested on heldout data you have not seen before.
    • Your code should be tested on Patas and all required output files should be produced by running your code on Patas.
    • If your code requires a specific version of interpreter or compiler, make sure that the correct version is specified in the shell script (e.g. #!/usr/bin/python2.7) and used to compile the code.
    • If your code crashes, we will NOT debug the code for you.
      • We will try to give you partial credit if your code is easy to follow, and/or your readme explains under what conditions your code may crash.
      • If you can easily fix your code (e.g. the wrong interpreter was specified) you may request a regrade and tell us what changes should be made to avoid the crash.

Once again: The output files required by the assignments must be produced by running on Patas.

If the output files have issues due to being produced in a different computing environment (such as containing Windows linebreaks), you may lose points.

Regrading Process

Over the course of the quarter, you may request regrading for at most TWO assignments:

  • There will be a penalty of 10% for the part of the assignment requiring regrading.
    • Example:
      • Your original grade is 70 points, and you require regrading of question Q2, for which your score was 10/30. (60 points on remaining questions).
      • After regrading, your new score for Q2 is 30 points.
      • Your new grade will be 60 + (30 × 0.9) = 87.
  • The regrading request must be made within 7 Days after the grade is made available Canvas.

[back to top]

6. Other Grading Questions

If you have questions about your grade that are not related to the cases mentioned in Section 5, you should contact us within 7 days after the grade is made available to resolve the issue. Such discussion will not count toward the two regrading requests and is not subject to the 10% penalty, but is at the discretion of the grader.

In general, we will not provide sample code for assignments.

[back to top]

7. Discussion Board

The discussion boards are mainly used for students to discuss any course-related issue amongst each other.

  • We will check the discussion board, but do not guarantee a reply to any specific question on the board.
  • If we need to clarify certain confusion or address common questions, we will start a new discussion thread and pin the thread.
    • This will allow you to check pinned discussion threads for clarification and skip the full discussion if you prefer.
  • We won’t be able to answer all questions on the discussion board.
    • If your questions on the board are not answered by your peers or us on the board, please ask them in class, during office hours, or via the Canvas inbox.
  • We won’t be able to debug code for you. For debugging, it is best to work with peers to help each other.

[back to top]

8. Class Participation

A student who actively participates in class and Canvas discussion may receive up to 2% bonus added to the final grade.

[back to top]

9. Rubric for Assignments

For any coding assignment, the rubric will consist of two parts:

  • Standard Portion: 25 Points
  • Assignment-specific Portion (Typically 75 Points)

The standard portion is explained in the following table:

2 pts hw.tar.gz submitted
2 pts readme.{txt|pdf} submitted
6 pts All files and folders are present in expected locations.
10 pts Programs run to completion
5 pts The output of programs on patas match submitted output

[back to top]

10. Grading and Grade Scale

Unless specified otherwise, your final course grade is the average grade from all of your assignments (with the possible 2% bonus mentioned in Section 8).  When calculating this average, we automatically drop the lowest score on any assignment.

Unless specified otherwise, we use the following table to convert grade percentage to final grade:

Grade Percentage 4.0-Scale Grade
98.0 – 100% 4.0
96.0 – 97.9% 3.9
94.0 – 95.9% 3.8
92.0 – 93.9% 3.7
90.0 – 91.9% 3.6
88.0 – 89.9% 3.5
86.0 – 87.9% 3.4
84.0 – 85.9% 3.3
82.0 – 83.9% 3.2
80.0 – 81.9% 3.1
78.0 – 79.9% 3.0
76.0 – 77.9% 2.9
74.0 – 75.9% 2.8
72.0 – 73.9% 2.7

[back to top]

11. Incomplete

Per UW policy (UW Registrar Page), incomplete grades may only be awarded if you are doing satisfactory work up until the last two weeks of the quarter.

An “incomplete” grade is given only under extremely unusual circumstances (e.g. health issues, family emergency). You should contact the instructor ASAP and work out a plan for completing the course in a timely fashion if you find yourself unable to continue the coursework for such a qualifying circumstance.

[back to top]

12. Collaboration and Academic Honesty

We encourage you to collaborate in various forms such as participating in Canvas discussion boards, forming study groups, helping your peers with coding problems. Nevertheless, you are expected to complete assignments on your own (or with teammates on group projects). Any kind of plagiarism is prohibited.

For instance, it is not permissible for one student to create a computer file containing the answers and other students to copy that file and submit it as their own work. Copying code from the web or classmates is plagiarism. For more information, see the UW policy at:

If you are unsure whether a certain kind of collaboration is allowed, you should contact us first.

[back to top]

13. Public code sharing policy

No portion of your assignments from these classes—code or written portions–may be made available in a publicly-viewable location.  In particular, you may not upload any portion of your assignment to GitHub or similar code-hosting services.

While we understand the value in building a public-facing portfolio for your careers, these assignments cannot be so used.  Very often, project materials from 573 and various 575s can be made publicly available, so we encourage you to clarify with your instructors from those courses about whether you can use those materials for a portfolio.

[back to top]