The assignment procedure described here applies to project groups and seminars. A place in a project group as well as in a seminar is obtained by the same procedure.
Phase 1 – PAUL registration
- You register only for one “virtual” project group/seminar:
All Project Groups Summer Term XXXX / All Seminars Summer Term XXXX (for project groups/seminars starting in Summer Term XXXX)
All Project Groups Winter Term XXXX / All Seminars Winter Term XXXX (for project groups/seminars starting in Winter Term XXXX)
- The course captures the registration for all project groups/seminars, here you cannot choose your preferred group.
- You can see all project groups/seminars in PAUL’s course catalogue, but you can’t register there for them.
Phase 2 – Assignments & Preferences
Step 1: Preferences
- Students state the preferences for all project groups/seminars.
- All means all and not just 1 or 2 or just the one you like!
- Do students have to participate in a project group/seminar they do not like?
→ No! See below
Step 2: Assignments
- Project group/seminar advisors provide an “assignment”.
- Used to test student’s suitability for a given project group/seminar.
- Students fill in these assignments for the project group/seminar they are interested in.
Assignment can be
- Programming assignments, free-text answers
- Placeholder for a personal interview
- Empty (e.g., if the organizers do not require a precondition for participation)
- … whatever the organizer needs
The project group/seminar advisors score the assignments of the students with points. The more points a student gets from the advisor, the greater the chance of a project group/seminar seat.
If you do not submit an answer for a particular project group/seminar, you will be assigned a (very low) random score for this project group/seminar. So, in principle, you do not have to fill in any assignment, but that results in you being assigned to a random project group/seminar. You should do this only for project groups/seminars in which you will not participate under any circumstances.
Phase 2 runs for a couple of weeks. But! Within this phase an organizer can schedule appointments for personal interviews. In order not to miss these dates, students should therefore look at all assignments at the beginning of Phase 2 in order that they don't miss such dates within Phase 2.
Where? → Tool chain by Jupyter (Link for assignment to project roups: pg.cs.upb.de, Link for assignment to seminars: sem.cs.upb.de) and nbgrader extension
Phase 3: Stable Marriage
Now we apply a Stable Marriage algorithm:
- Scores rank students from project groups/seminars advisor's perspective.
- Preferences of the students rank the project group/seminar from student perspective.
- Based on both, we compute a stable marriage.
- The Stable Marriage algorithm matches students to project groups/seminars.
- Each student gets a project group/seminar!
Phase 4: Notification & Decision
- The students are informed by PAUL messages which project group/seminar they have been assigned.
- Final results will be entered into PAUL, students move from virtual project group/seminar to the actual course by PAUL administration.
Do students have to participate in a project group/seminar they do not like?
- No, they can refuse the assigned project group/Seminar! However, they will not get another project group/seminar!
- The only exception is:
- two students wish to swap seats and receive the approval from both advisors, they can do so
- Seats become available (e.g., because students have cancelled) and advisors agree
How is this organized?
- Students ask the advisors by email
- Advisors announce free places (e.g. webpage, e-mail)