CPSC 327 Data Structures and Algorithms Spring 2010

CPSC 327 Assessment

Assignments and Evaluation

Readings: Readings are an important component of this course, as they provide a starting point for the material that will be covered in class. Readings are to be done before the class period for which they are assigned.

Thinking Problems: Knowledge is gained by thinking about the material, not having it (only) pass in front of your eyes. Readings will often be accompanied by one or two "thinking problems", to prompt you to think more deeply about the material and to set the stage for the day's class meeting. Thinking problems are due at the start of class on the day for which they are assigned.

Homework: Homework problems are an opportunity to practice applying the material covered in the reading and in class. To allow for rapid feedback and in-class discussion, homework problems will generally be assigned in small batches due frequently rather than in large weekly problem sets.

Projects: Algorithms and data structures can be a very theoretical subject, where solutions are rarely sketched out in more detail than pseudocode. Five two-week programming assignments will emphasize practical applications of the course material.

Exams: There will be two midterms and a final exam. All will be take-home exams, and will emphasize applying concepts rather than simple recall. More information about the exams will be provided closer to the exam dates.

Final Grades: Final grades in this course will be computed as follows:

  • Thinking Problems: 5%
  • Homework: 25%
  • Projects: 40% (8% each)
  • Exams: 30% (midterms 9% each, final 12%)

Participation: You are also expected to participate in class. This does not mean that you have to volunteer for everything, but you should be actively engaged in class - i.e. you are paying attention and contribute meaningfully to the class on a regular basis. Note that you will be counted absent - even if physically present in class - if you are not paying attention for significant portions of the class. You should not hesitate to ask questions about the course material, either in class or outside of class via email or office hours - if you remain confused about something, it will make the next topic that much harder.

Coding Standards

Following reasonable conventions is important for readability of your code. The course coding standards specify the particular conventions you should use in this course.

Thinking Problems Rubric

The purpose of the thinking problems is to encourage thinking about the reading prior to class. Responses to thinking problems will be graded on the following 4-point scale (√, √-, –, 0):


thoughtful response
  • answer demonstrates thoughtful consideration of the problem and understanding of the concepts
  • completely addresses the question
  • evidence of thinking beyond what is directly stated in the reading
  • nuances and subtleties are noticed and considered
  • response is on the right track
  • rationale for answer is conveyed
√- superficial or inaccurate response
  • answer demonstrates understanding of the concepts
  • some aspects of the question are not addressed
  • little evidence of thinking beyond what is directly stated in the reading
  • nuances and subtleties are omitted
  • response is generally on the right track, but there many be some incorrect points
  • no rationale for answer
unsatisfactory response (incomplete or incorrect)
  • many aspects of the question are not addressed
  • an attempt is made to address the question, but much of the response is not on the right track
  • answer demonstrates significant confusion or misunderstanding
0 no answer
  • question is not answered
  • response is way off base

Approximate letter grade equivalents are as follows:

Amostly √
Bmostly √ and √-
Cmostly √-
Dmostly √- and –
Fmostly –

More than an occasional 0 will lower the grade.

Valid HTML 4.01!