CS3000: Grading, Policies, Logistics
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.
- Every problem is assessed on how satisfactorily the solution meets correctness+clarity standards/problem specific requirements. This is translated into a grade letter/numerical value as described in the table below. Basically A, B, C, D, F are 4, 3, 2, 1, 0 and adding/subtracting 0.333 from these will give the \(\pm\) variants of the letter grades.
- Usually the feedback for individual problems is one of completely satisfactory, nearly satisfactory, somewhat satisfactory or unsatisfactory. These are equivalent to a numerical score of 4, 3, 2, and 0 (or the corresponding letters as in the table below).
- For smaller/easier problems we may limit the assessment to distinguishing between satisfactory vs. unsatisfactory. That is, you either get 4 or get 0. Either the solution is correct or it is incorrect and there are no partial credits.
- How the letter grade/numerical value for a particular collection of problems (a quiz/a problem set/an exam) is calculated will be specified separately for each such collection. This will be some slight variation on: sum of numerical values divided by number of problems. Sometimes it is easier to describe this using thresholds (see quizzes section below for an example).
- The numerical score of a quiz/problem set/exam might use further demarcations (as in the table). So 3.25 will become 3.333/B+ (and not 3/B) while 3.7 will become 3.667/A- (and not 4/A).
- The numerical scores for all quizzes/problem sets/exams will be averaged to get a numerical value/letter grade for those categories (you may receive 4/A based on quizzes but a 3.333/B+ based on problem sets). Finally, a weighted average will determine the course grade (see section below for the weights).
- Your focus should be on the feedback provided for a solution. We will endeavor to provide detailed constructive feedback so that the student can utilize it to improve their skills. You should use the feedback along with provided solutions to determine any gaps in your understanding and revise relevant topics.
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:
- We hope to encourage and cultivate meta-awareness/meta-cognition of one's level of understanding.
- Make the lives of TAs and the instructor easier. This will allow us more time to provide more detailed constructive feedback which is more useful from a pedagogical standpoint.
- Lead to better stackexchange questions in the future (if you ever end up with a problem that hasn't already been solved). Also helpful with bug reporting and raising issues on code repositories.
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 |
Quizzes
- There will be one graded quiz on each Friday (7 in total), conducted on Canvas, time limited to 15-30 minutes. The lowest score on the quizzes will be dropped, so best 6 are graded.
- Most likely, they will consist of 3 multiple choice questions (as in multiple choices might be correct) and two (very) short answer questions. Each is either correct or incorrect.
A quiz's grade is determined based on how many are correct (non-zero score), here's a tentative grading scheme:
A if >= 5/5, B if >= 4/5, C if >= 3/5, D >= 2/5, F otherwise.
Problem Sets
- There will be 6 problem sets. Please see the Syllabus and Schedule page for when they will be released and when they are due. The lowest score on these problem sets will be dropped, so best 5 are graded.
- All problem sets will be submitted through Gradescope as a PDF and must be typeset in LaTeX (see the section below on details about LaTeX).
- The thresholds/aggregation scheme will be provided alongside each problem set. Note that they will tend to be more lenient than the quizzes which in turn will have (much) easier questions.
- In case of severe discrepancy in instructor estimated difficulty vs. actual difficulty of a problem, the thresholds may be adjusted (to benefit the student).
- It is likely that problem sets will have too many questions but there will be no expectation of every problem being solved. However, we suggest that you try all problems as it will provide more opportunities for building your problem solving skills.
- We urge you to attempt working out all of the problems by yourself first; but collaborating with other students in the class on homework problems is fine. In fact, discussion of ideas and strategies (but not solutions themselves) is highly encouraged. In all cases, you must write up your own solutions, in your own words. Furthermore, if you do collaborate on any problem, you must clearly list all collaborators in your submission. The TAs and I reserve the right to ask you explain your solutions.
- We will allow submitting up to 24 hours late; there are no penalties the first three times, after that your grade drops by 1 point/letter (eg. 3.83 -> 2.83). Beyond 24 hours, we won't accept any submissions. Failure to submit gets you a 0 (will be the lowest score that is dropped).
- More than any grade penalty, it should be noted that due to the accelerated pace of the course (7 weeks), delays on your end will adversely affect learning. Further, the later you submit, the later we will be able to provide feedback which will also affect your learning. In short, you should avoid late submissions unless unavoidable.
- Problem sets will also contain certain problems (2-3 at most), which will be marked for collaboration. These do not need to be solved and submitted with your submission (although you may do so to receive feedback (but it will not be graded as part of your problem set score)). They are meant for the collaborative notes (see below).
There will be no graded programming problems but students are encouraged to attempt the problems listed in the recommended programming problems page.
Exams
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)).
- Both exams will be open notes (two A4/US letter sized paper sheets => 4 pages/sides).
- Three of four pages will be typeset and provided by the instructor (with inputs from everyone). The last page is for individual additions that the student wishes.
- The instructor provided notes will primarily come from content that the class has collaboratively compiled. See the collaborative notes section for more about that.
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:
- Speaking up (asking and answering questions) in class, recitations, on online discussions counts as participation.
- You are also collectively responsible for creating scribe notes. These are notes based on the lectures that are conducted. Students can volunteer or the instructor will randomly assign students to lectures. You can use any resources (that you properly cite) while creating the scribe notes but they must be written in your own words.
- Finally, there are solutions to the collaboration problems provided in problem sets that must be collectively written up by the class by the deadline of the problem set.
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% |
LaTeX
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):
Tutorials:
- Learn LaTeX in Y minutes
- Overleaf Tutorial (Overleaf is good if you don’t want to install LaTeX locally)
- The Not So Short Introduction to LaTeX (PDF).
References:
- Detexify
- LaTeX Wikibook, specifically, the chapters on:
- Mathematics
- Algorithms (probably better to read the documentation of pseudo, which we will use)
- Source code listings.
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
- Finding solutions to homework problems by any means elsewhere other than via interactions with students enrolled in the class or with the teaching staff is strictly prohibited. This includes but is not limited to searching online, asking someone not in the class, other entities that may or may not pass the Turing test.
- Exams are solo endeavours; no books, phones, or other devices are permitted. Only the 4 page notes as described above.
- On the other hand, homeworks and recitations can be collaborative. We expect that you might study with friends and work out solutions to problems together, but you must write up your own solutions, in your own words. Copying solutions from a classmate or online source is a violation of our academic integrity policy and will be referred to OSCCR.
Here are some concrete guidelines.
- Never look at someone else's homework solutions. Otherwise you might turn in overly similar work.
- If you produce a solution together, don't simply copy it down afterwards. You must, on your own, write your own solution in your own words.
- If someone explains an answer to you, do not write down their exact words; instead, on your own write up your solution afterwards. If you collaborate with (or get help from) any other student, then write their name as indicated in the LaTeX source file.
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).