ICS 311 Fall 2017 Assessment (Grading)

The assessment components and their default weights (percentages and points, where 10 points = 1% of your grade) include:

There is a total of 1000 points in the regular assessments, plus extra points based on peer evaluation of classwork. We reserve the right to adjust the total number of points and points allocated to each category depending on circumstances.

Points, Percents and Letter Grades

A "point" will be worth 0.1% of your grade. For example, an item worth 100 points is 10% of your grade, and perfect performance is 1000 points. At the end of the semester, we add up all your points and divide by 10 to get your percentage of points earned, capping it at 100% (it is possible to earn over 1000 points via peer evaluation).

To determine letter grades, we use a 4-percent spread per grade increment, i.e., 100-97=A+, 96-93=A, 92-89=A-, 88-85=B+, 84-81=B, 80-77=B-, 76-73=C+, 72-69=C, 68-65=C-, 64-61=D+, 60-57=D, 56-53=D-, 52-0=F. If upon inspection of the distribution of grades we feel that too many students who understand the material are not getting the grades they deserve, we may then make adjustments in favor of students (especially for those who did well on exams).


Quizzes (23%, 230 points):
There will be a quiz at the start of each class (section 1) or before class (section 2) based on the readings and screencasts. These quizzes will test basic understanding of the chapter on which the day's topic is based, such as whether you can simulate the operation of the data structure or algorithms or get the main point of the analyses of their relative merits. Most quizzes will not involve mathematical analysis or proofs: problems requiring deeper thought will be left for the classwork and homework problems. Solutions will be given in class immediately after the quizzes are due, so quizzes cannot be made up. We are expecting 23 quizzes worth 10 points each.

Class (Group) Problems (11.5%, 115 points):
All regular classes will include significant time working in small groups on problems that help expose conceptual issues in the material and prepare you to work on the take-home portion on your own. Class problems will require much more thought than the problems given on the quizzes. You turn your work in as a group (a single shared document in Google Docs per group). We will discuss the solutions in class after your work is turned in. The TA will grade classwork on a 5 point scale, giving the same grade to everyone in the group. Grading of classwork is based primarily on evidence (in the Docs) that you made an effort to understand the problems, and secondarily on correctness of solutions. See also "Peer Evaluation of Class Participation" for points earned for participating in the group sessions.

Homework (Individual) Problems (33.0%, 330 points):
On 11 of the weeks you will have homework problems in which you do more extensive work following up on the class work. The homework problems will combine the topics of both days of the week (MW or TTh, depending on which section you are in). You should do the homework problems individually. Exam questions often are similar to homework problems, so this is your chance to make sure that you understand concepts and can work problems on your own, not just in a group context. The work is graded based on 30 points per homework. The TA will grade homeworks. Solutions will be posted, but won't be discussed in class unless students ask questions.

Peer Evaluation of Class Participation (estimated 66+11 points, treated as extra credit)
Each week in which there is a problem set, each individual in the group will assign points distributed across the other individuals in the group to assess how effectively they collaborated in the group. You should allocate the points according to how well the others worked as team members, including their role in team functioning (e.g., keeping the group focused and organized, or playing another important role), and how much they helped others understand the material (e.g., by explaining what they understood), as well as their contributions to the actual problem solution. Even asking good questions can be a contribution.

Each week you will have 6 points to distribute across all of your peers. You can distribute the points equally, give them all to one person, or do something in between. For example, if everyone participated equally, you would give the same number of points to each person; while if there was one person who did more work and the other who did less you might move a point from the latter to the former.

This is fair under changing group sizes. Suppose everyone allocates points equally. Then:

Some additional rules:

Midterms (20%, 200 points):
There will be two midterm exams taking one class period each. Problems will be harder than those on the quizzes, and some may be as hard as those on class and homework problems. Problems will cover both understanding of the algorithms and how to analyze them. They will cover the most recent set of lecture topics, but cumulative "review" questions may also be included. Students will be allowed to bring one page of notes to the exam (details to be described before each exam). No electronic devices will be allowed. Each midterm is 100 points; there are two for 200 points or 20%. The instructor will grade all midterm exams, with help from the TA if needed.

Final (12.5%, 125 points):
The final exam will take place at the time scheduled by the university and will be longer than a midterm exam. It will cover the final set of lecture topics, but also include review of the entire semester. It will be different from the midterm exams, emphasizing the ability to apply concepts from the semester. Since the final is longer and is cumulative as well as covering recent material, it is weighted more (125 points). We will attempt to schedule both sections to take the final exam at the same time and place. Grading may be shared between TA and instructor.

Programming Assignments

In case you were wondering, there are no programming assignments. We used to have them. They were to 1. implement and do comparative tests of alternative Dictionary ADT implementations; 2. implement the entire Graph ADT; and 3. design and implement various graph analysis algorithms using your Graph ADT. While some students said it helped them understand the algorithms in practice, others said that they spent a huge amount of time on the programming assignments in exchange for little additional understanding of algorithms.

Extra Credit

We generally do not offer extra credit options other than the extra points discussed above for peer evaluation. These complicate the grading too much and the workload is already high. However, if you want to pursue work related to Algorithms for credit, talk to the instructors or to Nodari Sitchinava about doing a project for ICS 499 credits.


We each have our own strengths. If a student performs significantly better on one area than others, we may elect to put greater weight on the area that gives the student a better grade. We are more willing to do this with strong exam performance, as exams are not easy and are proctored so we know it's the student's work.

Dan Suthers
Last modified: Mon Aug 21 01:56:04 HST 2017