Academic Policy =============== Assessment ---------- All assignments will involve programming and will be assessed according to the following criteria: - Completeness (does the code run to completion?) 40% - Output (does the code produce the expected output?) 40% - Following directions (did you complete the assignment according to the instructions?) 10% - Documentation (is the code adequately commented?) 10% **Completeness** This criterion pertains to whether you completed all parts of the assignment. In general, assignments will consist of more than one part, and each part is weighted according to the level of difficulty. **Output** This pertains to how accurate the output is. For some assignments, assessment of the output will be objective and straightforward. For instance, if you design a parser that is 90% accurate, you'll get a better grade than if your parser performs at 80%. For other assignments (e.g., NLG) assessment of the output will be more subjective and left up to the grader. Also, this pertains to how well the code runs, whether it produces an error and how far the program gets before exiting. Partial credit will be given even if the code produces an error. For instance, if the assignment is to parse 10,000 sentences and your program exits with an error after 5,000 sentences, then we will subtract 20%. **Follow Directions** This pertains to whether you followed directions in completing the assignment. Did you name your files like in the instructions? Did you use the correct inputs? Did you structure your code as the assignment called for? **Code Documentation** Please be sure to comment your code adequately, mainly to help others read your code but also to enable you to read your own code later---maybe after you've forgotten that you ever wrote the code! Except for variables and other items with short comments, a useful rule of thumb is to use full sentences, referring to the particular class, method, or variable by name, not assuming that referring expressions such as *it* or *this method* will be adequate. .. For commenting Python code, see the following sites: How to turn in assignments -------------------------- Please use the UW's **CollectIt** system to turn in your assignments. You can access Ling571's CollectIt area `here `_ with your UW NetID. Group work ------------ Assignments in this course will require you to partner with another student. Please try to distribute the work as equally as possible as each group member will receive the **same grade**. Occasionally groups do not work out. If you feel your partner isn't pulling his/her weight, please try and resolve it amongst yourselves first. If after the next assignment you cannot work it out, let me know and I will assign you to another group. Cheating -------- Please don't cheat. It is both very easy to cheat and very easy for me to detect cheating in this course. Think Google. Copying code is also plagiarism. Please see the UDub `policy `_ on such issues. In general, using someones Python library to complete a sub-component of a programming assignment is not cheating. Using someones implementation for the main algorithm IS cheating. A good rule of thumb is to be sure and tell me in the comments when you use someone else's code. I will try and specify in the hw assigments when you can use other libraries and when you cannot. Late work, incompletes, regrades --------------------------------- The ability to meet deadlines illustrates mastery of the subject. While most students can meet all deadlines, some routinely take advantage of the instructor's leniency. To counter this, and be fair to the others, each day your assignment is late, I'll subtract 10\%. (Note: I'll be much more lenient in giving parital credit to on-time code than to code that is excessively late.) For example, if the assignment is due on Sunday night at 11:59PM, turning it in between then and 11:59PM on Monday will result in 10\% being subtracted from the final score. For more info on incompletes, please see the University `policy page `_. Basically, you can only request an incomplete when have successfully completed all coursework up until 2 weeks before the end of term. I cannot give an incomplete simply because your last assignment was late, or because you are traveling or working on another project during the last couple of weeks. As for regrading assigments, I will only do so if I or the grader has made an error. I will not regrade simply to boost a bad mark.