How should the 2nd year lab be scheduled? In the 2nd year, I basically let students (& Adrian's perl script) work out their own slots, given a sensible range of choices. However, I do need to check that there are sufficient choices for each group of students with external clashes. I usually try and put examples classes into the opposite week to the labs, but the split into F/G/H is much less important - it doesn't matter too much if some groups are bigger than others as long as every student can get to a class. ============================================================================= Semester 1 CS234 (which was CS203) is moving to machine-based labs, which pretty much have to be Windows machines. CS221 needs a (fortnightly) 3-hour slot during Tu1-5 or Th9-1. The CS211 slots have to be disjoint to CS201/5/8/34, but CS221 and CS241 can & must be interleaved with them (to a certain extent). There must be 1 CS241 lab not at the same time as CS221, and 1 CS211 lab not at the same time as CS241 or CS221. I need to find the 1 slot not used by CS211 or CS201 etc., that can be used for CS221 and CS241 - I believe it is important to use the only non-unix slot for CS221/CS241, to minimise clashes. I will mark things that this decision forces with a "!", and show the alternative in brackets. The way to proceed seems to be to check against student & lecturer availablities, and then make sure that all students can get to the SMALLEST labs (as these will have fewest alternative slots) and that CM students can get to everything they need to - (CSwBM have only 1 extra lab constraint (Fr9-11) so they are not a significant problem). No student does PS2401, so Tu1-3 and Th9-11 are clear. No student does CS2211 and PS. No CSwBM student does CS2411. clashes CS2111 CS241 CS201/5/8/34 CS221 (2) (2) (3) (1) Mo2-4 M M M --- Tu1-3 M M ME . 3-5 SM SM SME . Th9-11 . . . . 11-1 S SM SM . Fr9-11 BM . BME --- To allow CM students to attend: CS241 must have Th9-11 or Fr9-11 (fortnightly) (oh dear - this clashes with staff constraints) CS211 must have Th9-11 or Th11-1 (weekly). In fact, for CM students doing CS241, I need to be sure of 2 lab slots in week a, the other for CS234 - these can only be Th9-11 and Fr9-11. Other CM students do CS2081 in week a, but these can get to Th9-11 & Th11-1, but that doesn't help (as CS211 must have one of these slots - see below) so maybe they can make Fr9-11. For SHons students doing CS211 or CS241 it is important that I don't pick both times that PS lectures happen i.e. not both Tu3-5 and Th11-1. The CM constraint will ensure this for CS241, but I need to check this for CS211. CS2111 CS201/5/8/34 CS241 CS221 (2) (3) (2/) (1/) Mo2-4 M * M - - Tu1-3 M ME ? * 3-5 SM SME ? * Th9-11 * * * *? * 11-1 * S * * SM ? * Fr9-11 BM * BME * - - CS211 = Th9-11 or Th11-1 + (Mo2-4 or Tu1-3 or Fr9-11) CS201 etc. = Th9-11 or Th11-1 or (Mo2-4 + Fr9-11) [EE: at least 1 from: Mo2-4, Th9-11, Th11-1 [CM: Th9-11 or (Th11-1 + Fr9-11) [(MT2121 Th11-1 and MT1151/MT2131 Fr9-11 are taken by different students) staff clashes: CS201 etc: avoid at least 1 of Mo2-4, Th9-11, Fr9-11 CS211: avoid Th9-11? CS241: avoid Th9-11?, Fr9-11? - can't do it because of CM students! However, Isuspect Th9-11 is preferable to Fr9-11, because of the Fr11 lecture. Everyone seems to want Th9-11 &/or Th11-1, so maybe they are the key to solving this puzzle. (* = lab, - = no lab, 1/2 = pick 1/2 from list) CS2111 CS201/5/8/34 CS241/CS221 problems A: Mo2-4 * - -/- Tu1-3 - 1!(2) 1/*! 3-5 - 1!(2) 1/*! Th9-11 - * M/-! 11-1 * - -/-! Fr9-11 - *!(2) m/- B: Mo2-4 - *!(2) -/- Tu1-3 * - -/*! 3-5 - -!(2) */*! Th9-11 - * M/-! 11-1 * - -/-! Fr9-11 - *!(2) m/- CS201 etc. staff clashes C: Mo2-4 - *!(2) -/- Tu1-3 - 1!(2) 1/*! 3-5 - 1!(2) 1/*! Th9-11 - * M/-! 11-1 * - -/-! CM doing CS208? Fr9-11 * - m/- CM forces CS241 to Fr9-11! D1: Mo2-4 - * -/- Tu1-3 1 - 1/*! 3-5 1 - 1/*! Th9-11 * - M/-! 11-1 - * -/-! Fr9-11 - * m/- D2: Mo2-4 * - -/- Tu1-3 - 1 1/*! 3-5 - 1 1/*! Th9-11 * - M/-! 11-1 - * -/-! Fr9-11 - * m/- E: Mo2-4 - * ?/- Tu1-3 1 1 ?/-! 3-5 1 1 ?/-! Th9-11 * - M/*! 11-1 - - */*! CM doing CS208? Fr9-11 - * m/- F: Mo2-4 - * ?/- Tu1-3 * - ?/-! 3-5 - * ?/-! Th9-11 - - M1/*! poor use of Th9-11? 11-1 * - 1/*! CM doing CS208? Fr9-11 - * m/- CS2111 CS201/5/8/34 CS241/221 CS241: Assuming that one lab is in a slot with no unix labs, is the other lab best in the same slot as CS211 or CS201 etc.? - at least one of the labs musn't be with CS211. It looks like I have to pick A or D1 or D2, mainly because of CM students. I have a slight preference to putting CS201 etc. at Th9-11, as that should guarantee that all our students can get to them i.e. A: ===================================================================== Sem 1 busy Unix Wind Eng Ex wk a/b: 3*208/3*201 3*234/3*205 2*241?/221(3hr) 205/208/241 weekly: 2*211 --------------------------------------------------------------------- Mo2-4 211 - - /- F/F Tu1-3 F/F G/G - /221(H 2-5) H/H(1 hour) 3-5 - - 241/ " Th9-11 G/G H/H 241/- -/241 11-1 211 - - /- Fr9-11 H/H F/F - /- G/G =============================================================================== Semester 2 - going through a similar process. CS235 (which was CS232) is moving to machine-based labs, which pretty much have to be Windows machines. Also, numbers for CS235 may require 2 lab slots. No-one does CS224 and CS243, so it looks like I will have to put them at the same time, so it looks like CS243 can't use the engineering lab. Also, unless the staff can change their non-academic constraints, that is the only time they can make anyway! (If any student does choose both, they will just have to do CS243 1-2 and CS224 2-5.) The only problem is the number of students doing CS243, which may be too many for the unix lab - I expect they will overflow into LF31. Alternatively, there will always be a spare lab slot in the 2nd semester that CS243 can use as a 2nd lab time. The only non-CS clashes with CS235 are AF15x2 (CSwBM). The only non-CS clashes with CS243 are AF15x2 (CSwBM) and MT2212, MT2222, MT2232, MT2202, MT2292 (CM). The only non-CS clash with CS224 is MT2292 (Mo & Fr) which can be ignored. I can't see any way to make use of the fact that CS204 and CS224 labs are mutually exclusive, so I will ignore it. 207/209 235 243 224 231/204 uni+win win un+LF31 eng (3) (/2) (1) (1) Mo3-5 MS ? M-- --- Tu9-11 M --- --- --- We9-11 ? ? M-- --- Th1-3 S-- * * 2-5 3-5 B? B-- B " Fr9-11 M --- M-- --- CS207 etc. must use at least 1 of We9-11, Th1-3, Th3-5. If CS235 has to be scheduled twice, once can be against CS243 (as it is on different machines) and once at some other time. Otherwise, it should be in a slot of its own, with no other labs scheduled. Unfortunately, the numbers do seem to indicate that they need 2 lab slots. As it uses the same machines as CS231/CS204, the 2nd lab actually has to be by itself! There does not seem to be much in the way of staff clashes, except that lots of people would prefer to avoid 9am! CM students need to be able to get to at most CS209, CS207, and CS243 (none of them do CS235 or CS224) i.e. they need to be able to get to 2 lab slots, so CS207 etc. must use either We9-11 or Th3-5. 207/209 235 243 224 231/204 uni+win win un+LF31 eng (3) (/2) (2?) (1) A: Mo3-5 - * - --- Tu9-11 1 - - --- ?spare We9-11 * - - --- Th1-3 - * * 2-5 3-5 * - - " Fr9-11 1 - - --- ?spare B: Mo3-5 - * - --- Tu9-11 * - - --- We9-11 * - - --- Th1-3 - * * 2-5 3-5 - - * " CS243 2nd lab slot Fr9-11 * - - --- C: Mo3-5 - * - --- Tu9-11 * - - --- We9-11 - - - --- spare Th1-3 - * * 2-5 3-5 * - - " Fr9-11 * - - --- D: Mo3-5 2 - - --- ?spare Tu9-11 2 - - --- ?spare We9-11 - * - --- Th1-3 - * * 2-5 3-5 * - - " Fr9-11 2 - - --- ?spare Only B has the spare lab slot at a time that CS243 staff are free, so I will choose it: ===================================================================== Sem 2 busy Unix Wind Eng Ex wk a/b: 207/209 231/204, 235 204/231/235 weekly: 243+LF31? 224(3hr) --------------------------------------------------------------------- Mo3-5 - /235 - 235/ Tu9-11 F/F G/G - H/H We9-11 G/G H/H - F/F Th1-3 243 /235 2-5 235?/ 3-5 243? - " Fr9-11 H/H F/F - G/G ===========================================================================