|CPSC 327||Data Structures and Algorithms||Spring 2011|
|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 one or two class periods later 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. Four 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:
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.
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):
The three lowest individual question scores will be dropped. Approximate letter grade equivalents are as follows: mostly ✓ = A, mix of ✓ and ✓− = B, mostly ✓− = C, mix of ✓− and − = D.