=========================================================================== CSC 165 Homework Exercise 2 -- Marking Scheme Winter 2009 =========================================================================== NOTE TO STUDENTS: You will find below the marking scheme used for your homework, including the meaning of marking codes and number of marks associated with each one. This file also contains my instructions to the marker (so you can get an idea of how the homework was marked) and the marker's comments about each question. Please take the time to read this carefully before you ask questions about the grading of your homework. NOTE TO MARKER: Be picky! On any homework, it is the responsibility of students to show that they understand how to solve each problem and to write up their answers carefully. At the same time, keep in mind that exercises are worth only 2% of the final grade, so your marking should be somewhat coarse. And remember that marking is not only about evaluating a student's performance, but also mostly about giving them feedback so that they can learn from their mistakes. This is especially important for students who made numerous or more serious mistakes, as they are likely to need more feedback in order to understand why their answers were incorrect. For each question, I list solution elements with an associated code for writing on student papers (the letter(s) between underscores _) and a number of marks. There are also general errors (with associated codes) given below, with a maximum number of marks to take off for each type of general error (as a percentage of the value of the question). You will likely encounter other common errors, or maybe decide to break down the marking scheme further. Simply make note of these changes/additions to the marking scheme, and introduce new code letters (or short words) to allow you to quickly give accurate feedback to the students (both in terms of what they did wrong and how many marks it cost them). Your marking comments will be included in this marking scheme and posted on the course website so that students may look up the meaning of marking codes and understand how their work was marked. GENERAL ERRORS (marked negatively, in addition to any other errors): _N_otation [up to 20%]: incorrect/ambiguous notation _V_agueness [up to 20%]: incorrect/unjustified/vague claim 1. [10 marks] For each statement: _S_tandard [1 mark]: correct "standard" representation (with all quantifiers over P) _N_on-standard [1 mark]: correct "non-standard" representation (with quantifiers over sub-domains, or structure significantly different from "standard") -- give this for part (d) if they supply only one symbolic representation Marker's Comments: 1c: This is not a biconditional, as not all Python programs are necessarily incorrect. Also, you cannot assume the existence of a incorrect program based on this statement, so "\exists x in P, not J(x) and not T(x)" is incorrect. 1d: For the purposes of this exercise, you were supposed to follow class notes and not use a quantifier. However, interested students can look up how definite descriptions are translated into first-order predicate logic by philosophers and logicians (Wikipedia has a good article), and the philosophical issues that such a translation raises. 2. [10 marks] For each statement: _M_eaning [1 mark]: correct English meaning _N_aturalness [1 mark]: English statement is *not* simply a word-for-word translation of the symbols (e.g., "for all programs, if the program is correct, then the program is written in Java", which would lose this mark) Marker's Comments: 2b: The most common mistake was that people started with "Every program in Python" or something to that effect. This statement says something about *all* programs, not just those in Python. 2e: You had to be very careful with your wording for this question. "All Java programs are correct or incorrect." was not sufficient, because that sentence is ambiguous -- it could mean either all Java programs are correct or incorrect individually, or it could mean that they collectively are all correct or all incorrect. Only the latter interpretation is correct. Also, many people used the "either ... or ..." construction to connect the two parts of this symbolic sentence. While that was accepted in this case because the two parts joined by the disjunction are contradictions of each other, in general, this would not be correct. "Either ... or ..." in natural language is sometimes used for exclusive or, meaning the entire conjoined expression is true if and only if exactly one of the two is true, whereas the disjunction is an inclusive or, which is also true when both parts are true.