CS3000: Grading, Policies, Logistics

Course Homepage

Assessment Philosophy and Grading Scheme details

The goal of this course is to build a foundation in some of the most common algorithmic paradigms and to improve general algorithmic problem solving skills. Grading is tangential to this goal and a misplaced focus on grading can in fact hinder learning. The assessment methodology described below is aimed to incentivize learning and remove focus from grades.

We hope that the student's focus stays on the feedback that is provided for their solutions rather than a grade value. We will only be assessing whether a solution is correct and clear. As long as the ideas are accurate and are clearly expressed the solution is deemed satisfactory. This will be the basis of all assessments and your solutions' similarity to an "illusory, imaginary, ideal, instructor solution" is immaterial.

Buzzword vomit: One major source of grading fatigue on the part of TAs and the instructor are the long-winded (and incorrect) essays that are sometimes provided as solutions. The grader is required to read through and try to comprehend these to see if there is any semblance of sense which can be rewarded with points which is quite a draining process since it may not be clear until most of the solution is understood whether such an algorithm/idea would work or not.

If you do not know how to solve something, then explain what the problem asks for (in your own words) and how far you got (what is your first instinct approach, where you got stuck, what do you need to know to proceed, etc.). Doing this instead of word vomit an essay is the least consideration you can show to everyone grading.

The approach above (if done clearly) will receive a somewhat satisfactory grade unlike the word vomit essay approach which will always result in an unsatisfactory. With this:

Letter grade to numerical equivalent follows university guidelines: University Grading System. The corresponding explanations for particular letter grades are adjusted (in your favor, imo).

Letter Score Satisfactoriness Alternate explanation
A+ 4.333 Outstandingly Satisfactory solved extra credits problems
A 4.000 Completely Satisfactory meets requirements/standards
A– 3.667    
B+ 3.333    
B 3.000 Nearly Satisfactory almost meets requirements/standards
B– 2.667    
C+ 2.333    
C 2.000 Somewhat Satisfactory somewhat meets requirements/standards
C– 1.667    
D+ 1.333    
D 1.000 Unsatisfactory does not meet requirements/standards
D– 0.667    
F 0.000 Failure/(Very) Unsatisfactory does not meet requirements/standards


Problem Sets

There will be no graded programming problems but students are encouraged to attempt the problems listed in the recommended programming problems page.


The focus during the exams is to assess a student's cumulative understanding and problem solving skills. As such, memorization is a waste of time and anything that requires memorizing can be assumed available during exam times.

That is, the exams will be open notes (for a suitable definition of notes (see below)).

Participation and collaborative notes

Due to the short duration of the course, a pedagogical approach that focuses on chronologically spread repetition is not ideal. The instructor has been a fan of the concept of semiotic domains ever since he came to know about them. We will aim to create an immersive environment via making class participation mandatory.

Three primary means of participation are:

The collaborative compiled course notes consists of both scribe notes and solutions to collaboration problems on problem sets. It may further include pseudocode, implementations, etc. of algorithms and other material covered in this course (at the discretion of students and completely voluntary). This allows a form of participation in class activities that does not require speaking up in class. As these notes are a collaboration among everyone in class (36 people), the load should be minimal.

Collaboration will happen on a private github repo via separate branches and pull requests and what not. Instructor/TA will sync repo contents to overleaf so that everyone has access to the combined and compiled PDF. Github repo is used to determine contributions (participation/engagement) and the overleaf is for the better UI/UX experience for the LaTeX \(\longrightarrow\) PDF pipeline.

The notes for the open notes to be used in exams will solely come from these collaboratively created content. That provides the motivation for quality notes and also makes this a useful endeavor rather than something that will disappear into the void once you write something up.

Finally, this component is based more on instructor's discretion than the others and is more informally "graded". It is more a "did the Instructor/TAs/students notice your participation" rather than "do X and do Y to get the 5%".

Course grade

The course grade will be a weighted average using the weights shown below.

Total 100%
5 Problem Sets 35%
6 Quizzes 15%
1 Midterm Exam 15%
1 Final Exam 30%
Participation 5%


All problem sets must be typeset in LaTeX. We will provide the source files for the problem sets to help you get started. See below for some advice on LaTeX.

Learning LaTeX can take some time, but is well worth the investment, since most technical publications are written in LaTeX. Even for non-technical written material, there are few tools that allow the flexibility, control and reproducibility that LaTeX does. Great editors exist on most platforms; TexShop has been often recommended for Mac. TeXstudio is considered a good cross-platform editor.

Also, the instructors uses Emacs+AUCTeX for LaTeX, so is likely to be willing to help on those fronts. However, unless you are already familiar with Emacs, I wouldn't recommend picking that up along with LaTeX and Algorithm learning. It is a less popular/more nerdy/more idiosyncratic choice of editor.

Some LaTeX resources (in increasing detail):



Classroom environment

Please ask questions and answer questions, in lectures, office hours, recitations, and on the discussion forum. In computer science, as in any problem solving oriented discipline, we seldom get anything right on the first try. One is forever stuck in a iterate–introspect–improve loop. Hopefully, this course and all participants can reflect such an approach. So please answer a question that's been posed even if you're not sure of the answer. By sharing, you expose people to new ways of thinking and it is often enormously useful to know incorrect approaches. Those are the ones that show us gaps in our understanding. If we never know of such gaps, we can never fix them.

To create and preserve a classroom atmosphere that optimizes teaching and learning, all participants share a responsibility in creating a civil and non-disruptive forum for the discussion of ideas. This includes all ways you interact with classmates and course staff – in lectures, office hours, recitations, Canvas, etc. As long as you do not disrupt the group, you can show up late, you can eat food/drink beverages, use a laptop/other devices and so on. However, it is your responsibility to ensure that you do not introduce visual/auditory/olfactory/tactile/etc. disturbances.

Academic Integrity

Here are some concrete guidelines.

In general, follow all of the university's academic integrity policy. Particularly, see actions regarded as violations and consequences for students: http://www.northeastern.edu/osccr/academic-integrity

Students with Disabilities and Accessibility

Students who have disabilities who wish to receive academic services and/or accommodations should visit the Disability Resource Center at 20 Dodge Hall or call (617) 373-2675. You must email your letter to the instructor as soon as possible so that those accommodations can be arranged.

Any concerns with accessibility of material required (and even suggested) should be brought up with the instructor and TAs, via appropriate channels (discussion forum, email, in-person).

Author: Akshar Varma

Created: 2023-06-27 Tue 15:25