Grading

Grading is affected by the following items:

  • Weekly exercises: The course platform contains a large amount of weekly programming tasks that are evaluated by automated tests. The maximum points of the exercises vary based on their degree of difficulty (or on their usefulness). To pass the course you must collect at least half of the total points of the exercises.
  • Projects (4 pieces): Automated tests give 0/n points for each project, where n belongs to the interval [1..4]. If you get zero points, the project is rejected. Otherwise the project is accepted and assistants will evaluate it with the scale 0-50 based on the criteria given in the assignment. Therefore the maximum points of each project is 50. To pass the course you must have more than 50 points from the projects, and thus, one project is not enough. Some projects can have voluntary parts, and if you do not implement them, the scale is different, e.g. 0-30.
  • Exam: Evaluated with scale 0-5. To pass the exam, at least half of the maximum points are required. It is possible to pass the course without exam, if you have collected enough points from weekly exercises and projects (see ”Passing the course without an exam” below). In such case, the grading scale is 1-3.

Note on Sisu

Before starting the course, you will enroll in Sisu only in teaching part. (Remember to check that Sisu has accepted your enrollment.)

After publishing the exam (and re-exams), you must again enroll in Sisu in the exam instance that you are taking. These separate exam instances have not been published in Sisu (nor in the Exam system), and thus, are are wasting time if you try to find them now. Note that for each exam instance, you must enroll both in Sisu and Exam.

Grading items more precisely

At the end part of the course, we will consider graphical user interfaces (GUI) and practice with exercises concerning them. Basic knowledge on how to implement graphical user interfaces is required from a professional in information technology. Therefore the final grades 3-5 require that you have also completed enough exercises concerning graphical user interfaces. (However, GUI exercises are not difficult.)

Accepted weekly exercises and projects give you scores as shown in the table below. Numbers in the column N + G (normal exercises and GUI exercises) are in percents (%). They are calculated by summing the points from the categories N and G and by dividing the sum by sum the total points of these categories. In other words, here we consider all weekly exercises, both normal and GUI ones. Numbers in the column P (projects) are points (p). This column considers only the points from the projects.

Scores from weekly exercises and from projects

Scores N + G (%) P (p)
1 50 51
2 60 75
3 70 125
4 80 150
5 90 175

The table above gives you two (possibly different) scores: one for weekly exercises and the other for projects. These score values as well as the (possible) exam grade have effect on the final grade in the way described below.

For better grades (3-5), GUI exercises are required as told in the table below.

Scores from GUI exercises

Score/maximum grade G (%)
2 0
3 30
4 40
5 50

To pass the course, you must collect at least half of the maximum points of the weekly exercises (column N + G in the upper table) and at least 51 points from the projects (column P in the upper table). If you, in addition, take the exam and pass it (get grade 1-5), we will calculate the average of three numbers: exam grade, score from the weekly exercises, and score from the projects.

If the score from merely GUI exercises (column G in the lower table) is greater or equal of the above calculated average, then the final grade will be the average (rounded to the nearest integer, exactly half is rounded down). If the score from GUI exercises is less than the aforementioned average (assuming that the rounded average is still 3 or better), then the final grade will be taken from the GUI score in the lower table. For example, if you have done 39 % of the GUI exercises, your final grade cannot be better than 3 (even if your points from weekly exercises, projects, and exam were much better).

Especially, if you are aiming at grades 1 or 2, and you have done none or very few GUI exercises, the score of the column N + G can be calculated based on only the category N. In such case, we will use the formula N/N_max instead of the usual formula (N+G)/(N_max + G_max), where N_max and G_max are maximums of N and G points (at the moment: 800 and 120). For each student (not depending on the target grade), we will choose the formula that is more advantageous for them.

The maximum points for the tasks in each category (normal weekly exercise, GUI exercise, project) can be seen at the right side of the first page of the course platform and also at the right side of the view ”Exercise results”. From the same section, you can also monitor your accumulation of points in the category in question. When you calculate your own percentages for the column N + G, remember to put the sum of the maximum points of N and G as the denominator.

Passing the course without an exam

If the average between the scores of weekly exercises and that of projects (calculated as described above and regarding GUI-points in the more advantageous way) is 3-5, the exam is not mandatory for you, but then the final grade is the aforementioned average value subtracted by 2. (For example, if the average is 4, and you do not take the exam, your final grade will be 2.) So, in this way, only the grades 1-3 are possible.

Also here, as said earlier, it holds that exactly half is rounded down.

Grading calculator

If the above rules for calculating the total grade are confusing and if you understand things more easily from the program code, it is a good idea to look at the example examples/01/grading. To avoid bigger problems, copy the example into the directory student/01/grading before executing it.

The example can be found in Git almost in the same place as the template codes for the assignments. However, it is better to first complete and submit the first exercise on the current round (1.7.1 First submission). In this way, you will be more familiar with version control and Git.

Even if reading code is difficult, you can run the example program with different scores and exam grades to see which grade you will get with your inputs. The program can be executed as follows:

Enter N points, G points, P points: 500 100 100
-> W-Score: 2
-> P-Score: 2
Enter exam grade (if no exam, enter zero): 3
-> Total grade: 2

As the first input, you can give three numbers separated by empty spaces. In program prints, W-Score means score from weekly exercises, and P-Score means score from projects.

About projects

Projects are larger programming tasks than the weekly exercises. Their aim is to ensure that you can apply the topics of the course independently (and you have gained the knowledge needed in the exam). We have the following rules for working in groups:

  • First two projects are allowed to (not have to) be done in groups with two students at most. In such cases, write clearly at the top of each source code file, who are the two students that have worked together (student number, name, email).

    For a pair project, there is a link ”Form a group” on the left-side menu in the course platform. This enables students to create groups. In addition, the submit box of a pair project shows two choices: ”Submit independently” / ”Submit in a group”. You should be careful in selecting the choice, because you cannot change it afterwards.

    Working in groups requires self-discipline. Especially such a way of working that one student codes and the other do not understand anything, will lead to a catastrophe. Most probably, the latter student will not pass the course, because they will not manage the last two projects independently.

  • Last two projects must be done independently. It is still possible to discuss the projects with other students, but you must not show your code in such details that another student can copy it directly or with slight modifications to their own program.

Copying (plagiarism)

If any copying is detected, your project work will be rejected and you cannot continue in this course implementation. Copying a project work is plagiarism, and it can be a reason to fire from the university.

Also the original writer of the program (the student that has been copied from) will be punished. The punishment means decreasing the grade, or requiring to implement a new project work, or something else. Such situations will be considered case-by-case.

Caution

If your aim is to continue programming after this course, it is import know that the prerequirements of next courses (both Data Structures and Algorithms 1 and Programming 3: Interfaces and Techniques) have grade 3 from this course. To be on the safe side, you would better have all four projects accepted.

Projects will be considered in weekly exercise hours on the week in question. By following exercises, it will be easier to start working with a project.

As told above, assistants evaluate projects, whereupon they pay attention e.g. to style issues and use of version control. After the evaluation of each project, a Plussa news will be added about that. If you have remarks about the evaluation, you can contact the assistant who evaluated your project, within a week after the Plussa news. You can find assistant’s e-mail address in the feedback document.

Special arrangements

Special arrangements require justifiable documented reasons such as medical certificate or individual study arrangements. If you need extra time for doing exercises, contact the responsible person as soon as possible, preferable before the deadline, to discuss the situation.