Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 16 additions & 35 deletions misc/rules-and-grading.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
To pass this course you need to obtain **5 points** from a total of **11 points**:

- 5 points for the [exam](#exam-5-points)
- 3.5 points for [assignments](#assignments-3.5-points)
- 0.5 point for [laboratory sessions](#laboratory-sessions-0.5-points)
- 3.5 points for [assignments](#assignments-35-points)
- 0.5 point for [laboratory sessions](#laboratory-sessions-05-points)
- 1 point for [lecture quizzes](#lecture-quizzes-1-point)
- 1 point for course - each teacher decides how they distribute the bonus points.

Expand Down Expand Up @@ -93,22 +93,25 @@ There are 3 assignments, followed by 2 bonus ones, graded as follows:

The score from the bonus assignments can make up for any points lost on the other assignments.


**Each assignment has a single deadline.**
**Once the deadline passes, the assignment can no longer be submitted.**

Each assignment solution submission gets a maximum of **100 assignment points**.
These are comprised of:

- **90 points** for the correct implementation of the assignment
- **10 points** for coding style

Both components are verified and graded automatically by the assignment checker system: automated tests for the implementation, linters and build output analysis for coding style.
The assignment checker system presents the final grade for the submission (the final grade for the assignment is described below).
Coding style points are only provided if the assignment solution submission gets at least **60 points** for the correct implementation.

**Each assignment will be followed by an interview during the laboratory. The interview will contain questions regarding the theoretical aspects that were covered by the assignment. The grade you obtain during the interview will be used to scale the final grade for the assignment.**
**Each assignment will be followed by an interview during the laboratory.
The interview will contain questions regarding the theoretical aspects that were covered by the assignment.
The grade you obtain during the interview will be used to scale the final grade for the assignment.**

The final grade of the homework is computed using the following formula: homework_interview_grade / 10 * assignment_grade. That means that if you obtain 5/10 points during the interview and 80/100 for the submitted solution, your final grade for the assignment will be 40/100 points.
The final grade of the homework is computed using the following formula: homework_interview_grade / 10 * assignment_grade.
That means that if you obtain 5/10 points during the interview and 80/100 for the submitted solution, your final grade for the assignment will be 40/100 points.

However, **there may be exceptional cases in which this grading scheme is not followed**, for example, if the assignment is implemented only to pass the tests and does not meet the assignment requirements.
Exceptional cases may include instances of deadlock, incorrect synchronizations between processes/threads, races (whether they are manifested or not), and other unspecified but deemed inappropriate situations.
Expand Down Expand Up @@ -141,7 +144,6 @@ The high-level steps are:
See the automatic checking on the Jobs entry on GitLab for your fork.
1. Configure Moodle to retrieve the submissions for GitLab, or do a Moodle archive submission of your assignment solution.


### [Laboratory Sessions](https://cs-pub-ro.github.io/operating-systems/Lab/) (0.5 points)

Each lab is graded between **0 and 12 points** and the final grade is calculated by summing up all scores and dividing to the number of labs.
Expand All @@ -166,7 +168,6 @@ If you miss a lab or do not receive the maximum score on other labs, the lab bon

The hackathon involves solving an exercise proposed by the Operating Systems team, focusing on material covered in the OS course and labs.
The exercise is to be solved by a team of 2 students enrolled in the Operating Systems course.
The top 3 best implementations will receive awards.
During the hackathon, teams will receive assistance from OS teaching assistants.

#### Objectives
Expand All @@ -177,23 +178,14 @@ During the hackathon, teams will receive assistance from OS teaching assistants.

#### Date

Saturday, TBD, within the interval 10:00-18:00.

#### Location

The hackathon takes place physically in rooms:
- TBD
Saturday, January 17th, within the interval 10:00-18:00.

#### Prerequisites

1. Students enrolled in the OS course in the academic year 2024-2025 can participate.
1. Students enrolled in the OS course in the current academic year can participate.
1. Participants will form teams of two.
1. Participants will work on their own systems.

#### Registration

Registration is closed.

#### Regulations

1. Versioned code must be added to a **private** repository using GitHub.
Expand All @@ -206,29 +198,17 @@ Follow [these steps](https://docs.github.com/en/account-and-profile/setting-up-a

Submissions will be uploaded on [Moodle](https://curs.upb.ro/).

- A submission consists of a `.zip` archive containing the directory `operating-systems/content/assignments/lambda-function-loader/` (with directories `tests` and `src`).
- A submission consists of a `.zip` archive containing the directories `tests` and `src`.
- The archive is uploaded by one team member only.
- In `operating-systems/content/assignments/lambda-function-loader/`, there must be a `README.md` file containing:
- In the root of the archive, there must be a `README.md` file containing:
- team composition
- GitHub link
- implementation details;
each extra functionality requires a description, approach, and testing method.

#### Awards

Each member of the winning teams will receive a prize based on their ranking:

1. First place: TBD
1. Second place: TBD
1. Third place: TBD

#### Equivalence

All participating teams are **eligible** for up to TBD points equivalence in the OS subject (depending on **implementation complexity and project stage developed during the hackathon**).

#### Winners Announcement

Winning teams will be announced by TBD.
All participating teams are **eligible** for equivalence in the OS subject (depending on **implementation complexity and project stage developed during the hackathon**).

### Lecture Quizzes (1 point)

Expand All @@ -248,7 +228,6 @@ To reinforce knowledge, there will be 2 written lecture quizzes:
- Series CC: 16.12.2025
- Series CD: 16.12.2025


Lecture quizzes are closed-book.
They take place in person at the beginning of the corresponding lectures.
The quizzes last **20 minutes**.
Expand Down Expand Up @@ -363,7 +342,9 @@ If, after the resit/improvement session in the fall, you still do not obtain a p
By default, the grades for the previous academic year (2024-2025) are reset on September 29, 2025.
If you did not graduate from the course in the 2024-2025 academic year, you will need to retake it in the current academic year (2025-2026), with the possibility of retaining some components, as detailed below:

- If you wish, you can retain the grades for the laboratory. You **cannot** retain the grades for the assignments. You **cannot** retain the grades for lecture components (lecture tests and exam).
- If you wish, you can retain the grades for the laboratory
- You **cannot** retain the grades for the assignments.
- You **cannot** retain the grades for lecture components (lecture tests and exam).
- Students interested in preserving their grades should respond on [the designated Moodle thread](https://curs.upb.ro/) by **October 12, 2025, 23:55**.
- The rules and grading system for students retaking the course are the same as for students in the current year (lecture tests + exam, assignments, etc.).
- Students retaking the course can participate in any lab session as long as there are available slots.
Expand Down