Rešitve: - orodja Izbirni postopek za vpis na fakultete in samostojne visokošolske zavode v sloveniji Tomaž Mohorič Fakulteta za računalništvo in informatiko. Univerza v Ljubljani tomazm@fri.urn-lj.si Povzetek Zadnja tri leta se vpis na obe slovenski univerzi in samostojne visokošolske zavode izvaja centralizirano, pri čemer je izbirni postopek naravnan tako, da imajo pri izbiri zaželenega študijskega programa prednost boljši kandidati. Prispevek obravnava postopke za optimalno razporejanje kandidatov na razpisana študijska mesta. Abstract For the last three years a centralized enrollment has been used at Slovenian universities and other schools of higher education. While choosing the desired study program, the selection procedure gives preference to candidates with better grades. The article deals with the selection and optimal order of candidates according to student quotas pertaining to each study program. 1. Uvod Vsak« leto se želi na fakultete ljubljanske in mariborske univerze ter na samostojne visokošolske zavode (v nadaljevanju fakultete) vpisati vse več kandidatov - bodočih študentov. In vsako leto ugotavljamo, da je prijav več, kot pa je na voljo študijskih mest, oziroma, da so želje kandidatov usmerjene predvsem v nekatere popularnejše študijske programe, med tem ko manj popularni programi ostajajo nezasedeni. V preteklosti so za izbor in vpis kandidatov v svoje študijske programe skrbele kar posamezne fakultete in njihove vpisne službe. Kandidat, ki je sodil, da njegove možnosti za vpiš na zaželeno fakulteto niso najboljše, se je moral prijaviti še na kakšno drugo fakulteto, morebiti še celo na več fakultet, če je želel biti kolikor toliko prepričan, da ga bo jeseni čakal sedež v predavalnici vsaj na eni izmed njih. Tako večkratno prijavljanje pa je skrivalo v sebi temeljno slabost, namreč to, da fakultete vse do jesenskega vpisa niso vedele, kateri kandidati se bodo dejansko vpisali pri njih, in kateri kandidati so si jih izbrali le za rezervno varianto - izhod v sili. In tako ni bilo jasno ali bodo imele kandidatov preveč ali premalo. Aii bo potrebno kandidate selekcionirati ali pa razposlati naokrog obvestila, da so pri njih še prosta študijska mesta. Vse to dogajanje v zvezi z vpisom je bilo do pred treh let pretežno strnjeno v obdobje konec septembra - začetek oktobra in ni bilo posebej prijetno ne za visokošolske zavode, ne za kandidate. Vpisati se na zaželeno fakulteto je bila bolj stvar organizacijskih sposobnosti kandidata in informacij, ki jih je uspel zbrati, kot pa njegovih študijskih sposobnosti - npr. doseženega uspeha pri maturi. Nato pa je prišlo do manjše revolucije na področju vpisovanja v prve letnike fakultet in samostojnih visokošolskih zavodov. Leta 1993 je bil sprejet Zakon o visokem šolstvu, ki je predvidel centralizirano prijavljanje kandidatov v okviru vse Slovenije, priprave nanj so potekale vse leto 1994, njegovi učinki pa so se prvič pokazali pomladi in poleti 1995, ko se je ta novi način prijavljanja pričel tudi izvajati. Razlog za uvedbo centraliziranega prijavljanja je preprost. Po eni strani naj bi bili kandidati razbremenjeni skakanja po različnih fakultetah in mrzličnega iskanja prostega mesta, po drugi strani pa naj bi postalo prijavljanje preglednejše, predvsem pa naj bi omogočilo boljšim kandidatom prednost pri izbiri zaželenega študijskega programa. Centralizirano prijavljanje je potekalo v Studijskem letu 1996/97 že tretje leto. upon&nd NFORM ATI KA 1998-številka i - letnik VI Rešitve: - orodja Vsakoletni vpis se prične z Razpisom za vpis v prvi letnik 11,2,3], ki ga objavijo obe univerzi in samostojni visokošolski zavodi. V razpisu so navedeni vsi študijski programi in vpisni pogoji zanje, postopek prijavljanja, pravila v zvezi z omejitvijo vpisa, merila za izbiro, katera dokazila o izpolnjevanju vpisnih pogojev se zahtevajo za posamezne kategorije kandidatov in kakšen je izbirni postopek. V nadaljevanju bo v prispevku podrobneje obravnavan predvsem izbirni postopek. Namen izbirnega postopka je na razpisana študijska mesta razporediti kandidate, ki so Študij uspešno zaključili z maturo ali zaključnim izpitom in izpolnjujejo morebitne posebne pogoje fakultet in visokih šol, Razvrstitev kandidatov, ki lahko izrazijo do tri različne želje za študij po določenem študijskem programu, mora biti pravična, kar pomeni, da naj ima kandidat z boljšim uspehom (izračunanim v skladu z obrazcem posamezne fakultete) pravico izbirati .študijski program pred kandidatom s slabšim uspehom, Obrazci fakultet so se v teh treh letih, kar je centralizirani vpis v veljavi, že precej poenotili. Tipični obrazec, ki prevladuje na večini fakultet, vrednoti srednješolski uspeh za vpis na univerzitetni študij takole: 60 % splošni uspeh pri maturi + 40 % splošni uspeh v 3. in 4. letniku, za vpis na visokošolski strokovni študij pa: 60% splošni uspeh pri zaključnem izpitu ali maturi + 40 % splošni uspeh v 3. in 4. letniku. Nekatere fakultete vključujejo v obrazec še uspeh pri kakšnem za stroko pomembnem predmetu, predvsem umetniške fakultete pa zahtevajo tudi preizkuse posebnih sposobnosti (npr. umetniške nadarjenosti), katerih utež lahko znaša do 90 % in celo 100 % uspeha pravim umetnikom matura ni potrebna. Manjši odstop od načela pravičnosti predstavlja z zakonom postavljeno pravilo, da se v primeru, ko ostaja posamezni program neomejen (zanj ni sprejet sklep o omejitvi vpisa), vanj uvrstijo vsi kandidati, ki so študij po tem programu izrazili s svojo prvo željo, ne glede na število doseženih točk. Pogoj je le, da so uspešno opravili maturo ali zaključni izpit. 2. Podatki za izbiranje Izbirni postopek temelji na podatkih, ki prihajajo s fakultet, od kandidatov za vpis na fakultete, od Državnega izpitnega centra (uspeh pri maturah) in s srednjih šol, na katerih se opravljajo zaključni izpiti. (1) Prvi vir podatkov je razpis, ki obsega podatke o številu razpisanih študijskih mest za posamezne Študijske programe na fakultetah. Predlog zanj pripravijo fakultete, sprejmejo ga senata obeh univerz in senati samostojnih visokošolskih zavodov ob soglasju vlade Republike Slovenije. Razpis je sestavljen na osnovi predlogov 1998 Številka 1 - letnik V) posameznih fakultet in samostojnih visokošolskih zavodov. Poglavitna sestavina razpisa je število razpisanih mest za posamezne študijske programe, vpisni pogoji in kriteriji za izbor kandidatov v primeru omejitve vpisa. (2) Drugi vir so kandidatove izražene želje po študijskem programu. Kandidati podajo eno do tri po prioriteti urejene želje, v katerih navedejo študijski program, ki ga želijo vpisati in študirati. (3) Tretji vir je morebitni sklep o omejitvi vpisa za posamezne študijske programe. Ce število prijav v posamezni program (upoštevaje le prve želje) bistveno presega število v razpisu navedenih mest, je lahko sprejet sklep o omejitvi vpisa (predlagajo ga fakultete, soglasje daje vlada Republike Slovenije). Tak program imenujemo v nadaljevanju "omejeni program". (4) Četrti vir pa so podatki o uspehu kandidatov pri maturi oziroma zaključnem izpitu in podatki o uspehu v zadnjih dveh letnikih srednje Šole. Podatke o študijskem uspehu kandidatov, ki so opravili maturo, posreduje Državni izpitni center, podatke o uspehu pri zaključnem izpitu pa posredujejo ustrezne srednje šole, Ce je za vpis v program zahtevan tudi preizkus posebnih sposobnosti, se le-ta izvaja na matični fakulteti, vsi omenjeni podatki pa se nato zberejo pri visokošolski pri-javno-informacijski službi. Ker se pri ocenjevanju uporabljajo različne merske lestvice, se le-te za potrebe razvrščanja predhodno normalizirajo -izračuna se število točk za vsakega kandidata, ki se izrazi z lestvico 0-100 točk. Vsi omenjeni podatki se po predhodnem temeljitem preverjanju strnejo v dveh tabelah - podatki o razpisu in podatki o omejitvah v tabeli RAZPIS, podatki o željah in podatki o uspehu kandidatov pa v tabeli PRIJAVA. Razpis. RAZPIS je tabela, ki vsebuje podatke O Številu razpisanih mest za posamezne programe. V nekaterih primerih je število razpisanih mest podano za skupino programov, kar pomeni, da razdelitev števila mest za programe znotraj skupine ni vnaprej določeno in se mesta lahko razdelc na posamezni fakulteti kasneje, v odvisnosti od želja kandidatov. Ključ tabele tvorijo atributi ID VIS ZAVOD (identifikacijska številka visokošolskega zavoda), ID NACINSTUDUA (redni študij: 1, izredni študij: 2) in ID ELEMENT RAZPIS (program ali skupina programov, ki je predmet razpisa). Programi so lahko omejeni ali neomejeni in so lahko eno-predmetni ali dvopredmetni. Shema tabele RAZPIS in del njene vsebine (naslovi stolpcev so nekoliko okrajšani) je predstavljena na sliki t. Tabela želja. V tabeli PRIJAVA so zbrane vse želje vseh kandidatov za študij na fakultetah (slika 2). Vsaka i tpombnd NFORMATI KA ^ Rešitve - okuuja Nome ID vis ZAVOD ID NAČIN ŠTUDIJA ID-ELEMENT RAZPIS RAZPISANIM "MEST OMEJEN DVOPREDMETNI OPIS RAZP MESTA Null? Type NOT NULL NUMBER<2) NO I NULL NUMBERO> NOT NULL VARCHAR2(4) NUMEFRCS) VARCHAR2(1) VARCHAR2( I) VARCHAR2tZ0> ID VIS ZAVOD ID NAČIN ŠTUDIJA IDJLEMENT RAZPIS RAZPISANIII_MEST OM DV QPIS_RAZP MESTA 1 1. AJ10 120 D N RAZREDNI POUK,.. 1 J AJ30 30 N N RAZREDNI POUK... 1 1 AKÛ0 30 D N SOCIALNA PEDA. . . 1 1 ALOO 20 D N LIKOVNA PEDAG. . . 1 1 AMOO 45 N N MATEMATIKA IN.., 1 1 A000 30 N N MATEMATIKA IN.., 63 1 HBOO 150 N N RAČUNALNIŠTVO,,, 63 1 L200 200 N N RAČUNALNIŠTVO... 64 1 H500 250 N N ELEKTROTEHNIK. . , 64 1 L000 300 N N ELEKTROTEHNIK. . . 71 1 2400 50 N N MIKR0BI0L0GIJ... 75 I 1412 60 N N GOSPODARSKO I,,, 75 2 1412 20 N N GOSPODARSKO 1,.. 75 1 1512 70 N N GOSPODARSKO I,,. 75 1 1612 40 N N GOSPODARSKO I... 75 2 1712 10 N N GOSPODARSKO I,.. 85 1 1500 30 D N KRAJINSKA ARH, . , Stika 1: Shema tabele RAZPIS in tlel njene vsebine vrstica v tabeli predstavlja po eno željo. Ob prejemu prijave z željami dodeli prijavno-informacijska služba vsakemu kandidatu svojo identifikacijsko številko (ID PRVA PRIJAVA). Vsaka od želja posameznega kandidata je oštevilčena (II) RUBRIKA G [ 1,2,3 1). Želja kandidata se lahko nanaša na enopredmetni ali pa dvopredmetni program. Zelja po enopredmetni'm programu je v tabeli PRIJAVA predstavljena z eno vrstico, pri čemer ima atribut ID POLOVICA vrednost 1. Želja po dvopredmetnem programu je podana z dvema vrsticama, v prvi ima atribut ID POLOVICA vrednost 1, v drugi pa vrednost 2. Atribut 1D VIS ZAV0D je numeriČna oznaka visokošolskega zavoda, ki študijski program razpisuje. Atribut ID NAČIN ŠTUDIJA opredeljuje redni ( = 1) oziroma izredni študij (= 2). Atribut ID ELEMENT RAZPIS označuje posamični program ali skupino programov, za katero je navedeno število razpisanih mest v razpisu. V primeru, da je razpisana skupina programov, podaja atribut ID PROGRAM oznako konkretnega programa, v katerega se kandidat prijavlja, v nasprotnem primeru pa imata atributa ID ELEMENT RAZPIS in ID_PROGRAM enako vrednost. Atribut SKJOCK podaja Število točk, ki jih je kandidat dosegel, upoštevaje maturo oziroma zaključni izpit ter uspeh v srednji šoli. Ključ tabele tvorijo atributi, ki so na sliki 2 označeni z NOT NULL To so ID PRVAPRIJAVA, ID RUBRIKA in ID POLOVICA (Slika 2). 3. Izbirni postopek Izbirni postopek se izvaja v treh korakih. Prvi korak obsega inicializacijo osnovnih delovnih datotek in določene prilagoditve, pri čemer so nekatere od njih (verjetno) veljavne le v tekočem letu. V drugem koraku se izvede uvrstitev kandidatov, ki so se s prvo željo prijavili v neomejeni program, v tretjem koraku pa se izvede razvrščanje preostalih kandidatov glede na dosežene točke in še prosta mesta v študijskih programih (Slika 3). V skladu s pravili uvrščanja oziroma razvrščanja se prijave kandidatov dele v dve skupini. Prva skupina so en o predmetne želje, s katerimi kandidati kandidirajo v posamezen program, v drugi skupini pa se nahajajo želje, ki se nanašajo na dvopredmetne programe, kot jih srečujemo na pilozofski fakulteti v Ljubljani in Pedagoški fakulteti v Mariboru. Pri slednjih se kandidatove želje nanašajo na dva iz množice razpisanih enakovrednih programov. Ker se izvajata uvrščanje in razvrščanje za ti dve skupini po različnih postopkih, se tudi želje v nadaljevanju ustrezno razdele v različne tabele (slika 4). Globalni pogled na razvrščanje prikazuje slika 4. Vsebina tabele PRIJAVA se najprej razdeli v enopredmetne (RUB-N) in dvopredmetne želje (RlIB-P). I/ tabele RUB-N se nato v tabelo RIJB-N9 izločijo vse prve želje "i«'»i"'"|NfoRMAT|KA 1998-äteviika t ■ letnik VI Rešitve: - orodja Name Null? Type id prva prijava not null number*5) id"rubrtka not null number(l) m-polovjca not null number(1) id-vis zavod nijmbf:r(2) id način študija number(l) id~element razpis varchar2(4) id~program" varchar2(4) skttock number(10,4) idprvaprijava id rubrika id_p0l0vica id_vis_zavod id_nacin_studija id e id p sk t0ck 2328 2 1 2 1 6600 6600 86 23^6 3 1 2 1 6100 6100 79 2348 2 1 2 1 6600 6600 65 2348 3 1 2 1 6300 6300 65 2351 2 1 2 1 7100 7100 87 2 l 2 1 6300 6300 66 2438 3 1 2 1 7200 /200 49 2457 2 1 2 1 6100 6100 46 2543 2 1 2 1 7100 7100 83 2579 3 1 2 1 6300 6300 60 2596 3 1 2 1 6100 6100 83.2 2621 3 1 2 1 0300 0300 59 2651 3 1 2 1 6300 6300 80 .....2482' .........2...........i" ...........2 IVfltllVtlttltlllll llfltfllf 1 63d0 63do t « i * i i ♦ t 72.5 2482 2 2 2 1 79d0 79d0 72,5 2581 2 1 2 1 79d0 79d0 64.5 2581 2 2 2 1 80d0 80d0 64.5 2591 3 1 2 1 65d0 65d0 77 2591 3 2 2 1 66d0 66d0 /7 2596 2 1 2 i 65d0 65d0 83,2 2596 2 2 2 1 80d0 80d0 83.2 2652 2 1 2 1 79d0 79d0 60 2652 2 2 2 1 80d0 80d0 60 2653 3 1 2 1 65d0 65d0 98.5 2653 3 2 2 1 80d0 80d0 98.5 2736 2 1 2 1 70d0 70d0 69 2736 2 2 2 1 68d0 68d0 69 Slika 2: Shema tabele PRIJAVA in del njene vsebine v neomejene programe. Podobno se iz tabele RUE-P izločijo v tabelo RUB-M vse prve želje, pri katerih sla oba programa neomejena. Po omenjenem izločanju se v tabeli RAZPIS Število razpisanih mest za posamezne programe zmanjša za število že uvrščenih prijav v tabelah RUB-N9 in RUR-P9. Vse ostale Želje (druge in tretje) že uvrščenih kandidatov se iz tabel RUB-N in RUB-P Stika 3: Faze izbirnega postopka izbrišejo. Sledi razvrščanje v tabelah RUB-Nl oziroma RUR Pl, v kateri se prijave prenesejo i/, tabel RUB-N in RUB-P, Razvrščanje poteka v več krogih. Najbolje uvrščene želje kandidatov v posameznem krogu razvrščanja se shranijo v tabelah RUB-NS in RUB-P8. Po vsakem krogu razvrščanja je nato potrebno poiskati kandidate, katerih želje so se uvrstile tako v skupini enopredmetnih želja kot tudi v skupini dvopredmetnih želja. Veliko kandidatov namreč kandidira z obema vrstama želja. Uoljc rangirana želja os laja v tabeli, slabše rangirana želja pa se izloči v tabelo IZLOČENI-N oziroma IZLOČENI-P. In postopek razvrščanja v tabelah RUB-N1 in RUB-P1 se ponavlja toliko časa, dokler sc v preseku pojavlja še kakšen kandidat s svojimi željami. Ob zaključku razvrščanja se v tabelo UVRŠČENI prepišejo neposredno uvrščeni kandidati iz tabel RUB-N9 in RUB-P9 ter tabel RUB-NS in RUB-P8. Vsebina te tabele predstavlja rezultat 1998-številka 1 ■ letnik VI ¡ipprntmfA NFOfiM ATI KA 35 Rešitve: - orodja razvrščanja, V nadaljevanju so podrobneje predstavljene posamezne faze izbirnega postopka. 3.1 Inicializacija izbirnega postopka V okviru inicializacije izbirnega postopka se kreirajo delovne tabele, izvedejo pa se tudi nekatere prilagoditve, ki običajno veljajo le za tekoči vpis in se lahko iz leta v leto spreminjajo. Ena takih prilagoditev so tako imenovani dvo-predmetni programi, katerih ena polovica sodi v okrilje ene fakultete, druga pa v okrilje druge fakultete. Tako so bili v Šolskem letu 1996/97 sestavljeni v dvo-predmetne programe teologija H s Teološke fakultete v Ljubljani in poljuben program s Pedagoške fakultete v Mariboru oziroma poljuben program s Filozofske fakultete v Ljubljani. Prav tako sta se v dvopredmetni program povezovala programa politologija /J in novinarstvo H s Fakultete za družbene vede s poljubnim programom s Filozofske fakultete v Ljubljani. Povezovanje programov različnih fakultet se je izvedlo z navidezno selitvijo omenjenih programov z njihovih matičnih fakultet na Pedagoško fakulteto v Mariboru oziroma Filozofsko fakulteto v Ljubljani. Vse možne povezave pri dvopredmetnih programih pa vendarle niso dopustne. Tako so v dveh tabelah PREPGVEDANIl in PREPOVEDANI 2 navedeni programi, katerih pare se ne dd (ne sme) vpisati kot dvopredmetni program. Kateri pari so dopustni in kateri ne, je pojasnjeno v razpisih posameznih fakultet, tako da so kandidati o tem pravočasno obveščeni. Uvrščanje in razvrščanje se pri enopredmetnih oziroma dvopredmetnih programih razlikujeta do te mere, da je bilo za vsako vrsto programov potrebno izdelati poseben algoritem, zato se pred razvrščanjem želje kandidatov razvrstijo v dve tabeli RUB-N in RUB-P (S4 - A). V prvi se nahajajo enopredmetni programi, v drugi pa dvopredmetni programi. 3.2 Uvrščanje želja pri neomejenih programih Kol uvod v uvrščanje je potrebno tabelo enopredmetnih želja RUB-N kot tudi tabelo dvopredmetnih želja RUB-P najprej dopolniti z atributom OMEJEN, ki se izvirno nahaja v tabeli RAZPIS. Na ta način je vsaka želja opredeljena s svojim vrstnim redom (prva, druga, tretja želja) in kot omejena ali neomejena želja. Enopredmetne želje. V tabeli RUR-N poiščemo po vrsti vse prve želje, ki se nanašajo na neomejene programe (OMEJEN - 'N' in Id rubrika - 1). Vse prve in hkrati neomejene želje kandidatov se prenesejo v tabelo RUB-N9 (S4 - Ti}, preostale želje teh uvrščenih kandidatov pa se iz obeh tabel RUB-N in RUB-P izbrišejo. Dvopredmetne želje. Nekoliko drugačen je pristop k uvrščanju dvopredmetnih želja in sicer se najprej označijo VSe želje, ki ne morejo biti uvrščene. V tabeli RUB-P se označijo vse prve želje po uvrstitvi v omejene programe ter vse druge in tretje želje. Nato se dodatno označijo še prve želje, katerih ena polovica (eden izmed programov) je omejena. Neoznačene želje so PRIJAVI- RUB-N RUB-P C T ■¿""'C'-""" i --*'* V*' f>"*" v r RUB-N S • Izločeni - N UVRŠČENI Slika 4: Globalni poteh razvrščanja 36 i qmniln mi N FO RM ATI KA 1996-številka I -letnik VI Rešitve: - orodja tiste, ki se nato uvrstijo v tabelo RUB-P9 (S4 - C). Vse preostale želje uvrščenih kandidatov se iz tabel RUB-P in RUB-N izbrišejo (slika 4). Ažuriranje razpisa. Po uvrščanju eno in dvopredmetnih želja se je določeno število razpisanih mest s tem že zasedlo. Število razpisanih mest v tabeli RAZPIS je zato potrebno zmanjšati za število Že uvrščenih kandidatov. Kandidati, ki so kandidirali z enopred-metnimi željami, so zasedli vsak po eno mesto, kandidati, ki so kandidirali z dvopredmetnimi željami, pa so zasedli vsak po dve mesti. V ta namen se kreira začasna tabela, podobna tabeli RAZPIS, v kateri so navedena vsa že zasedena mesta. Od vsebine tabele RAZPIS se potem »odšteje« vsebina začasne tabele (S4 -D), V tabeli RAZPIS so tako navedena le Se preostala nezasedena mesta. Le-ta so na voljo v okviru naslednje faze - razvrščanja v omejene programe. 3.3 Razvrščanje želja pri omejenih programih Razvrščanje je postopek, s katerim se razporejajo kandidati na razpisana mesta omejenih programov ter preostala prosta mesta neomejenih dvopredmetnih programov in sicer glede na dosežene točke pri maturi oziroma zaključnem izpitu. Postopek razvrščanja poteka v naslednjih korakih: (a) Razvrstitev kandidatov glede na enopredmetne želje. (b) Razvrstitev kandidatov glede na dvopredmetne želje. (c) Identifikacija kandidatov, ki so uvrščeni tako z enopredmetnimi željami kot tudi z dvopredmetnimi željami, in izločanje manj zaželenih prijav iz množice enopredmetnih želja oziroma iz množice dvopredmetnih želja. (d) Zaporedje postopkov (a) - (c) se ponavlja toliko časa, dokler se ne pojavi noben dvojno uvrščeni kandidat več. Pred samim razvrščanjem se k tabelama RUB-N in RUB-P kreirata pripadajoči tabeli RAZ-N in RAZ-P (S4 - E), v katerih so navedeni zgolj programi, na katere kandidirajo kandidati, katerih želje se nahajajo v tabelah RUB-N oziroma RUB-P. 3.3.1 Razvrščanje enopredmetnih želja Tabeli RUB-N in RAZ-N služita za inicializacijo tabel RUB-N1 in RAZ-NI (delovni razpis), v katerih se razvrščanje dejansko izvaja (S4 - F). V tabeli RUB-N1 so želje v okviru vsakega študijskega programa urejene po padajočem številu točk in naraščajoči številki želje. Postopek razvrščanja (S4 - G) obsega naslednje korake: (a) Na osnovi števila razpisanih mest za posamezne študijske programe se izračuna minimalno število točk, ki je potrebno za uvrstitev želja v ta študijski program. Če se pojavi več želja z minimalnim številom točk (ž.elje v repu), se število razpisanih mest v RAZ-NI za vsak študijski program ustrezno poveča. Zaradi hitrejše konvergence se začetno število razpisanih mest v RAZ-N1 ob začetku razvrščanja pri vseh programih dodatno poveča za 20 %. (b) V okviru vsakega študijskega programa se poiščejo tiste prvo želje, ki dosegajo minimalno število točk. Označi se uvrščena želja posameznega kandidata, vse njegove preostale željo pa se označijo kol neveljavne. (c) Postopek (b) se ponovi za vse druge in nato za vse tretje še neoznačene želje. Ker posamezni kandidat nastopa z več željami, upošteva pa se le najugodnejša med njimi, se praviloma razvrsti manj želja, kot pa je na voljo mest za uvrstitev pri posameznem študijskem programu. (d) Če je konvergenca dosežena {že neki j iteracij ni več opaziti prirastka ali upada števila uvrščenih kandidatov), se razvrščanje zaključi, uvrščene želje pa se prepišejo v tabelo RUB-N8. V nasprotnem primeru se poveča (ali zmanjša) število razpisanih mest za posamezni študijski program in sicer za toliko, kolikor kandidatov je bilo v predhodnem razvrščanju premalo (ali preveč) uvrščenih. Izračuna se tudi število točk, potrebnih za uvrstitev želja, število razpisanih mest pa se poveča še za število želja v repu. Oznake vseh želja se izbrišejo, izbriše se tudi vsebina tabelo RUB-N8. Razvrščanje se nadaljuje s postopkom (b). Število uvrščenih kandidatov po prvem krogu razvrščanja enopredmetnih želja kaže diagram S5 (slika 5). 3.3.2 Razvrščanje dvopredmetnih želja Pri razvrščanju dvopredmetnih želja obstaja posebnost, ki je pri enopredmetnih željah ni. Kandidat, ki nastopa v izbirnem postopku z več kot eno dvopredmetno željo, se uvrsti, če se uvrsli želja, sestavljena iz poljubnega para njegovih polovičnih želja. Veljavne dvopredmotno želje namreč niso le tiste, ki so jih kandidati eksplicitno navedli v prijavi, ampak tudi tiste, ki se dajo sestaviti iz polovic njegovih 7800 - 7600 -- 7400 — — ^^^ % 7200 --- / $> 7000 / š 6800 " / f 6600 / S / m 6400 —~f-- 6200 —L-- 6000 -<-'-'-'-'-1-1-1-■- 123456789 10 Številka ponovitve razvrščanja Slika 5: Prvi krog razvrščanja enopredmetnih želja 1998 številka 1 - letnik VI I Izrabi ini NFOR M ATI KA Rešitve - orodja dvopredmetnih želja. Izjema so le take sestavljenke, ki vsebujejo dve enaki polovični želji, in pa tiste sestavljenke, ki so navedene v tabelah PREPOVEDANI 1 in PREPOVEDANI jt Tabeli RUB-P1 in RAZ-P1 se ob pričetku razvrščanja inicializirata z vsebino datotek RUB-P in RAZ-P (S4 - H). Tudi v tabeli RIJH-P1 so želje v okviru vsakega Studijskega programa urejene po padajočem število točk in naraščajoči številki želje. Postopek razvrščanja {S4 -1) obsega naslednje korake: (a) Na osnovi števila razpisanih mest za posamezni študijski program se izračuna minimalno Število točk, ki je potrebno za uvrstitev polovičnih želja v ta študijski program. Če se pojavi več želja z minimalnim številom točk {želje v repu), se število razpisanih mest ustrezno poveča. (b) Preliminarno se uvrstijo polovične želje, ki dosegajo minimalno število točk, prav tako pa tudi vse neomejene in hkrati prve polovične želje, ki bi bile sicer uvrščene že v okviru uvrščanja neomejenih programov, če bi bila tudi njihova komplementarna polovica neomejena. (c) Iz tabele RUR-P1 se po vrsti berejo preliminarno uvrščene prve polovične želje. Prebere se polovična želja in i/, nje se ugotovi, kateremu kandidatu pripada. V delovno tabelo se potem preberejo vse preliminarno uvrščene polovične želje tega kandidata. Množica želja se nato pomnoži sama s seboj (kartezijski produkt), kar nam da za rezultat množico dvopredmetnih želja. Iz te množice se izločijo vse neveljavne želje {želja, katere polovici sta identični; želja, ki je navedena v tabeli PREPOVEDANI 1 ali PREPOVEDANI 2>. Preostale želje se uredijo po vrednosti para številk želja v naslednjem zaporedju: [1,1], [1,2], [1,3], [2,2], [2,3], [3,3]. Tako ima par polovičnih želja [1,3] prednost pred parom [2, 2], saj se v prvem paru nahaja vsaj polovica najljubše želje. Najbolje uvrščeni par polovičnih želja prepišemo v tabelo RUB-P8, vse prijave kandidata v tabeli RUB-P1 pa se označijo kot neveljavne. (d) Postopek (c) se ponovi za vse druge in nato za vse tretje še neoznačene želje. Ker lahko kandidat nastopa z več željami, upošteva pa se le najugodnejša med njimi, se praviloma razvrsti manj želja, kot pa je na voljo mest za uvrstitev pri posameznem študijskem programu. (V) Če je konvergenca dosežena {že nekaj iteracij ni več opaziti prirastka ali upada števila uvrščenih kandidatov), se razvrščanje zaključi, V nasprotnem primeru se poveča (alt zmanjša} število razpisanih mest za posamezni študijski program in sicer za [oliko, kolikor kandidatov je bilo v predhodnem razvrščanju premalo (ali preveč) uvrščenih. Izračuna se tudi število točk, potrebnih za uvrstitev želja, število razpisanih mest pa se poveča se za število želja v repu. Oznake vseh želja se izbrišejo, izbriše se tudi vsebina tabele RUB-P8. Razvrščanje se nadaljuje s postopkom (b). 3.3.3 Presek med eno in dvopredmetnimi željami Po razvrščanju eno in dvopredmetnih želja, se uvrščene enopredmetne želje kandidatov nahajajo v tabeli RUH-N8, uvrščene dvopredmetne želje pa v tabeli RIIB-P8. Ker kandidirajo nekateri kandidati tako z enopred-metnimi kot tudi z dvopredmetnimi željami, so nakateri izmed njih uvrščeni s po eno željo ene in druge vrste. (a) Najprej se izračuna presek med vsebino obeh tabel (S4 - J), ki se shrani v delovno tabelo PRESEK. V njej se nahajajo vsi dvojno uvrščeni kandidati -kandidati, ki so se uvrstili v. enopredmetnim in tudi z dvopredmetnim programom. Ker je ena uvrstitev bolj zaželena kot druga, se vse želje, povezane z manj zaželeno uvrstitvijo izločijo iz tabele RUB-N1 {ali RUB-P1, odvisno od tega, s katero željo je bil kandidat manj uspešen) v tabelo IZLOČENI-N {ali IZLOČENI-P) in se shranijo za morebitno ponovno uporabo (S4 - K). S tem, ko se nekatere želje izločijo iz nadaljnjega razvrščanja, se sprostijo mesta, ki jih lahko v nadaljevanju zasedejo doslej še neuvrščeni kandidati. Celoten cikel razvrščanja se nato ponovi. V nadaljnjih ciklih razvrščanja se zaradi sproščenih mest uvrščajo želje, ki pred tem še niso bile uvrščene, ali pa se ne uvrstijo več želje, ki pa so bile pred tem že uvrščene. Tako se lahko med drugim pripeti, da se pri posameznem kandidatu tudi tista preostala želja ne uvrsti več. Na primer: kandidat se je najprej uvrstil tako z cnopredmelno kot tudi z dvopredmetno željo. Manj zaželena želja {npr. enopredmetna) se je iztočila, v naslednjem ciklu pa kandidat ni več uvrščen tudi /. bolj zaželeno željo (npr. dvopredmetno). Za tak primer smo uporabili izraz »izgubljeni« kandidat. Problem se reši tako, da se vse kandidatove želje vrnejo v ponovno razvrščanje. (b) Če se ne uvrsti več želja iz tabele RUB-N1, se v tabelo RUE-P1 vrnejo vse kandidatove želje iz tabele IZLOČEN I-P, če se ne uvrsti vee želja iz tabele RUB-P1, se v tabelo RUB-N1 vrnejo vse kandidatove želje iz tabele IZLOČEN I - N in celoten cikel razvrščanja se ponovi (S4 - K). Ko se noben kandidat ne uvrsti več z obema vrstama želja (presek je prazen), sledi prepis vseh uvrščenih želja v tabelo UVRŠČENI. Vanjo se prepišejo neposredno uvrščene enopredmetne (RUB-N9) in dvopredmetne (RUE-P9) želje ter razvrščene enopredmetne (RUB-N3) in dvopredmetne (RUB-P8) želje (S4 - L). Sledi še zadnja korekcija. Zaradi preseljevanja želja med datotekama RUB-N1 in IZLOČENI-N oziroma RUB-P1 in Jg "/»""'"'"INFORMATIKA 1998 • Številka 1 - letnik VI Rešitve - okouja iZLOfENLPse lahko zgodi, da se znajde kandidatova bolj zaželena želja v datoteki izločenih želja, manj zaželena pa med uvrščenimi željami, pri čemer obe želji izpolnjujeta pogoj minimalnih točk za uvrstitev, (e) Za vsakega kandidata, katerega Želja se nahaja izločena v tabeli IZLOČENI-N oziroma IZLOČEN I-P in ki dosega zahtevani minimum točk, se preveri, ali ni morda uvrščen z manj zaželeno željo. Če je temu tako, se manj zaželena želja izloči iz tabele UVRŠČENI, vanjo pa se prenese bolj zaželena želja. Postopek razvrščanja kandidatov je s tem končan. Vsi uvrščeni kandidati se predstavljeni s svojimi optimalnimi željami nahajajo v tabeli UVRŠČENI. 3,4 Programska oprema Programska oprema, ki podpira izbirni postopek, je napisana v programskih jezikih SQL in PL/SQL, podatkovni del pa je upravljan s podatkovnim strežnikom ORACLE V7.2.3. V zvezi s tem, kako primerno napisati in organizirati programsko opremo, je bilo narejenih več poskusov. Prvi poskus z uporabo gostečega jezika ANSI C in vgnezdenega SQL je pokazal, da je občutljiva točka prevajalnik za jezik C. S pred-prevajalnikom generirano kodo je namreč potrebno prevesti še s prevajalnikom za C. Pokazalo se je, da prevajanje uspe le, če se zanj uporabi prav določena (in ne najnovejša) verzija prevajalnika, v nasprotnem primeru prevajalnik sicer ne sporoča napak pri prevajanju in prevedena koda se izvaja, žal pa so rezultati napačni. Zaradi te povezanosti z verzijo prevajalnika za C je močno ogrožena prenosljivost programske opreme iz verzije v verzijo pred- prevajalnika. Drugi poskus je bil izveden z uporabo dinamičnega SQL v okviru jezika PL/SQL. Ta varianta sicer uspešno deluje, vendar se je pokazalo, da se obseg programske kode poveča za približno 100 % (kar velja tudi za vgnezdeni SQL), njena preglednost in razumljivost pa seveda upade. Ker se je programska oprema v zadnjih letih ves čas spreminjala (in se verjetno še bo), je bila izbrana varianta z mešanico jezikov SQL in PL/SQL. Po tej varianti je kode najmanj, je najpreglednejša in sejo da tudi preprosto vzdrževali, njena slabost pa je ta, da je realizacija zank in razveji te v možna le znotraj sekcij P1VSQL. Posledica je ta, da je rokovanje s tako napisanimi programi razmeroma okorno in daleč od vsake elegance. Predvidevamo, da bo potem, ko se bodo algoritmi razvrščanja ustalili - doslej so se še vsako leto nekoliko spreminjali - smiselno tudi programsko opremo spraviti v priročnejšo obliko. Prav zaradi nenehnega spreminjanja algoritmov in s tem povezanega testiranji programske opreme je le-ta napisana nekoliko redundantno. V končni obliki se bo lahko iz nje izpustila marsikatera tabela z vmesnimi rezultati, ki je bila potrebna zaradi preverjanja delovanja algoritmov. Programska oprema je trenutno urejena v treh imenikih, v katerih se nahajajo posamezni programi (slika 6). 3.5 Izvedba izbirnega postopka Izbirni postopek izvedemo s pomočjo v predhodnih razdelkih opisanih algoritmov oziroma programov. Najprej izvedemo programe iz imenika inic/, nato programe iz imenika neoin/ in nazadnje programe iz imenika raz/. Inic: 1 BRISOBJ.sql 2 INIC.sql Neom: 1 INlC.sql 2 N£OMN.sql 3 NEOMP.sql 4 RAZPIS.sq! Raz: 0 CR IZLOČENl.sqt 1 UVOD N.sql 2 JEDRO N.sql 3 KONEC N.sql 4 UVOD P.sql 5 JEDRO P.scfl 6 PRESEK. sql 7 IZGUBUCNI.scjl 8 ZDRUZEN l.sql 9 KOREKCIJA. sql Brisanje starih delovnih tabel pred razvrščanjem Prilagoditve in kreiranje tabel eno in dvopredmetnih želja Kreiranje tabel za neposredno uvrščanje Uvrščanje enopredmetnih želja v neomejene programe Uvrščanje dvopredmetnih želja v neomejene programe Ažunranje števila prostih mest v razpisu Kreiranje tabel za izločene želje Priprava za enopredmetno razvrščanje Cnopredmetno razvrščanje Zaključek enopredmetnega razvrščanja Priprava za dvopredmetno razvrščanje Dvopredmetno razvrščanje Iskanje dvojno uvrščenih kandidatov in izločanje manj zaželenih želja Iskanje kandidatov z izločenimi željami in njihovo vračanje v razvrščanje Kreiranje tabele uvrščenih kandidatov Korekcija pri izboru bolj zaželenih želja Slika 6: Programska oprema za izbirni postopek, urejena po imenikih 1998 - številka i -letnik VI i qvmbuA NFO RM ATI KA 39 Rešitve: - orodja A Inicializacija datotek inic/ lBAISOBJ.sgl 2INIC.sql B Uvrščanje kandidatov na neomejene programe neom/ llNIC.sol 2NE0MN.sql 3NE0MP. sql i)RAZPIS,sqi C Razvrščanje kandidatov po točkah raz/ OCR_IZLGCENI,sql 1UV0D N.sq1 4UV0D P.sql ponavlJoJ eOO£Kl_kli 2JEDRO N.sql dokler se število uvrščenih ne spreminja več 3K0NEC N.sal ponovila! 5JEDR0_P.sql dokler se število uvrščenih ne spreminja več 6PRESEK.sql 7IZGUBLJENI,sal dokler nI presek prazen 8ZDRUZENI.sql 9K0R£KCIJA.SQl Iteracijski postopki so v zgornjem primeru realizirani z datotekami, v katerih se iterirani ukazi ponavljajo, saj izven jezika PL/SQL ni primernega ukaza za realizacijo programskih zank. Programi, shranjeni v lokalnem računalniku -odjemalcu, se posredujejo v obdelavo podatkovnemu strežniku preko vmesnika SQL*Plus. 4. Zaključek Programska oprema za izbirni postopek se je pisala in testirala v Laboratoriju za informatiko na Fakulteti za računalništvo in informatiko v Ljubljani. Od prvega razvrščanja v letu 1995 pa do lanskega leta je doživela veliko sprememb. V tem času se je spreminjal izbirni postopek, spreminjale so se zahteve fakultet, zato so se spreminjali tudi programi. Vzroki niso bili zgolj zunanji, pač pa so se odpravljale slabosti in napake in izvajala se je tudi optimizacija. Zaradi programov, ki so se izvajali v dvojni zanki, je bilo zelo pomembno, kako so bili napisani kritični deli. Posebno pozornost je bilo potrebno posvetiti tudi indeksiranju tabel. Čas izvajanja izbirnega postopka se je postopoma skrajšal na približno 2 uri, vendar pa je močno odvisen od vrednosti vhodnih podatkov. V lanskem letu (1997) je bila struktura vhodnih podatkov naslednja: Vse Enopredmetne Dvo pred me t ne želje želje Št. želja 41782 36013 5769 Št. kandidatov 16409 16085 2040 Izbirni postopek pa je uspešno prestalo naslednje število kandidatov: Uvrščeni kandidati na Št. kandidatov ■ enopredmetne neomejene programe 5028 - dvopredmetne neomejene programe 235 ■ enopredmetne omejene programe 7563 - dvopredmetne omejene programe 562 Skupaj 13388 Pravilnost algoritmov izbirnega postopka se je preverjala z obsežnim testiranjem in v lanskem letu so testi pokazali, da nam je uspelo izvesti izbirni postopek povsem brez napak v nasprotju s predhodnimi leti, ko so bile potrebne po računalniškem delu razvrščanja še manjše ročne korekcije. Viri [1] Razpis Univerze v Ljubljani, Umver2e v Mariboru in samostojnih visokošolskih zavodov za vpis v študijskem letu 1995/ 96, Ljubljana, 1995 [2] Postopek razvrščanja kandidatov za vpis na fakultete in visoke šote, Ljubljana, 1995 [3] Razpis Univerze v Ljubljani, Univerze v Mariboru in samostojnih visokošolskih zavodov za vpis v študijskem letu 1996/ 97, Ljubljana, 1996 [4] Razpis Univerze v Ljubljani, Univerze v Mariboru in samostojnih visokošolskih zavodov za vpis v študijskem letu 1997/ 98, Ljubljana, 1997 * Doc. dr. Tomaž Mohoriije zaposlen na Fakulteti za računalništvo in informatiko, kjer predava vrsto predmetov s področja podatkovnih baz in informacijskih sistemov. Raziskovalno se ukvarja s konceptualnim modeliranjem, načrtovanjem relacijskih in objektno usmerjenih podatkovnih baz ter sistemi za upravljanje podatkovnih baz. ♦ u/x>mbi itd NFOR M AT!KA 1998 - Številka 1 -leinikVI