- COMP.CS.300
- 1. Course info
- 1.5 Grading
Grading¶
The following will describe how the grading will be done. Changes are possible, and if there are any, a separate Sisu-message will be send in addition to updating this page.
The short version
The minimal treshold for passing this course is to get one from the course project and pass the exam.
The grades¶
The course project has the biggest influence to the grade. By collection points from attendance and plus-exercises, you can maximally get one grade better final course grade.
Grade from the course project |
Mandatory operations of the course project to be completed |
Grade after the maximal additional points has been added |
---|---|---|
1 |
A |
2 |
3 |
A and B |
4 |
5 |
A, B and C |
How ABC and grade tresholds work?¶
The course project is will be graded using a floting point number. For example the grade could be 2.7 in the case that not all B operations work correctly or the code is unreadable. The additional points will be added to this (see below) and the rounded result is the final course grade.
If the course project has grade less than 1, it will be considered failed. In this case additional points are not added to it (failed project cannot be converted to 1 with extra points).
Grade tresholds work in a way that encourages to at least try to implement more operations. This means that there will be a maximum grade limit if ONLY for example A-operations are done. In this case, the maximun grade is 2. If also some B-operations have been tried to implement, the grade can be higher. With anly A + B the highest grade would be 4.
The implementation of the operations doens’t have to be perfect, in which case the points collected during the course will have an effect. For example if C-operations have been done, but they are not documented well or they don’t function well, the grade for the project work could for example 4.2. But since C-operations has been attempted, collected extrapoints, can turn the final grade into 5.
So there is some flexibility, but it is limited. In the case that all operations exist, but they have not been tested, and they don’t work well the grade for course work could be for example 1.9. The extra points could give maximum of 1.0 so 2.9, which would round up to 3. This is the maximum grade even some C-operations would be done (quite extreme example, but possible in theory).
Summary: If you implement perfectly A- and B-operations, you will get a grade 3, or with additional points 4.
Additional points¶
Here in plus-platform you can collect points for: watching video-lectures, answering to the lecture questions, doing home work exercises, attending to discussion sessions and weekly practices.
In practice the above is collected into three buckets: theory, exercises and attendance:
Teory - part you will get from: video-lecture related questions.
Exercises - part you will get from: weekly homework, including VISUAL-exercises.
Attendance - part includes watching video-lectures, attending discussion sessions and weekly practices.
In fall 2025 the “buckets” are not used as such, but all extra points are added and scaled to 0.0 - 1.0. This result will be added to course project grade, and the result will be rounded using normal rounding rules.
The formula for scaling is:
These points are visible on the front page of the course (either in the right sidebar or in the lower part of the page, depending on your screen size).
The grading is tried to be done so, that it would be possible to get a good grade even if you don’t collect all extra points, e.g. forgetting some exercises or weekly practices should not affect too much.
Attention
The points collected in the buckets are valid only for the three exams of the course implementation and the connected final grading linked to it.
The grading of the exam¶
You need to pass the exam (grading passed/failed).
The grading of the course project¶
The “basis” of the grading for the course project is the above mentioned A-, B- and C-operations. Each part expects the previous part(s) to be fully completed (project, which implements part C, has all parts completed). Grading takes into account three areas: functionality, efficacy and quality.
- Functionality
Does the code fulfill the described functionality. This is easy to test yourself using the test files provided by the course and of course using your own test cases.
- Efficacy
The core subject of this course. Make your own approxiation of each method impelmented about its asymptotic efficacy (with reasoning). This will be written in the datastructures.hh -file as comments. Write also the reasons, why you have selected the datastructures that you use, add these comments to the code in which you start using the datastructure.
- Quality
Quality is difficult to define To grade the code of your program we will use the following criteria: if the grader can easily see how the code works (adding comments might help with this), then the quality is good. If the grader cannot (with reasonable effort) understand what is happening your your code, points will be reduced. Simply: write code that you would like to read, even after a couple of years, and you would easily see what the code is about.
All these parts need to be ok, to get the maximum points. For example 3.0 when you have implemented well parts A and B. Missing some aspects will reduce the points (and implementation of other additional parts will add points before the final rounding towards the course grade).