lessenrooster maken
Mijn naam is Jens en ik werk op een school in Antwerpen. Ieder jaar is het een grote klus om de lessenroosters op te maken vandaar dat ik dit door php wil laten doen. Ik kom er zelf wel niet uit hoe ik dat zou moeten doen.
mijn database
leerlingen
-id
-naam
-klas (id)
...
vakken
-id
-klas (id)
-naam
-aantal_uur
-meerdere_uren (meerdere uren na elkaar)
-combiklas (1 = ja als het echt niet anders kan)
-eisen (gesplitst door een komma vb:lo,ict,beamer)
lokalen
-id
-naam
-plaatsen
-bestemming (voor lo, ict, beamer van de vakken)
leerkrachten
-id
-naam
-vakken (gesplitst door een komma vb: ned,ict,wis)
klas
-id
-naam
-afdeling
-graat
Alleen zou ik nu niet goed weten hoe ik het best het rooster kan maken? zelf vindt ik het zeer complex. Het zou soms ook als "meerdere_uren" bij vakken een 1 is geen vak maar 1 uur mogen geven (zoals praktijk) en het zou een beetje logisch moeten zijn.
Hoe zouden jullie dit doen?
Gewijzigd op 08/09/2013 18:57:25 door Jens houwe
Op je vraag, ik zou eerst de vakken database handmatig invullen ( of dat eerst automatiseren ). Daarna een tabelletje maken voor de indeling, en gebaseerd op de leerling ID de vakken invullen met de dergelijke informatie. Ik hoop dat dit een beetje je vraag beantwoord?
Hoever ben je al? Heb je de tabellen al aangemaakt?
Nederlands
praktijk
wiskunde
praktijk
biologie
lo
lo
Nederlands
Geen 2 keer Nederlands op 1 dag tenzij het echt niet anders kan, en praktijk zou samen moeten omdat dat veel opruimwerk is en die tijd kunnen ze beter gebruiken.
Ik zou gewoon niet weten hoe de werking zou moeten.
Toevoeging op 08/09/2013 21:12:44:
De tabellen zijn aangemaakt en er zitten al gegevens in, het is een back-up van het beheer systeem dat de school nu gebruikt (dat is ook van mij) maar een lessenrooster is wel iets complexer dan een klassenlijst.
Gewijzigd op 08/09/2013 21:48:48 door Victor G
Ik werk op een school daar heb ik voor gekozen, ik leer iedere dag nog bij vandaar dat ik het echt zelf wil maken.
Op een school werken betekent toch niet dat je iets moet doen wat je niet kan? en mocht je een leraar zijn dan ga je lesgeven maar mocht je een concierge zijn dan ga je klusjes doen en aangezien je geen programmeur bent.. snap ik niet waarom je de roosters moet maken dmv php en er zijn immers kant en klare systemen voor ( magister ) wat heel handig 10x uitgebreider en betrouwbaarder is dan wanneer je zelf wat moet maken.
Het probleem is dat ik niet zou weten hoe de generator zou moeten werken.
Ik ben lesgever ict, vandaar dat ik het digitaal wil. Zelf is de school nogal ouderwets.
ik zal kijken naar magister maar zoek zoek ook verder naar hoe het zou moeten werken want mijn verstand kan er niet bij.
Toevoeging op 08/09/2013 22:22:33:
Ik was van plan om alle leerkrachten en lokalen in een array te steken.
Dan voor het eerste lesuur van maandag voor alle klassen een vak op te geven.
Dan het tweede lesuur van maandag.
Dan het derde lesuur en zo door.
Dan voor dinsdag.
Dan woensdag,
en zo voort...
Maar het probleem is dan dat ik niet weet hoe ik de vereiste moet inbouwen en ook niet voor meerdere uren dezelde les zoals praktijk (15 uur per week bijvoorbeeld) en combiklassen.
Dus klas 1a begint dan met 4 uur aardrijkskunde op maandagochtend.
Is dat handig? Nee. Er zijn meer dingen om rekening mee te houden.
Is het een voortgezet-onderwijs (leeftijd 13 tm 17/18)?
Hoe zit het met gym (lichamelijke opvoeding)?
Het is niet voor niets altijd een klus, want er komt veel bij kijken.
Zelf werk ik ook op basisscholen (leeftijd 4 tm 12) en daar is een roostertje maken al moeilijk.
Laat staan als dat elk uur wisselt.
Magistrar is gewoon handig. Alleen (waarschijnlijk) wel duurder.
Reshad F op 08/09/2013 21:59:55:
Op een school werken betekent toch niet dat je iets moet doen wat je niet kan? en mocht je een leraar zijn dan ga je lesgeven maar mocht je een concierge zijn dan ga je klusjes doen en aangezien je geen programmeur bent.. snap ik niet waarom je de roosters moet maken dmv php en er zijn immers kant en klare systemen voor ( magister ) wat heel handig 10x uitgebreider en betrouwbaarder is dan wanneer je zelf wat moet maken.
En daar sluit ik me bij aan. In mijn ogen kun je het beter goed doen in één keer en wat meer geld uitgeven dan een half jaar lopen 'aankloten' met een niet fatsoenlijk werkend rooster..
Gewijzigd op 09/09/2013 07:42:48 door Victor G
En uiteraard volgend jaar wéér half opnieuw beginnen omdat er andere/nieuwe klassen zijn met andere leerkrachten en werktijdfactoren van leerkrachten.
Jens houwe op 08/09/2013 22:05:10:
Maar het probleem is dan dat ik niet weet hoe ik de vereiste moet inbouwen en ook niet voor meerdere uren dezelde les zoals praktijk (15 uur per week bijvoorbeeld) en combiklassen.
Je kunt het oplossen met lineair programmeren. Alle bekenden (x = 3) en alle voorwaarden (2 < y < 5) werk je uit in een matrix. Je idee om een array te gebruiken was dus juist. Daarmee kun je namelijk rekenen.
Je kunt zelfs een optimale oplossing vinden als je formaliseert wat "goed" en wat "slecht" is in termen van kosten. Bijvoorbeeld "het optimale rooster is het rooster waarbij kinderen zo min mogelijk hoeven oversteken".
Ik denk alleen dat PHP verre van ideaal is voor lineair programmeren. Op de universiteit gebruikten wij vroeger LinPro voor complexe optimalisaties.
Eddy E op 09/09/2013 07:53:14:
En uiteraard volgend jaar wéér half opnieuw beginnen omdat er andere/nieuwe klassen zijn met andere leerkrachten en werktijdfactoren van leerkrachten.
Wij gebruiken al een systeem dat door mij geschreven is voor het beheer van de leerlingen en klassen, het enige dat dit jaar toegevoegd wordt zijn de lokalen.
Ward van der Put op 09/09/2013 08:34:34:
Je kunt het oplossen met lineair programmeren. Alle bekenden (x = 3) en alle voorwaarden (2 < y < 5) werk je uit in een matrix. Je idee om een array te gebruiken was dus juist. Daarmee kun je namelijk rekenen.
Je kunt zelfs een optimale oplossing vinden als je formaliseert wat "goed" en wat "slecht" is in termen van kosten. Bijvoorbeeld "het optimale rooster is het rooster waarbij kinderen zo min mogelijk hoeven oversteken".
Ik denk alleen dat PHP verre van ideaal is voor lineair programmeren. Op de universiteit gebruikten wij vroeger LinPro voor complexe optimalisaties.
Je kunt zelfs een optimale oplossing vinden als je formaliseert wat "goed" en wat "slecht" is in termen van kosten. Bijvoorbeeld "het optimale rooster is het rooster waarbij kinderen zo min mogelijk hoeven oversteken".
Ik denk alleen dat PHP verre van ideaal is voor lineair programmeren. Op de universiteit gebruikten wij vroeger LinPro voor complexe optimalisaties.
ken je dat eens verklaren?
ik dacht aan deze array vormen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$leerkrachten = array(
'ned' => array('1', '7', '3'),
'fra' => array('2', '4', '7')
//vak als key en de leerkrachten die dat vak geven in een array
);
$lokalen = array(
'15' => array('ict' => '2', 'les' => '8'),
'50' => array('les' => '3', 'bio' => '4')
//aantal plaatsen als key en in de array het doel en het id van de klas
);
?>
$leerkrachten = array(
'ned' => array('1', '7', '3'),
'fra' => array('2', '4', '7')
//vak als key en de leerkrachten die dat vak geven in een array
);
$lokalen = array(
'15' => array('ict' => '2', 'les' => '8'),
'50' => array('les' => '3', 'bio' => '4')
//aantal plaatsen als key en in de array het doel en het id van de klas
);
?>
Hoe zou jij dat doen?
Ik wil eerst zelf eens proberen (omdat dat meteen op onze database kan worden gezet) en als het niet's wordt tegen nieuwjaar dan probeer ik een programma. De reden dat ik het zelf wil doen is zodat het dan met 1 database gaat en dat ik dus niet moet exporteren en importeren (als het niet anders gaat gaat het niet)
http://comjnl.oxfordjournals.org/content/8/4/331.full.pdf
het bevat meerdere floatcharts
is dit misschien iets voor je: het bevat meerdere floatcharts
Eddy E op 09/09/2013 07:24:57:
Er zijn wel logaritmen om dit uit te rekenen.
Ik neem aan dat je algoritmen bedoeld? XD
@OP: probeer eerst eens een gastenboek te maken, een rooster is ontzettend ingewikkeld om te maken waar grote bedrijven jaren mee bezig zijn. Als je het toch wilt doorzetten kun je het beste linear programmeren gebruiken inderdaad. Zorg eerst dat je alle eisen hebt, en probeer dan iets te vinden wat past. Als je google'd naar Dijkstra Algoritme zou je ver moeten kunnen komen
Gewijzigd op 09/09/2013 20:26:21 door NOLot -
Voor magister hoef je niets te importeren en exporteren. Sterker nog volgens mij zorgen zij ervoor dat het goed aansluit op het systeem van de school. Overigens gebruiken veel onderwijs instellingen dit systeem. Voor Hogescholen en Universitaire instellingen heb je dan weer Blackboard en dat soort omgevingen ook wel het Elektronish Leer Omgeving genoemd. En ik denk dat het meer van deze tijd is dan een leraar dit te laten programmeren.
Reshad F op 09/09/2013 20:52:07:
Voor magister hoef je niets te importeren en exporteren. Sterker nog volgens mij zorgen zij ervoor dat het goed aansluit op het systeem van de school. Overigens gebruiken veel onderwijs instellingen dit systeem. Voor Hogescholen en Universitaire instellingen heb je dan weer Blackboard en dat soort omgevingen ook wel het Elektronish Leer Omgeving genoemd. En ik denk dat het meer van deze tijd is dan een leraar dit te laten programmeren.
Wederom, hier ben ik het ook mee eens. Plus je kan veel meer met magister beginnen dan alleen roosters.