PGSEM
Elective Courses Allocation Process and Rules
Post-Graduate Program in Software
Enterprise Management (PGSEM)
Indian Institute of Management,
Bangalore (IIM-B)
Phase
1:
Input from students:
- each student provides the
number of elective courses he plans to take and a prioritized list of elective course
preferences which are non-binding
Input from office:
- known tentative schedule constraints
- tentative time table
Output:
- Aggregate demand information (batch wise, site wise, and overall)
- final time table
Process:
The number of elective courses a student can taken is mainly determined by the
PGSEM schedule. This puts a hard limit of 4 courses per quarter (counting both elective and project courses). The
following rules determine the maximum number of courses:
- a student with a CGPA of >= 2.75 can take a maximum of 4 courses:
- 4 elective courses or
- 3
elective courses + 1 project course or
- other combinations (please check with the PGSEM office)
- a student with a CGPA of < 2.75 can take a maximum of 3 courses
- 3 elective courses or
- 2
elective courses + 1 project course or
- other combinations (please check with the PGSEM office)
Provided the above criteria are met, a student does not need a specific permission from the PGSEM Chairperson to do 4 courses per quarter.
A student can submit a maximum of three preferences in this phase.
Phase 1 gathers who-wants-what-elective-courses information and in turn the
demand for each elective course. This information is used to schedule classes so
as to minimize the likelihood of a student not getting an elective course due to schedule
constraints. Note that the gathered information is considered along
with the following hard constraints to arrive at the schedule:
- faculty constraints/preferences for certain slots (e.g., some can
teach only Saturday afternoons)
- class capacity
- limited facilities for video conferencing facilities with Chennai
Phase
2 (a) and 2 (b):
Input from students:
- each student provides the
number of elective courses he plans to take and a prioritized list of elective course
preferences (binding)
Input from office:
Output:
- Elective course allocation details
- final time table with class rooms allotted
Process
In Phase 2, just as in phase 1, a
student submits the number of elective courses he plans to take and a
prioritized list of elective course preferences. He also marks whether he plans
to do a project in the quarter.
From Q2 2006-07, Phase 2 is done in two sub-phases 2(a) and 2(b). 2(a)
is meant for the senior batches (for Q2 2006-07, these include all
batches who joined in years 2004 or earlier.) Outcome of 2(a) is
announced so that the junior batch (for Q2 2006-07 this is the batch
which joined in 2005) can make better decisions.
A student gets an elective course he asked for
unless it gets rejected for any of the following reasons:
- he has been allotted the #courses he asked for
- he has been allotted the #courses he can take considering project
and CGPA
- he has been allotted an elective course (with a higher priority) in the
same slot
- his rank among the
students who asked for the elective course is not good enough to get the course
as the course gets "capped" at a certain capacity
Ranking is done based on the
following rules which are explained in detail below:
- older_and_lazy_rule:
batch (joining year) and #credits earned so far (inclusive of Q4 2005)
- course_priority_rule:
the priority put for the elective course
- cgpa_rule: CGPA
These rules are best explained by
means of an example. Using the notation:
(studentid, batch, #credits, coursepriority, CGPA)
let's assume the choices for a particular elective course are:
(S01, 2002, 90, 1, 3.12)
(S02, 2002, 96, 2, 3.22)
(S03, 2003, 90, 2, 3.13)
(S04, 2003, 96, 1, 3.23)
(S05, 2004, 72, 1, 3.14)
(S06, 2004, 72, 2, 3.24)
(S07, 2004, 72, 3, 3.34)
(S08, 2005, 36, 3, 3.15)
(S09, 2005, 36, 2, 3.25)
(S10, 2005, 36, 1, 3.25)
older_and_lazy_rule: An earlier batch student who hasn't
completed <93 credits gets ranked higher. This would result in
sorting
the students above into the following buckets:
Bucket 1:
(S01, 2002, 90, 1, 3.12)
Bucket 2:
(S03, 2003, 90, 2, 3.13)
Bucket 3:
(S05, 2004, 72, 1, 3.14)
(S06, 2004, 72, 2, 3.24)
(S07, 2004, 72, 3, 3.34)
Bucket 4:
(S02, 2002, 96, 2, 3.22)
(S04, 2003, 96, 1, 3.23)
(S08,
2005, 36, 3, 3.15)
(S09, 2005, 36, 2, 3.25)
(S10, 2005, 36, 1, 3.25)
course_priority_rule: Students who have put a higher priority
for an elective course gets ranked higher. This would result in the following
buckets:
Bucket 1.1:
(S01, 2002, 90, 1, 3.12)
Bucket 2.1:
(S03, 2003, 90, 2, 3.13)
Bucket 3.1:
(S05, 2004, 72, 1, 3.14)
Bucket 3.2:
(S06, 2004, 72, 2, 3.24)
Bucket 3.3:
(S07, 2004, 72, 3, 3.34)
Bucket 4.1:
(S04, 2003, 96, 1, 3.23)
(S10, 2005, 36, 1, 3.25)
Bucket 4.2:
(S02, 2002, 96, 2, 3.22)
(S09,
2005, 36, 2, 3.25)
Bucket 4.3:
(S08, 2005, 36, 3, 3.15)
cgpa_rule: Students who have a higher CGPA gets
ranked higher. This results in the following sorting:
(S01, 2002, 90, 1, 3.12)
(S03, 2003, 90, 2, 3.13)
(S05, 2004, 72, 1, 3.14)
(S06, 2004, 72, 2, 3.24)
(S07, 2004, 72, 3, 3.34)
(S10, 2005, 36, 1, 3.25)
(S04, 2003, 96, 1, 3.23)
(S09, 2005, 36, 2, 3.25)
(S02,
2002, 96, 2, 3.22)
(S08, 2005, 36, 3, 3.15)
A rank list per elective course is made. Allocations are done iteratively such
that students who rank higher according to the older_and_lazy rule get
allocated first across all elective courses. For example, 2002 students with
<93 credits get allocated first., followed by 2003 students with
<93 credits, followed by 2004 students (all with <93 credits),
followed by 2005 students (all with <93 credits). Students with
>=93 credits (from years 2003, 2002, .etc.) are considered only
after the current batch (viz., 2005 students). Students who have not
submitted their Phase 1 preferences are considered last.
Within an older_and_lazy bucket, allocations are done iteratively such
that students who rank higher according to the course_priority_rule get
allocated first across all elective courses. That is, priority 2 preferences are
considered only after all possible priority 1 preferences have been
allocated.
In the example above, if the
elective course has 10 seats all students will get the course. If it has only 5
seats, S01, S03, S05, S06
and S07 will get the course. Others will get rejected.
Note that elective courses have two kinds of caps. A cap set by the faculty or a
cap arising out of class seating capacity constraints. So do not
assume
that if an elective course doesn't mention an instructor specified capacity, it
can seat any number of students. PGSEM class rooms in IIMB (such as
P11, P12, CPP1, CPP2) have varying capacities. The largest class room
can seat only 68.
The smallest perhaps about 55.
Also note that elective courses would have
site specific capacities. That is, different caps for Bangalore and
Chennai.
Phase 3:
Input from students:
- each student provides at most one request (that is, this is optional) for drop a , add, or swap
Input from office:
Output:
- Updated elective course allocation details
Process
A student can do either of the
following (only one such transaction request permitted and only one transaction allowed):
- drop an elective course
- drop an elective course and join another
if possible (this is atomic - you will continue in the old course if your
add can't happen)
- add a new elective course (provided you
can take that many courses based on your CGPA and whether you are doing a project course)
A student can submit swap / add requests for an elective course which is capped in Phase 2.
His request will succeed provided students drop from that elective course and enough free seats become available.
If any elective course would cap because of
adds, preferences given to those with higher CGPA.
A drop request would succeed only if
the number of strudents enrolled in a course does not drop below the
minimum capacity of the course. This is15 for Bangalore and 5 for Chennai.
How to increase the likelihood of getting
what you want:
- See how priority plays a
crucial role in allocation. It is possible that a priority 2 student
with 2.3 CGPA will get the elective course he wants whereas a priority 3 student
with 3.2 CGPA may not get it.
- Study the schedule (once it is
announced prior to Phase 2) carefully and make your preferences.
Example of a bad preference set: (slot 1, P1, C1) (slot 1, P2,
C2) (slot 1, P3, C3) (slot 2, P4, C4). This student may get C1 but may
not get C4 because his priority is too low..
- Give lots of choices - if you
want to do 3 elective courses don't give just 3 choices.
Copyright (c) 2006.
Sankaranarayanan K V. All rights reserved.
Last updated $Id: electives-allocation.html,v 1.10 2006/08/14 06:33:16 a14562 Exp $