Grading

Grading is affected by the following items:

  • Weekly exercises: The course platform contains a large amount of different 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/1 points for each project. 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.
  • 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.

Grading items more precisely

At the end part of the course, we will consider graphical user interfaces (GUI) and practice with exercises concerning them. The next programming course (Programming 3: Techniques) assumes that you know the basics of programming graphical user interfaces. 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. The numbers are in percents, except for the numbers in the Projects column, where the numbers are points.

Scores Normal exercises (%) GUI exercises (%) Projects (p)
1 50 0 51
2 60 0 75
3 70 30 125
4 80 40 150
5 90 50 175

The table above gives you three (possibly different) scores: one for normal exercises, one for GUI exercises, and one for projects. A score is not the final grade, but these three score values as well as the exam grade have effect on the final grade.

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

If the score from GUI exercises 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, then the final grade will be taken from the GUI column.

In addition, scores from GUI exercises can be added with those of normal exercises, if this is more advantageous for you. (Note that the maximum points of N and G exercises together is 880. Therefore, the more advantageous alternative is selected between N/780 and (N+G)/880.)

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.

Passing the course without an exam

If the average between the scores of weekly exercises and that of projects (counted 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.

About projects

Projects are somewhat 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.

    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 prerequirement of the next course (Programming 3: Techniques) is grade 3 from this course. To be on the safe side, you would better have all four projects accepted.

Special arrangements

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