The following paragraphs describe the grading criterion that will be used in this course. Pluses and minuses will be used within a letter grade to distinguish the better performances from the weaker ones.
Fully understands the material covered in class and in the problem sets; can extend ideas to new situations and more complex problems; successfully combines techniques to solve problems not demonstrated in class; work is of a consistently high quality.
Understands most material presented in class and in the problem sets; correctly applies formulas and procedures to problems similar to those demonstrated in class and in the homework; often successful in combining techniques to solve problems not demonstrated in class; work is of moderate to high quality.
Understands much of the material presented in class, but is weak in some areas; can solve most problems similar to those done in class and homework; sometimes applies ideas incorrectly or incompletely; needs more practice in some areas for full proficiency in the material; quality of work is moderate or inconsistent.
Has serious difficulty with much of the material from class and the problem sets; consistently misapplies procedures or fails to complete the solutions to problems, even those that are similar to the ones covered in class; quality of work is inconsistent.
Generally, I try to produce assignments where the grade ranges are approximately 85 to 100% for an A, 70 to 85% for a B, and 55 to 75% for a C, though this varies from assignment to assignment and from class to class.
To obtain an A in this course, you will need to be able to do nearly all the problems problem sets, including the hard ones, and produce correct and efficient solutions to the programming problems.
To obtain a B in this course, you will need to do well on the standard problems on the problem sets, and make some progress on the harder ones, but you may not be able to complete some of them. You should be able to make significant progress on all but the hardest exam problems, and should be able to produce correct solutions to most of the programming problems.
To obtain a C in the course, you need to be able to do at least some of the problems on the problem sets and exams completely, and make progress on most of the the others, though you may not be able to do some of them at all. You should be able to complete large parts of the programming projects, but may not be able to get everything to work.
To obtain a D or F, you will be unable to complete most problems on the problem sets and exams, and will not be able to produce working solutions to the programming problems.