Best Practices in CS Education – Part -I: Grading Policies at Few Top Universities

Posted on March 15, 2012


Author:   Sanjay Goel,


Student evaluation (grading) policies are a very important element of any course.  Mostly Indian universities show a tendency to overemphasize the importance of written exams at the cost of several other potential forms of student engagements that require (and hence promote) critical/creative thinking, information gathering, problem formulation, complex problem solving, experimentation/construction/documentation skills,   reflective improvisation, independence of thought, group work, etc. This practice significantly differs from   the practice at CS departments of a few top Universities, e.g., MIT, UC Berkeley, Stanford, etc.

I have tabulated the grading policy of some CS courses at MIT, UC Berkeley, and Stanford University. It can be seen that in 65% of 43 courses, the written exams (including quizzes) do not form the major component of student’s task. Instead   more than 50% weightage is given to student performance in assignments, projects, homework, participation, peer review.  Interestingly,  in 40% courses, there is no midterm/final exam or quiz.  Many midterm and final exams are held as  Open book exams. Some faculty members administer their exams as  take home or open book- open laptop exams.    The faculty members at these universities have the flexibility of designing their own evaluation scheme in their courses.  They do not have to follow a rigid universal scheme in their courses.  Such an academic flexibility is not yet seen on the agenda of academic reforms in India.

In my view,  if any institute wants to excel in computing education, it will have to reform its grading policies as well and give higher freedom to its faculty in terms of designing the evaluation scheme in their courses.   The examples listed below can be used as benchmarks in this regard.   No doubt, the proposed higher flexibility will require a higher sense of commitment for excellence by the faculty members.

Indian Education systems too deserves freedom from overdependence on fixed duration written exams at all levels and in all disciplines. Even IITs suffer from this overdependence. Surprisingly even most young teachers do not show any discomfort from this approach. In my view, this is one of main reasons of mediocrity in our education system.

A.   Stanford University

SNo Course Evaluation/Grading Policy
1. CS103: Mathematical Foundations of Computing Homeworks (60%), Midterm (15%), and Final (25%). Students may use the course texts and all handouts (including lecture notes, course notes, and solutions) and their own notes and homework solutons during exams, but no other materials.
2. CS 106A: Programming Methodology Programming Assignments: 55%, Midterm: 15%, Final Exam: 25%, Section Participation: 5%
3. CS 106A: Programming Abstractions Programming assignments:  60% minus 5% for each Honor Code case reported, Final examination:  15% plus 5% for each Honor Code case reported, Midterm examination:  15%, Section participation: 10%
4. CS 108 : Object Oriented System Design Homework Assignments 66.6% , Class Project 33.3%
5. CS110: Principles of Computer Systems Homework 50%, Midterm Exam 15%, Final Exam 35%
6. CS144: Introduction to Computer Networking E = max (final; avg (final; midterm));HW= avg (hw1; hw2);     HW’s are writing assignments;

W = (3E+HW)/4;  P = avg (p1; p2; p3; p4; p5); P’s are  programming assignments;

Grade = max{ (2W+P)/3 ; (W+2P)/3}

7. CS157: Computational Logic CS157 is offered for 3-4 units. The requirements (same for both number of units) include four problem sets and a very easy final exam. Each will be worth 20% of the total grade.
8. CS 181: Computers, Ethics and Public Policy 20% Paper #1, 20% Paper #220% Section participation and reaction papers, 40% Final project
9. CS221: Introduction to Artificial Intelligence Homework assignments : 20%, Programming assignments: 30%,
Midterm: 20%, Final: 30%
10. CS 224: Natural Language Processing Programming assignments and final project : 92%;   Quizzes: 8%.
11. CS224W: Social and Information Network Analysis 30% on problem sets10% on reaction paper60% on the final project
12. CS 231A: Introduction to Computer Vision Problem Sets: 40%, Midterm exam: 20%, Final project: 40%
13. CS 245: Database System Principles Homeworks: 20%, Midterm: 30%, Final: 50%.
14. CS 249a: Object-Oriented Programming from a Modeling and Simulation Perspective 40% assignments, 15% midterm, 45% final exam.
15. CS 255: Introduction to Cryptography Homework: 35%; Programming project: 35%; Final exam: 30%
16. CS 259C: Elliptic Curves in Cryptography Homework assignments: 60%, Final project: 40%
17. CS 309A: Cloud Computing Class attendanceAsking one question in advance of each lecture/guest lecturer. There is a site where you register your questionA final paper of between 4 and 8 pages.
18. CS 347: Transaction Processing and Distributed Databases Assignment: 20%, Mid term: 30% Final: 50%;exams are open-book open laptop
19. CS 378: Phenomenolgical foundations of Cognition, language and Computation Forum Participation (including pairs)- 30%Term Paper Draft and comment on other person’s draft – 30%Term Paper Final Version- 30%In-Class Participation – 10%
20. CS 448B: Data Visualization Class Participation: 10%,  Assignments : 50%,  Final Project: 40%

