Course Policies

This document specifies the general course policy for LING 570, 571, and 572, which can also be found on the department website here. 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. Grade Scale
  11. Incomplete
  12. Collaboration and Academic Honesty

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

For LING 571, WIN 2018 refer to the reccomended programming list here.

At the beginning of each quarter, we will provide a list of recommended programming, languages which are supported on Patas.

  1. You should choose a language on the list or
  2. If you strongly prefer a language not on the list:
    1. You must get approval from the instructor beforehand, and that approval is at the discretion of the instructor.
    2. Please be aware that it may be harder for us to award partial credit if we are not familiar with the language.
    3. If the programming language is not currently installed on Patas, the installation (by our system adminstrator) can take time, and no extension will be given due to delay in installing the supported software.

[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.
  • 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. Grade Scale

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

Grade Percentage Final 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 (, 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 epxected 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]