ClassS04CS141 | ClassS04CS141 | recent changes | Preferences

Difference (from prior major revision) (author diff)

Removed: 91,92d90
* distribution of total weighted average so far (with 40% of grade determined):

check your scores on blackboard

Scores for graded assignments are available for you to see on blackboard (

get your graded homeworks and exams back

Graded hwks and exams will be returned in labs, or you can stop by the instructor's office and pick them up. Each homework and each programming assignment is worth 100 points (this is divided evenly between problems, that is if there are five problems each is worth 20 points, if there are 4 problems each is worth 25 points)

who graded what

grading scale

grading: homeworks (20%), projects (25%), lab participation (5%), class participation (5%), one midterm (20%), final exam (25%)

There will be a total of 6 homeworks and 6 programming assignments, each equally weighted within its category. Your weighted average will be computed as

0.20 * (sum of homework scores)/6
+ 0.25 * (sum of prog asst scores)/6
+ 0.20 * (midterm score)
+ 0.25 * (final exam score)
+ 0.05 * (lab participation)
+ 0.05 * (class participation)

Your weighted average will then is used to determine your letter grade as follows:

grade actual
0-50 F 0-50 11
50-52 D- 50-52 0
52-57 D 52-57 4
57-60 D+ 57-60 5
60-63 C- 60-63 2
63-67 C 63-67 7
67-70 C+ 67-70 10
70-73 B- 70-72 8
73-77 B 72-75 5
77-80 B+ 75-77 4
80-85 A- 77-80 8
85-90 A 80-89 5
90-100 A+ 89-100 1

10 of 86 students withdrew, 4 failed for cheating.

The "proposed range" was the range originally stated at the start of the course. The "actual range" was the range I ended up using to assign grades. It gives slightly higher grades in the A-B range.

Roughly, I want grades to correspond to the following skill sets:

C = Know algorithms and data structures we've studied in class, can simulate them on examples, know worst-case big-O running times, can implement them in C++. Can explain why these algorithms and data structures are correct, and how their run-time analyses go. Know how to run the debugger to catch most run-time errors in programs. Can complete somewhat complicated programming assignments involving templates, classes, etc, provided basic design is provided.

B = Skills for C (above) and: given a new algorithm or data structure, can analyze running time and show correctness. Can adapt known algorithms to related problems. Comfortable and competent with the concept of "algorithm" independent of program. Comfortable running the debugger and competent at interpreting g++ compiler error messages and tracking down compile-time errors. Can distinguish a sound analysis of an algorithm (a proof) from an unsound one. Able to judge correctness of a proposed line of reasoning regarding correctness or running time of a program or algorithm.

A = Skills for B and: can design and analyze efficient new algorithms and data structures. Comfortable with all algorithms, data structures, and techniques taught in the course. Able to debug even challenging compile-time and run-time errors in reasonable time. Completely comfortable with concepts underlying worst-case analysis of algorithms and data structures.

distributions of scores

overall grades: 1 A+, 5 A, 8 A-, 4 B+, 5 B, 8 B-, 10 C+, 7 C, 2 C-, 5 D+, 4 D, 11 F, 10 withdraw, 4 failed for cheating

If you're curious to compare your scores to others':




ClassS04CS141 | ClassS04CS141 | recent changes | Preferences
This page is read-only | View other revisions
Last edited June 17, 2004 2:42 pm by Neal Young (diff)