B.   UC Berkeley

SNo Course Evaluation/Grading Policy
1. CS 3L: Introduction to Symbolc Programming Total marks = 40045  Labs                   11.25%

40  Quizzes              10%

50  Homework        12.5%

5   Free points        1.25%

20   Final project      5%

60   Exam 1              15%

80   Exam 2              20%

100  Final Exam       25%

2. CS4: Introduction to Computing for Engineers Lab quizzes: 10%,  Project:     10%,  Homework:    20%Midterm:    25%,  Final:      35%
3. CS 61B:   Data Structures Labs 5%,  Homework 10%,  Projects  35%Midterm I  12.5%Midterm II  12.5%Final Exam   25%
4. EE123:  Digital Signal Processing Homework: (Weekly) 20%,Midterm 1: 20%,  Midterm 2: 20%,

Project: 10%, Final: 30%

5. CS152: Computer Architecture and Engineering Quizzes:   50%,   Labs:        35%,  Problem sets:   15%
6. CS252 – Graduate Computer Architecture Homework: 50%,  Midterm:  20%, Final: 30%
7. CS 261N: Internet/Network Security Class project:  50%,  Homework:     35%
Topic briefing:  10%
Lecture participation:  5%
8. CS 274:  Computational Geometry Homework 80%, Projects  20%
9. CS 276:    Cryptography Homework: 10%, Scribe notes: 20%,Take-home midterm: 30%,  Final project: 40%
10. CS 281A: Statistical Learning Theory Homework 60%,  Projects  40%
11. CS 287: Advanced Robotics Open-ended final project:  45%,  Assignments:  55%
12. CS 289: Knowledge Representation and Reasoning Assignments. 60%  (written work + implementations) Term Project  40% (substantial project  or analytical paper)
13. CS302 : Designing Computer Science Education Weekly Homework:  50%,  Participation in class discussions:  25%,  Reviewing each other’s work:   25%

C.    MIT

SNo Course Evaluation/Grading Policy
1. 6.00:  Introduction to Computer Science and Programming Problem sets:              55%,  Open book Quizzes:   45%
2. 6.001:  Structure and Interpretation of Computer Programs Two Mid-term Quizzes        25%Final Exam                           25%

Projects                                30%

Problem Sets                        10%

Course Participation in Recitations and Tutorials   10%

3. 6.005: Elements of Software Construction Explorations     20%,Problem sets    30%,

Projects            40%.

Participation and lab assignments  10%

4. 6.006: Introduction to Algorithms Problem sets      40%Two quizzes      30%

Final exam         25%

Recitation participation 5%

5. 6.01:  Introduction to EECS I
Online Tutor Exercises


Online Tutor Software Labs


Online Tutor Design Labs


Homework Problems




Midterm 1


Midterm 2


Final Exam



6. 6.034 Artificial Intelligence Final                                   30%Quizzes                               30%

Assignments + Recitation   25%

Design problems                 15%

7. 6.035  Computer Language Engineering Compiler project          58%Paper discussion          12%

In class quizzes            30%

8. 6.055J: The Art of Approximation in Science and Engineering Home work:   100%
9. 6.837:  Computer Graphics Assignments:  40%,2 Quizzes:       20%,

Team project: 405

10. 6.878: Computational Biology: Genomes, Networks, Evolution Problem set:    40%, Midterm:         20%,  Final project:   25%Scribing:         10%,  Participation:    5%
Posted in: Uncategorized