2009-2010
Toegepaste informatica
Stagebegeleider: Dirk Vandycke Stagementor: Sven Vanpoucke
Stage aan de hogeschool Gent
Competence based assessment & peer assessment Nick Van Loocke
Hogeschool West-Vlaanderen | Departement Simon Stevin | Rijselstraat 5 – 8200 Brugge
T 050 38 12 77 | F 050 38 11 71 |
[email protected] | www.howest.be
Woord vooraf Iemand of iets beoordelen kan op verscheidene manieren gebeuren. Er kan gebruik worden gemaakt van cijfers, letters of procenten om een student te beoordelen. Nu wordt echter een nieuw systeem geïntroduceerd, namelijk dat van de competenties. Door studenten te beoordelen op basis van competenties krijgen ze een zicht op wat ze correct deden en waar ze de mist in gegaan zijn, de student leert effectief iets bij.
Graag zou ik hier even de tijd nemen om alle mensen te bedanken die mij geholpen hebben bij het verwezenlijken van de applicaties. Het Hogeschool Gent Team, bestaande uit dhr. Jean-Marie Maes, dhr. Stefaan Vanbillemont, dhr. Sven Vanpoucke en dhr. Michel Panckoucke, waar ik op kon terugvallen bij vragen en moeilijkheden. Aan de Hogeschool West-Vlaanderen kon ik ook steeds terugvallen op mijn stagebegeleider, dhr. Dirk Vandycke. Tot slot wil ik graag iedereen bedanken die mij onrechtstreeks geholpen heeft.
Van Loocke Nick Hogeschool West-Vlaanderen
2|
Samenvatting Mijn opdracht bestond erin twee applicaties in het e-learning platform Chamilo te ontwikkelen.
1. De eerste opdracht kreeg als titel ‘competence based assessment’ en dient als manager voor de tweede applicatie en zo nodig voor toekomstige applicaties. Technisch gezien is het de bedoeling dat ik drie objecten aanmaak met de nodige properties: 1.Competentie 2.Indicator 3.Criteria
2. Als er tijd over zou zijn mocht ik beginnen aan de tweede applicatie, de ‘peer assessment applicatie’, die ik zo ver mogelijk mocht ontwikkelen. De peer assessment zorgt ervoor dat gebruikers elkaar en zichzelf kunnen beoordelen. Dankzij dit systeem wordt ook ondervonden of men zichzelf juist kan inschatten. Bij deze applicatie was het de bedoeling om alle gegevens op één webpagina onder te brengen, teneinde een gebruiksvriendelijk systeem te ontwikkelen. Met alle gegevens worden alle competenties bedoeld met de onderliggende indicatoren die je een criteria score kan geven voor elke gebruiker. Opnieuw zal het voorbeeld in de analyse voor veel duidelijkheid zorgen.
De manager zorgt voor de flexibiliteit en de beoordelingsobjecten. Vervolgens maakt de peer assessment gebruik van deze manager met de nodige aanpassingen specifiek voor deze applicatie.
Verklarende woordenlijst Repository: bibliotheek van herbruikbare objecten. IDE: staat voor Integrated Development Environment. Dit is een software ontwikkelingssysteem zoals Eclipse. Push: de nieuwste wijzigingen in de lokale repository doorsturen naar de online repository. Pull: laatste versie van de online repository ophalen. Commit: persoonlijke wijzingen opslaan in de lokale repository. Update: laatste gepullde versie in het systeem laden. MySQL: is een open source relationele databankmanagement systeem. PHP: is een programmeertaal, Hypertext PreProcessor. Deze taal wordt vaak gebruikt tesamen met MySQL voor internettoepassingen.
Inhoudsopgave Woord vooraf..................................................................................2 Samenvatting.................................................................................3 Verklarende woordenlijst...................................................................4 1 Inleiding....................................................................................8 1.1 Opleiding...............................................................................8 1.2 Stageplaats............................................................................9 1.2.1 Historiek en samenstelling.............................................................9 1.2.2 Digitaal leren...........................................................................10
1.3 Opdracht.............................................................................12 2 Chamilo....................................................................................14 2.1 2.2 2.3 2.4
Wat is Chamilo?......................................................................14 LCMS..................................................................................15 Open source..........................................................................16 Community...........................................................................16
2.4.1 Chamilo training days.................................................................17 2.4.2 Friday sesssion..........................................................................17
3 Tools.......................................................................................18 3.1 WAMP..................................................................................18 3.2 Eclipse................................................................................19 3.3 Mercurial.............................................................................19 4 Vooronderzoek...........................................................................21 4.1.1 Algemeen................................................................................21 4.1.2 Chamilo 2.0.............................................................................21 4.1.3 Dokeos 1.8.6.1..........................................................................23 4.1.4 De concurrentie........................................................................24
5 Implementatie............................................................................25 5.1 Inleiding..............................................................................25 5.2 Applicatie 1: Competence based assessment...................................25 5.3 Applicatie 2: Peer assessment.....................................................30 5.4 Problemen............................................................................34 6 Analyse....................................................................................35 6.1 Applicatie 1: Competence based assessment...................................35 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.1.6
Intro......................................................................................35 Flexibiliteit..............................................................................35 Voorbeeld................................................................................36 MoSCoW..................................................................................37 Use cases................................................................................38 Databankschema.......................................................................39
6.2 Applicatie 1: Peer assessment.....................................................40 6.2.1 6.2.2 6.2.3 6.2.4
Intro......................................................................................40 Flexibiliteit..............................................................................40 Voorbeeld................................................................................41 MoSCoW..................................................................................42
6.2.5 Use cases................................................................................43 6.2.6 Databankschema.......................................................................44
7 Conclusie..................................................................................45 8 Kritische zelfreflectie...................................................................46 9 Code.......................................................................................47 9.1 Peer assessment data manager...................................................47 9.2 Peer assessment manager..........................................................49 9.3 Browser (component)...............................................................50 9.4 Peer assessment form..............................................................53 9.5 CBA data manager...................................................................55 9.6 CBA manager.........................................................................56 9.7 Browser (component)...............................................................57 9.8 Competence form...................................................................59 10 Bronnen..................................................................................61 10.1 Chamilo.............................................................................61 10.2 Competentie, indicator en criteria info........................................61 10.3 Peer assessment...................................................................62
Van Loocke Nick Hogeschool West-Vlaanderen
6|
1 Inleiding 1.1 Opleiding Ik koos voor de richting Toegepaste informatica aan de Hogeschool West-Vlaanderen. Daar kreeg ik niet alleen inzicht in de werking van computersystemen, ik leerde er ook analyseren, ontwerpen en programmeren zodanig ik later efficiënte langetermijnoplossingen kon aanreiken. De 5 hoofd pijlers binnen deze bachelor: ✔ Computer- en communicatiesystemen ✔ Informatiemanagement ✔ Softwareontwikkeling ✔ ICT-management ✔ Webontwikkeling Binnen deze pijlers leerde ik hoe een computer en een computernetwerk functioneren en hoe je deze kan beheren en configureren. Ik leerde er informatiesystemen ontwikkelen, databanken aanmaken en beheren, programmeren op één computeren en/of op verschillende computers die met elkaar moeten samenwerken, webapplicaties ontwikkelen, enzovoort . Als sluitstuk van de opleiding moet elke student een stage lopen binnen een ICTbedrijf. Tijdens de stage moet de student in teamverband een project uitwerken.
Van Loocke Nick Hogeschool West-Vlaanderen
7|
1.2 Stageplaats Als stageplaats koos ik voor de Hogeschool Gent waar ik moest meewerken aan de ontwikkeling van het e-learning platform Chamilo.
1.2.1
Historiek en samenstelling
Fusies De Hogeschool Gent is het resultaat van twee fusieoperaties, waarbij in totaal vijftien hogescholen waren betrokken. De eerste fusie was in 1995, toen dertien hogescholen samengingen om de Hogeschool Gent te vormen. Vijf behoorden tot de Stad Gent, acht tot het Gemeenschapsonderwijs. De meeste bevonden zich in Gent, maar ook een Aalsterse instelling en een departement van een Brusselse hogeschool traden toe. Ook de vestigingen in Aalst, Brugge en Ronse werden opgenomen. Deze fusie was het directe gevolg van het hogescholendecreet van 1994. De tweede fusie vond plaats in 2001 tussen Hogeschool Gent en Mercator, de hogeschool van de provincie Oost-Vlaanderen. Sinds het academiejaar 2001-2002 telt de Hogeschool dus dertien departementen en een zevende campus in Gent, met name de site van de vroegere Mercatorhogeschool. Vlaamse Autonome Hogeschool Hogescholen die het fusieresultaat zijn van officiële instellingen, dit wil zeggen van de Vlaamse Gemeenschap, steden of provincies, worden VAH of Vlaamse Autonome Hogeschool genoemd. De Hogeschool Gent is één van de vijf VAH’s. De andere zijn de Hogeschool West-Vlaanderen, de Hogeschool Limburg, de Hogeschool Antwerpen en de Erasmushogeschool van Brussel. Hoewel de principes dezelfde zijn, verschilt de bestuursstructuur van de VAH’s enigszins ten opzichte van de andere hogescholen. De VAH’s kregen trouwens een ‘sui generis’-statuut mee: hoewel ze regelmatig onderling overleg plegen, behoren zij tot geen enkel klassiek onderwijsnet meer.
Van Loocke Nick Hogeschool West-Vlaanderen
8|
Associaties In Vlaanderen werd ervoor geopteerd om de Verklaring van Bologna en de hervormingen die eruit voortvloeien (bv. bruggen, credits, bachelor- en masterstructuur) te implementeren middels associaties, samenwerkingsverbanden tussen universiteiten en hogescholen. In Vlaanderen werden vijf associaties opgericht, telkens bestaande uit één universiteit (Gent, Brussel, Antwerpen, Leuven en Limburg) met één of meer hogescholen. De Hogeschool Gent koos voor een associatie met de Universiteit Gent. Multisectoraal Gezien haar samenstelling, is de Hogeschool Gent ook een multisectorale instelling. Zij verenigt in zich de meest uiteenlopende soorten hoger onderwijs, gaande van industriële wetenschappen over de verzorgende sector tot kunstopleidingen. Bestuur Het bestuur wordt waargenomen door de Raad van Bestuur, het Bestuurscollege, de Algemeen Directeur en de departementsraden. Personeel In 2008 werkten er aan de Hogeschool Gent gemiddeld 1997 personeelsleden, van wie 65,4 % voltijds. De verdeling tussen mannen en vrouwen is relatief gelijk met 52 % vrouwen en 48 % mannen.
1.2.2
Digitaal leren
Op Hogeschool Gent koos men bewust om het gebruik van de Elektronische LeerOmgeving (ELO) waar zinvol te koppelen aan nieuwe onderwijsvormen en dit systeem te promoten. Digitaal Leren is een belangrijk onderdeel van Onderwijsontwikkeling en –innovatie. Bij de keuze van de ontwikkeldoelen in de elektronische leeromgeving houden we onder andere rekening met de didactische meerwaarde van die ontwikkelingen. Voorbeelden daarvan zijn: de uitbreiding van de groepsfunctionaliteiten, de introductie van een WIKI en RSS. Een WIKI kan worden ingezet bij kennisopbouw in diverse projecten en bij peersamenwerking. Gebruikers aan de hogeschool kunnen RSS gebruiken om op de hoogte te blijven van nieuwe items in de leeromgeving. Zo hoeven ze niet eerst in de elektronische leeromgeving in te loggen om te kijken of er iets nieuws is. Van Loocke Nick Hogeschool West-Vlaanderen
9|
Digitaal Leren omvat meer dan alleen een elektronische leeromgeving en ondersteunt diverse aspecten van e-leren. Behalve de ELO-servers en de toetsomgeving Edumatic, kunt u via Digitaal Leren ook beschikken over streaming mogelijkheden voor audio en videobestanden.
Van Loocke Nick Hogeschool West-Vlaanderen
10 |
1.3 Opdracht Mijn opdracht bestond uit het ontwikkelen van een volwaardig competentie gebaseerde beoordelingsmodule. Deze zou dan dienen als manager voor de volgende module, de peer assessment module. Als voorbeeld kon ik kijken naar de peer assessment plug-in van in de laatste Dokeos (1.8.6.1). De bedoeling was dus dat ik 2 applicaties zou ontwikkelen binnen het Chamilo platform. Bij deze opdracht wordt gebruik gemaakt van competenties, indicatoren en criteria. Daarom werd er nauw samengewerkt met de Cel Onderwijsondersteuning en -ontwikkeling, zodat ik voldoende inzicht kon krijgen in mijn opdracht. Technologieën die tijdens de stage aan bod komen zijn: AJAX, PHP5, OO development, XML, SQL, … . Competenties, indicatoren en criteria Wat is dit nu precies? ✔
Competentie: Is een vaardigheid of een kwaliteit die een gebruiker kan bezitten. Voorbeeld: Gebruiker 1 bezit de vaardigheid 'analyseren' en 'medewerking'.
✔
Indicator: Een competentie kunt u onderverdelen in specifiekere onderdelen. Zo een onderdeel noemt men een indicator. Voorbeeld: Gebruiker 1 bezit de competentie/vaardigheid 'medewerking' met de indicatoren 'initiatief nemen', 'taken verdelen', enzovoort .
✔
Criteria: Iedere indicator moet beoordeeld worden en dit gebeurt aan de hand van criteria. Onder 1 criteria heb je meerdere criteria scores. Daaruit moet u dan een score kiezen die u wilt toekennen aan een indicator.
Hoe werkt deze beoordelingsmanier? Eén competentie kan meerdere indicatoren bezitten en één indicator kan meerdere criteria hebben. Dit is de competentie gebaseerde beoordelingsmodule. Het onderstaand voorbeeld zal meer duidelijk brengen. Bij het schema die te zien is op de volgende pagina wordt duidelijk dat een criterium meerdere scores heeft en daaruit moet een keuze worden gemaakt betreffende de toe te kennen score voor een bepaalde indicator.
Van Loocke Nick Hogeschool West-Vlaanderen
11 |
Let op: bij de peer assessment wordt gebruik gemaakt van de competentie gebaseerde beoordelingsmodule, maar daar wordt niet gekeken naar de criteria die onder de indicator aanwezig is/zijn maar naar de criteria die worden meegegeven op peer assessment niveau. Zo heeft elke indicator binnen de peer assessment dezelfde criteria.
Van Loocke Nick Hogeschool West-Vlaanderen
12 |
2 Chamilo 2.1 Wat is Chamilo? Chamilo is een nieuw project dat volledig opteert voor een open source beleid. Het wil bijdragen tot de ontwikkeling van het beste platform voor samenwerking en eleren in de open source wereld. Er wordt een vzw opgericht waarin alle partijen een rol kunnen spelen. Die vzw wordt verantwoordelijk voor het beleid, inclusief het vastleggen en uitbrengen van releases. De naam Chamilo wordt door de vzw voor heel Europa gedeponeerd. Commerciële bedrijven zijn uiteraard welkom in de vzw, maar de beslissingsmacht ligt niet langer in de handen van één bedrijf, of zoals het geval was met Dokeos, zelfs één persoon. Versies Bij de eerste release van Chamilo worden er 2 versies uitgebracht: ✔ Chamilo 1.8.6.2 ✔ Chamilo 2.0 De eerste, Chamilo 1.8.6.2, bouwt logisch verder op de Dokeos releases, maar geeft wel een volledig pakket aan mogelijkheden ten opzichte van de gratis versie van Dokeos. Hiermee wordt ook duidelijk dat Chamilo de opvolger wordt van Dokeos. De tweede, Chamilo 2.0, is een volledig nieuw pakket gebouwd rond een repository van herbruikbare objecten waarop een aantal toepassingen draaien. Kenmerken ✔ Snelle ontwikkeling van educatieve materialen ✔ Gemakkelijk te installeren bij aanbieders van webhosting ✔ Opvolging van resultaten ✔ Aantrekkelijke interface met een focus op leren ✔ Synchrone en asynchrone communicatiemogelijkheden ✔ Rijk aanbod aan tools voor elke leercontext (visueel, auditief, ... ) ✔ Uitgebreide mogelijkheden van documentmanagement Van Loocke Nick Hogeschool West-Vlaanderen
13 |
Licentie Chamilo wordt verdeeld onder de GNU/GPLv2 licentie.
2.2 LCMS Chamilo is een volwaardig Learning Content Management System (LCMS). De term Content Management System (CMS) is bekend daar deze zeer veel wordt gebruikt bij websites. CMS zorgt ervoor dat de gebruiker van een website de content volledig zelf kan aanpassen. Zoals je kan zien lijkt de term LCMS heel goed op CMS maar het enige verschil is dat in een LCMS specifiek de leerinhoud wordt beheerd. De lesstof in een LCMS bestaat meestal uit meerdere leerobjecten (bijvoorbeeld: tekst, afbeeldingen, simulaties, video, geluid, toetsvragen) die op een webpagina kunnen worden afgespeeld. Vaak kan een cursist inloggen in het LCMS en hierin het lesmateriaal bekijken dat de onderwijsontwikkelaars hebben aangemaakt.
In een LCMS maakt een onderwijsontwikkelaar steeds kleine stukjes lesstof aan die kunnen worden hergebruikt door andere lesontwikkelaars in het LCMS. Van Loocke Nick Hogeschool West-Vlaanderen
14 |
Een herbruikbaar leerobject (RLO) is de kleinste bouwsteen van een cursus. In de afbeelding hierboven zijn de bouwstenen weergegeven als kleine gekleurde blokjes. Om het grote aantal leerobjecten gemakkelijk terug te kunnen vinden worden er veel extra gegevens (metadata) aan een leerobject toegevoegd. In die situatie kan het LCMS ook gezien worden als grote database (repository) van leerobjecten. In de praktijk valt het hergebruik van de leerobjecten vaak tegen omdat de leerobjecten niet gemakkelijk terug te vinden zijn of te specifiek zijn om te kunnen worden hergebruikt.
2.3 Open source Open source beschrijft de praktijk die in productie en ontwikkeling vrije toegang geeft tot de bronmaterialen (de source) van het eindproduct. Open source software is software waarvan de broncode gepubliceerd is en vrij beschikbaar is voor het publiek, waardoor iedereen het vrij kan kopiëren, aanpassen en her verspreiden zonder kosten aan auteursrechten en toeslagen. De ontwikkeling van openbroncode gebeurt door gemeenschappelijke samenwerking van zowel individuele programmeurs als grote bedrijven.
2.4 Community De Chamilo community bestaat uit zeer veel verschillende nationaliteiten. Iedereen binnen de community moet met elkaar kunnen samenwerken en dus zeker met elkaar kunnen communiceren. Daarom werd gekozen voor het Engels als voertaal. Iedere developer uit de community moet kunnen werken aan hetzelfde platform en dankzij het mercurial systeem werd dit heel goed mogelijk gemaakt. Dit systeem zorgt er voor dat een developer zijn aangepaste code kan pushen naar het centrale platform. Als deze developer een melding krijgt dat de code vanop het central platform reeds aangepast werd, moet de developer eerst pullen en daarna pushen. Meer uitleg hierover zie je bij Tools – Mercurial. Het samenwerken met meerdere mensen aan een platform is ontzettend leerrijk. Het leren communiceren met elkaar, de juiste manier van programmeren toepassen, bugs oplossen, enzovoort is een nieuwe uitdaging.
Van Loocke Nick Hogeschool West-Vlaanderen
15 |
2.4.1
Chamilo training days
De eerste week van de stage kreeg ik met een twingtigtal andere developers een opleidingsperiode in verband met het Chamilo platform. In deze periode herhaalden we de programmeertaal PHP en leerden alle nodige tools te installeren om te kunnen werken met het Chamilo platform. Tijdens de laatste dagen van deze opleidingsperiode leerden we werken met object geörienteerde PHP, waarna we zelf een testapplicatie mochten ontwikkelen voor het platform.
2.4.2
Friday sesssion
Tijdens het verloop van de stage werden er testsessies ingelast. Tijdens zo’n sessie, die altijd op een vrijdagmiddag viel, werden er geplande applicaties en applicatie onderdelen getest. De bedoeling was dat iedereen op het IRC channel zou komen teneinde een vlotte communicatie te garanderen. Tijdens het testen werd nagegaan of alles correct werkte en werden bugs, features, ... gemeld op een support website voor Chamilo. Dankzij deze website kreeg iedereen uit de community te zien welke bugs, features, ... nog opgelost moeten worden zodat het Chamilo systeem correcter zou werken.
Van Loocke Nick Hogeschool West-Vlaanderen
16 |
3 Tools 3.1 WAMP Is een combinatie van de vier onderstaande softwarepakketten waarop een dynamische server kan draaien. Deze webserver is een lokale server die kan worden geconfigureerd naar eigen wil. Het gebruik van een WAMP server is noodzakelijk om lokaal testen te kunnen uitvoeren van het Chamilo platform. Windows Het te gebruiken besturingssysteem voor de WAMP is windows. Er zijn uiteraard verschillende soorten AMP's, zoals bijvoorbeeld de LAMP waar gebruik gemaakt wordt van het Linux besturingssysteem. Apache Apache is een open source webserver. Dankzij deze webserver kunt u vlot lokaal werken en testen. De voordelen hiervan zijn de stabiliteit en de flexibiliteit van de webserver.
MySQL MySQL is een open source relationele databank management systeem, dat gebruikmaakt van SQL om gegevens in een databank aan te passen, op te vragen, ... . MySQL wordt vaak in combinatie met PHP gebruikt voor internettoepassingen.
PHP PHP is een programmeertaal die over de hele wereld gebruikt wordt om dynamische webpagina's te creëren. Het grote voordeel van deze taal is dat het gratis te gebruiken is.
Van Loocke Nick Hogeschool West-Vlaanderen
17 |
3.2 Eclipse Eclipse is de ontwikkelingsomgeving waar de developers in programmeren. Het is een open source framework, waar in verschillende talen kan worden geprogrammeerd. Bij Chamilo is PHP de hoofdtaal ook al staat Eclipse gekend om zijn gebruik als de IDE voor Java toepassingen.
3.3 Mercurial Chamilo heeft een grote community, daarom is het niet simpel om iedere developer vlot zijn code te laten wijzigen van het platform. We gebruiken hiervoor een versiebeheersysteem. Onderstaande afbeelding geeft een zicht op de werking van het versiebeheersysteem. Elke developer heeft een eigen repository, dus als de developer de code aanpast moet hij/zij eerst committen naar de persoonljke repository. Nadien wordt er gepusht naar de hoofd repository op Google code. Wanneer er code opgehaald moet worden uit de hoofd repository, bent u verplicht om eerst te pullen en alles in uw persoonlijke repository wordt dan geüpdate.
Bij iedere commit moet u een melding meegeven. Deze melding zorgt ervoor dat elke developer snel kan zien wie wat gedaan heeft en bij problemen weet u onmiddelijk wat het probleem is en wie aan de oorzaak ligt.
Van Loocke Nick Hogeschool West-Vlaanderen
18 |
Hieronder ziet u een voorbeeld van een aantal commits naar de hoofd repository. Als u gebruikt wenst te maken van deze hoofd repository, die te vinden is op Google code, moet u een Google account aanmaken om de changeset van Chamilo te bekijken.
Van Loocke Nick Hogeschool West-Vlaanderen
19 |
4 Vooronderzoek 4.1.1
Algemeen
Voordelen competenties Het gebruik van competenties heeft zo zijn voordelen ten opzichte van de andere mogelijke manieren (beoordelen via cijfers, letters, ...). Dankzij competenties en indicatoren krijgt de gebruiker een goed beeld van zichzelf of hij/zij zichzelf goed kan inschatten. Onmiddelijk kan de gebruiker ook zien waar eventuele problemen opduiken.
4.1.2
Chamilo 2.0
Structuur applicaties De structuur van een applicatie is ongeveer gelijk bij iedere applicatie. Natuurlijk zitten er overal wel wat veschillen in, maar de globale opbouw van de applicatie keert vaak terug. Dit vinden we terug bij: ✔ Install De opbouw van de database gebeurt aan de hand van xml-bestanden. De xml-bestanden bevinden zich steeds in een map die ‘Install’ heet. Hieronder ziet u er een voorbeeld van.
Van Loocke Nick Hogeschool West-Vlaanderen
20 |
✔ Applicatie manager Deze manager is verantwoordelijk voor het beheer van de applicatie. De gebruiker maakt een keuze waardoor een bepaalde component binnen de manager geactiveerd wordt. Onder deze map, ‘Applicatie Manager’, bevindt er zich nog een map ‘Component’ genaamd. Hierin zitten alle componenten die de manager kan opstarten zoals, de browser, de creator, de deletor, ... .
Hierboven ziet u een voorbeeld van de applicatie manager, in dit geval de peer assessment manager. ✔ Category manager Met de categorie manager kunt u categoriëen toevoegen, updaten en deleten. U kunt er de cateogorie boomstructuur mee uitbreiden. ✔ Data manager In de data manager vindt u alles terug in verband met de databank. Hierin vindt u functies terug waarmee je nieuwe records aanmaakt, records aanpast, ... . ✔ Forms De forms map zorgt ervoor dat alle formulieren bij elkaar zitten, zodat u eenvoudig weet waar u deze kan aanpassen. Iedere klasse die in deze map
Van Loocke Nick Hogeschool West-Vlaanderen
21 |
zit is een uitbreiding van de Form Validator, die op zich een uitbreiding is van de Quickform klasse. Dit maakt een snelle en dynamische opbouw van het formulier mogelijk. ✔ Tables Hierin zijn er twee klassen die het model van de tabel genereren, namelijk één klasse voor de kolom en de andere voor de rij van een tabel. ✔ Publisher Niet in elke applicatie moet een publisher map aanwezig zijn, maar in de peer assessment applicatie is deze noodzakelijk. Er kunnen nu namelijk peer assessments aangemaakt worden in de repository zonder dat deze ergens anders te zien zijn. U moet daarom eerst de peer assessment publishen zodat deze zichtbaar zijn voor de gebruikers van de peer assessment.
4.1.3
Dokeos 1.8.6.1
Vooraf werd er mij ook meegedeeld dat er reeds een peer assessment applicatie aanwezig is in de laatste Dokeos. Na het bekijken van deze kreeg ik al een idee omtrent de precieze en complexe werking van een peer assessment. Het voorbeeld is te vinden op de Dokeos website van de Hogeschool Gent. Reeds was ik ook al in contact gekomen met het afleggen van een peer assessment, want tijdens een groepsproject op de Hogeschool West-Vlaanderen moest de groep elkaar en zichzelf beoordelen. Dit was eveneens de peer assessment van op het Dokeos platform. Bij deze laatste vond ik het nogal omslachtig dat ik steeds een competentie moest aanklikken vooraleer ik scores kon toekennen. Dit kwam de gebruiksvriendelijkheid niet ten goede. De moeilijkheid van het competentie systeem blijft nu eenmaal bestaan en moet gevat worden vooraleer gestart wordt met het oprichten van een peer assessment.
Van Loocke Nick Hogeschool West-Vlaanderen
22 |
4.1.4
De concurrentie
Het gebruik maken van een e-learning platform is zeer leerrijk en dus zijn er meerdere organisaties die hiervan het nut inzien. Daarom keek ik eens naar een paar concurrenten voor hun verwerking van het peer assessment systeem in hun platform.
In Blackboard 8 zit er eveneens een self en peer assessment applicatie. Deze heb ik ook bekeken maar ik het is zeer verschillend van mijn applicatie. Er zijn bijvoorbeeld enkel maar vragen aanwezig waarop je criteria scores kan geven. Het gehele proces om de self en peer assessment zit redelijk complex in elkaar. Zoals het feit dat u eerst een cursus moet aanmaken met dan een optie die ervoor zorgt dat je deze kan beoordelen.
Eveneens is er in het moodle platform een self en peer assessment applicatie aanwezig. Deze zit weer anders in elkaar dan bij Chamilo of Blackboard. Hier beoordeel je bijvoorbeeld op een max te beoordelen waarde zoals 20 of 100. Dus hier wordt er in het geheel geen gebruik gemaakt van een competentie systeem.
Van Loocke Nick Hogeschool West-Vlaanderen
23 |
5 Implementatie 5.1 Inleiding Na een inleidingsperiode waar we een intro kregen in PHP Object Oriented en in het Chamilo platform, werd het tijd voor het echte werk. De opdracht werd meegedeeld en het analyseren mocht beginnen. Mijn opdracht bestond erin een applicatie te ontwerpen, genaamd competence based assessment. Hiermee kan je met competenties, indicatoren en criteria werken zodat gebruikers ermee kunnen worden beoordeeld. Dankzij een paar gesprekken met een pedagoog werd me al veel duidelijker welke richting deze applicatie uit moest. Mocht deze opdracht met succes afgelegd zijn en mocht er nog tijd over zijn, kon ik beginnen aan de peer assessment applicatie en deze zo ver mogelijk ontwikkelen. Bij de peer assessment is het de bedoeling dat ik gebruik maakte van de competence based assessment applicatie als een manager.
5.2 Applicatie 1: Competence based assessment Mijn eerste opdracht bestond erin om een competentie gebaseerde beoordelingsmanier te ontwikkelen binnen Chamilo. Dit is een applicatie die als manager kan dienen voor andere applicaties zoals de peer assessment.
Geheel
De bovenstaande afbeelding toont een simpel voorbeeld van wat er allemaal precies te vinden is in de competence based assessment applicatie. Van Loocke Nick Hogeschool West-Vlaanderen
24 |
A. Hoofdmenu B. Broodkruimels C. Boomstructuur D. Actiebalk E. Objectentabel
Hoofdmenu Dit is waar alle applicaties die geïnstalleerd zijn terechtkomen. Deze kunt u volledig zelf aanpassen naar persoonlijke normen. Broodkruimels Dit is het spoor die u volgt om tot de huidige webpagina te komen. Dankzij dit kan je snel naar de vorige pagina terugkeren. Boomstructuur ✔ 3 CBA objecten Bij deze applicatie moest ik, zoals in de repository, een boomstructuur menu creëren zodat er categorieën aan elk CBA object konden toevoegd worden. (CBA = Competence Based Assessment) In de competence based assessment heeft u drie verschillende objecten die steeds aan elkaar gekoppeld kunnen worden. 1. Comptentie 2. Indicator 3. Criteria Deze boomstructuur is het belangrijkste van mijn applicatie. Je kan zien hoeveel competenties, indicatoren en criteria in een bepaalde categorie zitten. Verder heb je natuurlijk een knop ‘create’ die ervoor zorgt dat naar een nieuwe webpagina gelinkt wordt. Daar kan je dan een keuze maken welk CBA (Competence Based Assessment) object je wenst aan te maken.
Van Loocke Nick Hogeschool West-Vlaanderen
25 |
✔ Create De properties van een competentie en een indicator zijn zo goed als hetzelfde, maar die van de criteria zijn volledig anders. De criteria kunnen geen onderliggende objecten hebben zoals een competentie en een indicator, maar een criterium moet wel scores kunnen opgeven. Hieronder wordt een voorbeeld gegeven van de properties bij het aanmaken van een competentie.
Zoals u kunt zien moet u altijd een titel, categorie en omschrijving meegeven. Daaronder krijgt u dan ook nog een lijst terug met de reeds gecreërde indicatoren. Deze kan je dan selecteren en ze verschijnen in het rechtervenster, dit gebeurt via javascript. Eenmaal alles ingevuld en geselecteerd is, klik je op ‘create’ en wordt de competentie aangemaakt. Bij een indicator is dit identiek hetzelfde maar de lijst van indicators wordt een lijst van criteria.
Bij de criteria zijn geen onderliggende objecten meer, dus kan niets worden geselecteerd uit een lijst. Wel kan een lijst worden meegegeven met een aantal Van Loocke Nick Hogeschool West-Vlaanderen
26 |
criteriascores, waar het aantal scores zelf kan worden gekozen, met een minimum van 2. Voorbeeld:
Als waarden voor de properties kunt u bijvoorbeeld gebruik maken: ✔ titel: criteria van -1 tot en met 3 ✔ categorie: peer assessment criteria ✔ omschrijving: Deze veel voorkomende criteria wordt vaak gebruikt voor peer assessment ... ✔ criteria: 1. hinder voor de groep| -1 2. geen hulp voor de groep| 0 3. niet zo goed als de rest van de groep| 1 4. gemiddeld van de groep| 2 5. beter dan de rest van de groep| 3 Actiebalk De actiebalk zoekt objecten op via de zoekfunctie, maar er zijn ook links zoals de ‘Add’ knop die ervoor zorgt dat een CBA object onmiddellijk kan worden aangemaakt. Welk CBA object dit is hangt af van welk object geselecteerd werd in de boomstructuur. Er werd ook nog gekozen om de knop ‘Show all’ toe te voegen om alle objecten terug in de tabel te laten verschijnen, na gebruik van de zoekfunctie. Van Loocke Nick Hogeschool West-Vlaanderen
27 |
De link ‘Manage categories’ zorgt ervoor dat categorieën kunnen worden toegevoegd aan de boomstructuur.
Objectentabel Bij de competence based assessment applicatie krijgt u de onderstaande tabel te zien met de competenties van in de root van de boomstructuur. Als dan wordt geklikt op een categorie binnen een CBA object in de boomstructuur, zou een tabel te zien zijn met de objecten die daar in zitten.
Bij elk object binnen de applicatie worden mogelijkheden aangeboden om zaken aan te passen, te verplaatsen naar een andere categorie en te verwijderen.
Van Loocke Nick Hogeschool West-Vlaanderen
28 |
5.3 Applicatie 2: Peer assessment Mijn tweede opdracht bestond erin om een peer assessment applicatie te ontwikkelen zoals in de laatste versie van Dokeos. Het grootste probleem vond ik, bij de huidige versie van Dokeos, dat het nogal complex in elkaar zat. Mijn doelstelling was dus een gebruiksvriendelijkere applicatie te ontwikkelen.
Geheel
De bovenstaande afbeelding toont een simpel voorbeeld van wat er allemaal precies te vinden is in de peer assessment applicatie. A. Hoofdmenu B. Broodkruimels C. Categorie boomstructuur D. Actiebalk E. Objectentabel
Hoofdmenu Dit is waar alle applicaties die geïnstalleerd zijn terechtkomen. Deze kan volledig worden aangepast naar persoonlijke normen en vereisten. Broodkruimels Dit is het spoor dat gevolgd wordt om tot de huidige webpagina te komen. Zo kan Van Loocke Nick Hogeschool West-Vlaanderen
29 |
ook snel worden teruggekeerd naar de vorige pagina. Categorie boomstructuur Dit is niet hetzelfde zoals in de vorige applicatie, want hier krijgt u enkel de categorieën terug. Bij de vorige applicatie krijgt u nog eens de drie CBA objecten en een ‘create’ link terug. Actiebalk De actiebalk heeft als dienst om objecten op te zoeken via de zoekfunctie, maar er zijn ook links zoals de ‘Publish’ knop die ervoor zorgt dat je een peer assessment kan publiceren (publiceren = u kunt kiezen tussen een peer assessment ophalen uit de repository of één volledig zelf aanmaken). U heeft ook opnieuw de knop ‘Show all’ en deze gebruikt u als de zoekfunctie reeds gebruikt werd om alle objecten terug in de tabel te zien. ‘Manage categories’ zorgt ervoor dat u categorieën kan toevoegen aan de categorie boomstructuur.
Objectentabel
Hierboven ziet u dat er meerdere peer assessments in de tabel aanwezig zijn. Iedere peer assessment heeft extra opties die uitgevoerd kunnen worden. Deze zijn: Deze link zorgt ervoor dat u een peer assessment kan afleggen. Met deze link kunt u de persoonlijk behaalde scores bekijken van een peer assessment.
Van Loocke Nick Hogeschool West-Vlaanderen
30 |
Als u gebruik maakt van deze link krijgt u een pop-up venster te zien die vraagt of u zeker bent deze peer assessment te verwijderen. Om de peer assessment te veranderen van naam, van omschrijving, ... maakt u gebruik van de update link. De visibility op hidden zetten doet u via deze link. Het verplaatsen van een peer assessment naar een andere categorie doet u via deze link. De builder zorgt ervoor dat u competenties en indicatoren kan toekennen aan de peer assessment. Dit is een hele belangrijke link. Want dankzij de builder maakt u gebruik van de competence based assessment applicatie, de manager dus.
✔ Take peer assessment
Dankzij bovenstaande afbeelding krijgt u een idee hoe u een peer assessment moet afleggen. Het belangrijkste hierbij is dat alles op één webpagina te zien is, zodat u niet steeds hoeft te klikken van competentie naar competentie. Bovenaan krijgt u de titel en omschrijving te zien van de peer assessment met daaronder alle competenties. Per competentie krijgt u nog eens een tabel met indicatoren en gebruikers die in deze peer assessment aanwezig zijn. Per gebruiker moet u nu een criteria score ingeven via de select box/dropdown box. Links onderaan de pagina ziet u wat de criteria scores betekenen via een legende. Rechts onderaan kunt u deze peer assessment dan opslaan. Van Loocke Nick Hogeschool West-Vlaanderen
31 |
✔ View peer assessment
De bovenstaande afbeelding toont u de persoonlijke score voor alle indicatoren, u krijgt er ook een gemiddelde en gemiddelde na correctie te zien per indicator. Als laatste krijgt u ook een totale persoonlijke score met de peer assessment factor en de peer assessment factor na correctie te zien. ✔ Build peer assessment
Op bovenstaande afbeelding krijgt u de builder te zien, hier ziet u een peer assessment genaamd groepswerk: PHP. Onder de titel en de omschrijving van de peer assessment ziet u een link waar u competenties zal kunnen aanmaken of onmiddelijk koppelen aan deze peer assessment. Daaronder ziet u een boomstructuur van de competenties en indicatoren die reeds aanwezig zijn in de peer assessment. Rechts daarvan krijgt u nog eens een Van Loocke Nick Hogeschool West-Vlaanderen
32 |
tabel te zien welke objecten in de geselecteerde link van in de boomstructuur zitten. Hier staat geen link staan om indicatoren toe te voegen omdat we ons op peer assessment niveau bevinden. Als in de boomstructuur een competentie wordt geselecteerd, krijgt u een tabel met de indicatoren binnen de competentie te zien. Dan krijgt u een link te zien om indicatoren toe te voegen.
5.4 Problemen Tijdens de ontwikkeling wordt sowieso wel eens gebotst op obstakels. Hiervoor wordt dan een oplossing gezocht of een bespreking gehouden met de stagebegeleiders. Op 1 april hadden mijn stagebeleiders van de Hogeschool Gent een vergadering met de Erasmus Hogeschool van Brussel. Hier kwam men tot de conclusie dat ze mij verkeerde informatie hadden doorgegeven betreffende het niveau waarop de competence based assessment applicatie opgebouwd moest worden. Spijtig genoeg was mijn applicatie zo goed als af. Met het oplossen van dit probleem hield dhr. Sven Vanpoucke zich bezig. Hij programmeerde dit snel op het juiste niveau zodat ik verder kon werken aan de volgende applicatie. Het probleem van mijn applicatie was dat het geen aparte applicatie mocht zijn, maar het moest rechtstreeks in de repository aanwezig zijn.
Van Loocke Nick Hogeschool West-Vlaanderen
33 |
6 Analyse 6.1 Applicatie 1: Competence based assessment 6.1.1
Intro
We hebben gekozen voor de beste en flexibelste manier om gebruik te maken van competenties, indicatoren en criteria.
✔ Competentie: evaluatie methode over de bekwaamheid van een gebruiker. ✔ Indicatoren: verschillende factoren van een competentie die je kan beoordelen door een criteria eraan te geven. ✔ Criteria: is de manier waarop een indicator geëvualeerd wordt, de beschrijving van de methode van realisatie. Eenzelfde indicator kan meerdere malen gebruikt worden bij verschillende competenties. Eenzelfde criterium kan voorkomen bij verschillende indicatoren. Dit zorgt voor herbruikbare objecten in het systeem.
6.1.2
Flexibiliteit
Binnen deze flexibele structuur zijn we van plan om alles gescheiden te houden. Eveneens willen we met tags/labels werken, zodat het simpeler wordt om via een zoekfunctie alles op te vragen. Hierbij hadden we in gedachten om gebruik te maken van metadata voor de tags/labels.
Van Loocke Nick Hogeschool West-Vlaanderen
34 |
We willen ervoor zorgen dat de applicatie competence based assessment makkelijk te gebruiken is door de eindgebruiker. Daarom zorgt de administrator voor de nodige instellingen van de competenties, indicatoren en criteria.
Net zoals bij vele andere projecten denken we verder, veel verder. We willen dus een zeer aanpasbaar systeem maken dat zowel in de bedrijfswereld gebruikt kan worden als in scholen.
6.1.3
Voorbeeld
Het voorbeeld zorgt ervoor dat u nu een idee krijgt van wat de manager doet. De voornaamste bedoelingen van deze manager is het koppelen van deze objecten en het hergebruiken van deze objecten. Zoals u kan zien heeft de competentie ‘Realiseren’ momenteel geen enkele indicator, maar deze kan ook makkelijk gekoppeld worden aan de indicatoren ‘Inzicht’ en ‘Medewerking’.
Van Loocke Nick Hogeschool West-Vlaanderen
35 |
6.1.4
MoSCoW
Must (Moet) Boomstructuur creëren van 3 CBA objecten een een create link Per CBA object moet het mogelijk zijn om categorieën aan te maken, te verwijderen en aan te passen Competenties aanmaken, verwijderen, aanpassen Indicatoren aanmaken, verwijderen, aanpassen Criteria aanmaken, verwijderen, aanpassen Indicatoren koppelen aan competenties Criteria koppelen aan indicatoren Alle CBA objecten moeten een move functie hebben
Should (Zeer gewenst) Bij criteria de gebruiker zelf laten kiezen hoeveel scores hij/zij wenst Bij een competentie de mogelijkheid voorzien om meerdere indicatoren aan de competentie toe te voegen Bij een indicator de mogelijkheid voorzien om meerdere criteria aan de indicator toe te voegen
Could (Als er tijd genoeg is) Er voor zorgen dat u meerdere CBA objecten terzelfder tijd kan verwijderen of verplaatsen
Van Loocke Nick Hogeschool West-Vlaanderen
36 |
Would (Kan in de toekomst interessant zijn) Mogelijkheid om een extra CBA object toe te voegen
6.1.5
Use cases
Auteur: Nick Van Loocke
Datum: 30/05/2010
Prioriteit: Hoog
Actoren: Administrator
Beschrijving: Het aanmaken van een criteria Versie: 1
Laatste aanpassingen op: 30/05/2010
Precondities: Geen
Primair pad: 1. De administrator klikt op de create link in de boomstructuur. 2. Vervolgens kiest de administrator om een criteria object aan te maken. 3. De administrator vult de nodige properties in zoals: titel, omschrijving, categorie, lijst van criteria scores.
Alternatief pad:
Postcondities: Geen
Van Loocke Nick Hogeschool West-Vlaanderen
37 |
Auteur: Nick Van Loocke
Datum: 30/05/2010
Prioriteit: Hoog
Actoren: Administrator
Beschrijving: Het verwijderen van meerdere indicatoren Versie: 1
Laatste aanpassingen op: 30/05/2010
Precondities: Meedere indicatoren moeten reeds aangemaakt zijn
Primair pad: Alternatief pad: 1. De administrator kiest in de boomstructuur voor een categorie binnen het CBA object, indicator 2. Vervolgens krijgt u een tabel te zien met meerdere indicatoren daar krijgt u links in de tabel voor iedere indicator een checkbox te zien u vinkt daarvan meedere aan 3. Linksonderaan de tabel kiest u uit de select box de optie verwijderen 4. De administrator klikt op de Ok knop 5. Hij krijgt een pop up scherm te zien met de melding bent u zeker dat u dit wenst te verwijderen 6. De administrator kiest opnieuw voor Ok
Postcondities: Geen
Van Loocke Nick Hogeschool West-Vlaanderen
38 |
6.1.6
Databankschema
Van Loocke Nick Hogeschool West-Vlaanderen
39 |
6.2 Applicatie 1: Peer assessment 6.2.1
Intro
De peer assessment maakt gebruik van de competentie gebaseerde beoordelingsmanier applicatie om aan de competenties en indicatoren te kunnen. Bij een peer assessment is het heel belangrijk dat er 1 criterium aanwezig is en niet meerdere, want anders kunnen de scores niet correct berekend worden. Daarom kijkt de peer assessment niet naar de onderliggende criteria van de indicatoren. De oplossing is dat er een extra propertie wordt voorzien op peer assessment niveau waar u één criterium kan selecteren voor alle indicatoren. De scores worden berekend door de formule van Professor F. Dochy.
6.2.2
Flexibiliteit
De bedoeling binnen deze applicatie is dat u gebruik maakt van de manager, de competence based assessment applicatie. Dankzij de flexibiliteit daarvan komt de peer assessment tot stand.
Van Loocke Nick Hogeschool West-Vlaanderen
40 |
6.2.3
Voorbeeld
Dankzij bovenstaand voorbeeld krijgt u een veel beter idee van wat er precies nu allemaal in een peer assessment aanwezig is en hoe de manager er in verwerkt werd. Zoals u kunt zien worden de gebruikers en de criteria meegegeven op peer assessment niveau. Vervolgens doet de manager zijn werk en koppelt u competenties, waar indicatoren inzitten, aan de peer assessment. Dan kunt u per gebruiker een individuele score toekennen.
Van Loocke Nick Hogeschool West-Vlaanderen
41 |
6.2.4
MoSCoW
Must (Moet) Peer assessment aanmaken. Peer assessment publiceren in de peer assessment applicatie. Indicatoren en competenties koppelen aan een peer assessment. Per peer assessment een selectie van gebruikers meegeven. Per peer assessment een begin datum en eind datum meegeven. Het afleggen van een peer assessment. Het bekijken van de resultaten van een peer assessment.
Should (Zeer gewenst) Per peer assessment slecht 1 criteria voor alle indicatoren
Could (Als er tijd genoeg is) Feedback toevoegen aan de criteria scores. De peer assessment enkel en alleen tonen als de gebruiker deze moet kunnen afleggen.
Would (Kan in de toekomst interessant zijn) Extra optie voorzien zodat de administrator kan kijken wie aan wie welke scores heeft gegeven.
Van Loocke Nick Hogeschool West-Vlaanderen
42 |
6.2.5
Use cases
Auteur: Nick Van Loocke
Datum: 30/05/2010
Prioriteit: Hoog
Actoren: Administrator
Beschrijving: Het aanmaken van een peer assessment Versie: 1
Laatste aanpassingen op: 30/05/2010
Precondities: Geen
Primair pad: 1. De administrator kiest voor de publish functie in de peer assessment applicatie 2. Vervolgens vult de administrator de properties in voor deze peer assessment 3. De administrator kiest de nodige competenties met de nodige indicatoren of hij maakt er aan en kiest deze
Alternatief pad:
Postcondities: Geen
Van Loocke Nick Hogeschool West-Vlaanderen
43 |
Auteur: Nick Van Loocke
Datum: 30/05/2010
Prioriteit: Hoog
Actoren: Administrator
Beschrijving: Het afleggen van een peer assessment Versie: 1
Laatste aanpassingen op: 30/05/2010
Precondities: Geen
Primair pad: 1. Een gebruiker kiest een peer assessment 2. Vervolgens krijgt de gebruiker te zien welke indicatoren hij/zij moet beoordelen per gebruiker 3. Eenmaal er scores ingevuld zijn kan de gebruiker deze opslaan
Alternatief pad:
Postcondities: Geen
Van Loocke Nick Hogeschool West-Vlaanderen
44 |
6.2.6
Databankschema
Van Loocke Nick Hogeschool West-Vlaanderen
45 |
7 Conclusie De zenuwen om te beginnen aan de stage waren er zeker en vast, maar eenmaal ik vertrokken was en zeer goed ontvangen werd waren de zenuwen snel omgeslaan naar enthousiasme. Eenmaal begonnen aan de stage had ik al een goed gevoel bij het project. Het Chamilo platform interesseerde mij enorm en ik was zeer verheugd dat ik de mogelijkheid kreeg om hieraan mee te werken. Ondanks het niveau probleem bij mijn eerste applicatie, is de hele stage toch goed verlopen. Het was een zeer leerrijke periode en een goede voorbereiding op het werkleven. Over het geheel van mijn werk ben ik zeker tevreden.
Van Loocke Nick Hogeschool West-Vlaanderen
46 |
8 Kritische zelfreflectie Mijn stageperiode is niet zonder enige obstakels verlopen. Toch ben ik zeker tevreden over wat ik bereikt heb. Het grootste obstakel dat ik tegenkwam, was toen ik te horen kreeg dat mijn stagebegeleiders mij verkeerde informatie hadden doorgegeven in verband met de competence based assessment applicatie. Gelukkig kon dhr. Sven Vanpoucke dit oplossen zodat ik weinig tijd kwijt was en verder kon werken. Het positieve hiervan is dat ik mijn hoofd niet liet hangen en dat ik er toch opnieuw voor ging. Het begin van de stageperiode was niet makkelijk, alles was behoorlijk verwarrend en complex. Tot alles op zijn plaats viel en ik eenmaal vertrokken was. Het was een ontzettend leerrijke periode die me goed klaarstoomde voor de arbeidswereld. Alleen al de ervaring die ik opdeed zoals me inwerken in het Chamilo platform en hieraan mee programmeren, het brainstormen over het competence based assessment applicatie, het communiceren met developers met verschillende nationaliteiten, vergaderingen meemaken, besprekingen en analyseren met een pedagoog meemaken, enzovoort zorgen voor een onmisbare en relevante levenservaring.
Van Loocke Nick Hogeschool West-Vlaanderen
47 |
9 Code 9.1 Peer assessment data manager set_prefix('peer_assessment_'); } // Publish function create_peer_assessment_publication($peer_assessment_publication) { // Create general info $success &= $this->create($peer_assessment_publication); // Create target users $success &= $this->create_peer_assessment_publication_users( $peer_assessment_publication); // Create target groups $success &= $this->create_peer_assessment_publication_groups( $peer_assessment_publication); }
return $success;
Van Loocke Nick Hogeschool West-Vlaanderen
48 |
// Import users in the database for a specific publish private function create_peer_assessment_publication_users ($peer_assessment_publication) { $users = $peer_assessment_publication->get_target_users(); foreach ($users as $index => $user_id) { $peer_assessment_publication_user = new PeerAssessmentPublicationUser(); $peer_assessment_publication_user-> set_peer_assessment_publication ($peer_assessment_publication->get_id()); $peer_assessment_publication_user->set_user($user_id); if (! $peer_assessment_publication_user->create()) { return false; } } } ...
return true;
function retrieve_peer_assessment_publication_result($publication_id, $competence_id, $indicator_id, $user_id, $graded_user_id) { $conditions[] = new EqualityCondition(PeerAssessmentPublicationResults :: PROPERTY_PUBLICATION_ID, $publication_id); $conditions[] = new EqualityCondition(PeerAssessmentPublicationResults :: PROPERTY_COMPETENCE_ID, $competence_id); $conditions[] = new EqualityCondition(PeerAssessmentPublicationResults :: PROPERTY_INDICATOR_ID, $indicator_id); $conditions[] = new EqualityCondition(PeerAssessmentPublicationResults :: PROPERTY_USER_ID, $user_id); $conditions[] = new EqualityCondition(PeerAssessmentPublicationResults :: PROPERTY_GRADED_USER_ID, $graded_user_id); $condition = new AndCondition($conditions); return $this->retrieve_object(PeerAssessmentPublicationResults :: get_table_name(), $condition, array(), PeerAssessmentPublicationResults :: CLASS_NAME); } function retrieve_peer_assessment_publication_results ($condition = null, $offset = null, $max_objects = null, $order_by = null) { return $this->retrieve_objects(PeerAssessmentPublicationResults :: Van Loocke Nick Hogeschool West-Vlaanderen
49 |
get_table_name(), $condition, $offset, $max_objects, $order_by, PeerAssessmentPublicationResults :: CLASS_NAME); } ...
9.2 Peer assessment manager parse_input_from_table(); } /** * Run this peer assessment manager */ function run() { $action = $this->get_action(); $component = null; switch ($action) { case self :: ACTION_BROWSE_PEER_ASSESSMENT_PUBLICATIONS : $component = $this->create_component('Browser'); break; } $component->run(); }
function get_application_name()
Van Loocke Nick Hogeschool West-Vlaanderen
50 |
{
return self :: APPLICATION_NAME;
}
// Data Retrieving function count_peer_assessment_publications($condition) { return PeerAssessmentDataManager :: get_instance()->count_peer_assessment_publications($condition); } function retrieve_peer_assessment_publications($condition = null, $offset = null, $count = null, $order_property = null) { return PeerAssessmentDataManager :: get_instance()->retrieve_peer_assessment_publications($condition, $offset, $count, $order_property); } ... // Url Creation function get_create_peer_assessment_publicatione_url() { return $this->get_url(array(self :: PARAM_ACTION => self :: ACTION_CREATE_PEER_ASSESSMENT_PUBLICATION)); } ... // Publish object function publish_content_object($content_object, $location) { $publication = new PeerAssessmentPublication(); $publication->set_content_object($content_object->get_id()); $publication->set_publisher(Session :: get_user_id()); $publication->set_published(time()); $publication->set_hidden(0); $publication->set_from_date(0); $publication->set_to_date(0); $publication->create(); return Translation :: get('PublicationCreated'); }
9.3 Browser (component)
51 |
'lib/complex_display/peer_assessment/peer_assessment_display.class.ph p'; /** * * @author Nick Van Loocke */ class PeerAssessmentManagerBrowserComponent extends PeerAssessmentManager { private $action_bar; function run() { $trail = new BreadcrumbTrail(); $trail->add(new Breadcrumb($this->get_url(), Translation :: get('PeerAssessment'))); $this->action_bar = $this->get_action_bar(); $menu = $this->get_menu(); $trail->merge($menu->get_breadcrumbs()); $this->display_header($trail, true); echo $this->action_bar->as_html(); echo '
'; echo '
'; echo $menu->render_as_tree(); echo '
'; echo '
'; echo $this->get_table(); echo '
'; echo '
'; $this->display_footer(); } function get_table() { $condition = $this->get_condition(); $table = new PeerAssessmentPublicationBrowserTable($this, array(Application :: PARAM_APPLICATION => PeerAssessmentManager :: APPLICATION_NAME, Application :: PARAM_ACTION => PeerAssessmentManager :: ACTION_BROWSE_PEER_ASSESSMENT_PUBLICATIONS), $condition); return $table->as_html(); } function get_menu() { $current_category = Request :: get('category'); $current_category = $current_category ? $current_category:0; $menu = new PeerAssessmentPublicationCategoryMenu($current_category); return $menu; } function get_action_bar() { $action_bar = new ActionBarRenderer(ActionBarRenderer :: Van Loocke Nick Hogeschool West-Vlaanderen
52 |
TYPE_HORIZONTAL); $action_bar->set_search_url($this->get_url()); $action_bar->add_common_action(new ToolbarItem(Translation :: get('Publish'), Theme :: get_common_image_path() . 'action_publish.png', $this->get_url(array(PeerAssessmentManager :: PARAM_ACTION => PeerAssessmentManager :: ACTION_CREATE_PEER_ASSESSMENT_PUBLICATION)), ToolbarItem :: DISPLAY_ICON_AND_LABEL)); $action_bar->add_common_action(new ToolbarItem(Translation :: get('ShowAll'), Theme :: get_common_image_path() . 'action_browser.png', $this->get_url(array('category' => Request :: get('category'))), ToolbarItem :: DISPLAY_ICON_AND_LABEL)); $action_bar->add_common_action(new ToolbarItem(Translation :: get('ManageCategories'), Theme :: get_common_image_path() . 'action_category.png', $this->get_category_manager_url(), ToolbarItem :: DISPLAY_ICON_AND_LABEL)); }
return $action_bar;
private function get_condition() { $category_id = Request :: get('category'); if($category_id == null) { $category_id = 0; } $conditions[] = new EqualityCondition(PeerAssessmentPublication :: PROPERTY_CATEGORY, $category_id); $query = $this->action_bar->get_query(); if (isset($query) && $query != '') { $or_conditions[] = new PatternMatchCondition(ContentObject :: PROPERTY_TITLE, '*' . $query . '*'); $or_conditions[] = new PatternMatchCondition(ContentObject :: PROPERTY_DESCRIPTION, '*' . $query . '*'); }
}
$conditions[] = new OrCondition($or_conditions);
$condition = new AndCondition($conditions); return $condition;
} ?>
Van Loocke Nick Hogeschool West-Vlaanderen
53 |
9.4 Peer assessment form
PARAM_CATEGORY_ID = 'category'; PARAM_TARGET = 'target_users_and_groups'; PARAM_TARGET_ELEMENTS = 'target_users_and_groups_elements'; PARAM_TARGET_OPTION = 'target_users_and_groups_option'; PARAM_CRITERIA_SCORE = 'criteria_score';
private $content_object; private $publication; private $user; function PeerAssessmentPublicationForm($form_type, $content_object, $user, $action) { parent :: __construct ('peer_assessment_publication_settings', 'post', $action); $this->content_object = $content_object; $this->user = $user; $this->form_type = $form_type; if ($this->form_type == self :: TYPE_EDIT) { $this->build_editing_form(); } elseif ($this->form_type == self :: TYPE_CREATE) { $this->build_creation_form(); } $this->setDefaults(); } function build_basic_form() { $attributes = array(); $attributes['search_url'] = Path :: get(WEB_PATH).'common/xml_feeds/xml_user_group_feed.php'; $locale = array(); $locale['Display'] = Translation :: get('SelectRecipients'); $locale['Searching'] = Translation :: get('Searching'); Van Loocke Nick Hogeschool West-Vlaanderen
54 |
$locale['NoResults'] = Translation :: get('NoResults'); $locale['Error'] = Translation :: get('Error'); $attributes['locale'] = $locale; $attributes['defaults'] = array(); // Select criteria score that is already created $criteria_scores = array(); $criteria_scores[0] = Translation :: get('ChooseCriteria'); $rdm = RepositoryDataManager :: get_instance(); $condition = new EqualityCondition(ContentObject :: PROPERTY_OWNER_ID, Session :: get_user_id()); $objects = $rdm->retrieve_type_content_objects(Criteria :: get_type_name(), $condition); while ($object = $objects->next_result()) { $criteria_scores[] = $object->get_title(); } $select = $this->addElement('select', self :: PARAM_CRITERIA_SCORE, Translation :: get('SelectCriteriaScore'), $criteria_scores); $this->add_receivers(self :: PARAM_TARGET, Translation :: get('PublishFor'), $attributes); $this->add_forever_or_timewindow(); $this->addElement('checkbox', self :: PARAM_HIDDEN, Translation :: get('Hidden')); } function build_editing_form() { $this->build_basic_form(); $buttons[] = $this->createElement('style_submit_button', 'submit', Translation :: get('Update'), array('class' => 'positive publish')); $buttons[] = $this->createElement('style_submit_button', 'publish_and_build', Translation :: get('UpdateAndBuild'), array('class' => 'positive build')); $buttons[] = $this->createElement('style_reset_button', 'reset', Translation :: get('Reset'), array('class' => 'normal empty')); $this->addGroup($buttons, 'buttons', null, ' ', false); } ...
Van Loocke Nick Hogeschool West-Vlaanderen
55 |
9.5 CBA data manager set_prefix('cba_'); } // Competency CRUD, ... function get_next_competency_id() { return $this->get_next_id(Competency :: get_table_name()); } function create_competency($competency) { return $this->create($competency); } function update_competency($competency) { $condition = new EqualityCondition(Competency :: PROPERTY_ID, $competency->get_id()); return $this->update($competency, $condition); }
}
function delete_competency($competency) { $condition = new EqualityCondition(Competency :: PROPERTY_ID, $competency->get_id()); return $this->delete($competency->get_table_name(), $condition); } ...
Van Loocke Nick Hogeschool West-Vlaanderen
56 |
9.6 CBA manager parse_input_from_table(); $this->determine_category_settings(); } /** * Run this cba manager */ function run() { $action = $this->get_action(); $component = null; switch ($action) { case self :: ACTION_EDITOR_COMPETENCY : $component = $this->create_component('CompetencyEditor'); break; case self :: ACTION_EDITOR_INDICATOR : $component = $this->create_component('IndicatorEditor'); break; case self :: ACTION_EDITOR_CRITERIA :
Van Loocke Nick Hogeschool West-Vlaanderen
57 |
$component = $this->create_component('CriteriaEditor'); break; ...
}
} $component->run();
9.7 Browser (component) add(new Breadcrumb($this->get_url(), Translation :: get('CBA'))); $trail->add(new Breadcrumb($this->get_url(), Translation :: get('BrowseCompetency'))); $this->display_header($trail, false, true); $this->action_bar = $this->get_action_bar(); echo '
'; echo $this->action_bar->as_html(); echo '
'; echo $this->get_table(); echo '
'; }
$this->display_footer();
function get_action_bar() { $action_bar = new ActionBarRenderer(ActionBarRenderer :: TYPE_HORIZONTAL); $action_bar->set_search_url($this->get_url()); $action_bar->add_common_action(new ToolbarItem(Translation :: get('Add'), Theme :: get_common_image_path() . 'action_add.png', $this-> get_url(array(Application :: PARAM_ACTION => CbaManager :: ACTION_CREATOR_COMPETENCY)), ToolbarItem :: DISPLAY_ICON_AND_LABEL)); Van Loocke Nick Hogeschool West-Vlaanderen
58 |
$action_bar->add_common_action(new ToolbarItem(Translation :: get('ManageCategories'), Theme :: get_common_image_path() . 'action_category.png', $this->get_url(array(Application :: PARAM_ACTION => CbaManager :: ACTION_MANAGE_CATEGORIES_COMPETENCY)), ToolbarItem :: DISPLAY_ICON_AND_LABEL)); $action_bar->add_common_action(new ToolbarItem(Translation :: get('ShowAll'), Theme :: get_common_image_path() . 'action_browser.png', $this->get_url(array('category' => Request :: get('category'))), ToolbarItem :: DISPLAY_ICON_AND_LABEL)); }
return $action_bar;
function get_table() { $condition = $this->get_condition(); $table = new CompetencyBrowserTable($this, array(Application :: PARAM_APPLICATION => 'cba', Application :: PARAM_ACTION => CbaManager :: ACTION_BROWSE_COMPETENCY), $condition); return $table->as_html(); } private function get_condition() { $conditions[] = new EqualityCondition(Competency :: PROPERTY_STATE, Competency :: STATE_NORMAL); $conditions[] = new EqualityCondition(Competency :: PROPERTY_OWNER_ID, $this->get_user_id()); $conditions[] = new EqualityCondition(Competency :: PROPERTY_PARENT_ID, $this->get_parent_id()); $query = $this->action_bar->get_query(); if (isset($query) && $query != '') { $or_conditions[] = new PatternMatchCondition(ContentObject :: PROPERTY_TITLE, '*' . $query . '*'); $or_conditions[] = new PatternMatchCondition(ContentObject :: PROPERTY_DESCRIPTION, '*' . $query . '*'); $conditions[] = new OrCondition($or_conditions); } $condition = new AndCondition($conditions); return $condition; } private function get_parent_id() { return Request :: get(CbaManager :: PARAM_CATEGORY_ID) ? Request :: get(CbaManager :: PARAM_CATEGORY_ID) : 0; }
Van Loocke Nick Hogeschool West-Vlaanderen
59 |
} ?>
function display_footer() { echo '
function CompetencyForm($form_type, $competency, $competency_indicator, $action, $user) { parent :: __construct('cba_settings', 'post', $action); $this->competency = $competency; $this->competency_indicator = $competency_indicator; $this->user = $user; $this->form_type = $form_type; $this->owner_id = $competency->get_owner_id(); $this->data_manager = CbaDataManager :: get_instance(); if ($this->form_type == self :: TYPE_CREATOR_COMPETENCY) { $this->build_creator_competency_form(); $this->setCompetencyDefaults(); } elseif ($this->form_type == self :: TYPE_EDITOR_COMPETENCY) { $this-> build_editor_competency_form($competency_indicator); $this->setCompetencyDefaults(); Van Loocke Nick Hogeschool West-Vlaanderen
} } //Forms function build_creator_competency_form() { $this->addElement('text', Competency :: PROPERTY_TITLE, Translation :: get('Title')); $this->addRule(Competency :: PROPERTY_TITLE, Translation :: get('ThisFieldIsRequired'), 'required'); $this->categories = array(); $this->categories[0] = Translation :: get('Root'); $this->retrieve_categories_recursive(0, 0); $select = $this->add_select(Competency :: PROPERTY_PARENT_ID, Translation :: get('Category'), $this->categories); $category_id = Request :: get(CbaManager :: PARAM_CATEGORY_ID); $select->setSelected($category_id); $this->addRule(Competency :: PROPERTY_PARENT_ID, Translation :: get('ThisFieldIsRequired'), 'required'); $this->add_html_editor(Competency :: PROPERTY_DESCRIPTION, Translation :: get('Description'), false); $this->addRule(Competency :: PROPERTY_DESCRIPTION, Translation :: get('ThisFieldIsRequired'), 'required'); $attributes = array(); $attributes['search_url'] = Path :: get(WEB_PATH) . 'common/xml_feeds/xml_indicator_feed.php'; $locale = array(); $locale['Display'] = Translation :: get('ShareWith'); $locale['Searching'] = Translation :: get('Searching'); $locale['NoResults'] = Translation :: get('NoResults'); $locale['Error'] = Translation :: get('Error'); $attributes['locale'] = $locale; $attributes['defaults'] = array(); $this->add_indicators(self :: PARAM_TARGET, Translation :: get('AddIndicators'), $attributes); $buttons[] = $this->createElement('style_submit_button', 'submit', Translation :: get('Create'), array('class' => 'positive')); $buttons[] = $this->createElement('style_reset_button', 'reset', Translation :: get('Reset'), array('class' => 'normal empty')); $this->addGroup($buttons, 'buttons', null, ' ', false); }
}...
10.1 Chamilo Algemene chamilo website. http://www.chamilo.org Voorbeeld van chamilo 2.0. http://demo2.chamilo.org Vertaal website, waar iedereen kan meehelpen aan de vertaling van chamilo. http://translate.chamilo.org Website waar je de structuur kan inzien van chamilo (functies, klassen, ...). http://developers.chamilo.org/ Support website waar je een issue (bv. bug) kan posten zodanig de developers weten wat ze nog moeten oplossen. http://support.chamilo.org/ Developers mailing list http://lists.chamilo.org
10.2 Competentie, indicator en criteria info Competenties evalueren via een digitale leeromgeving http://www.digitaledidactiek.nl/wp/?p=1335 Summatief en formatief uitleg http://taaluniversum.org/onderwijs/gemeenschappelijk_europees_referentieka der/9/3/5/ Competenties en indicator voorbeelden + uitleg Van Loocke Nick Hogeschool West-Vlaanderen
http://docs.google.be/competentie_indicator Verschillende type assessments http://docs.google.be/soorten_assessments
10.3 Peer assessment Peer assessment algemeen http://webcache.googleusercontent.com/search?q=cache%3ASV88OXZbYMIJ %3Awww.kuleuven.be%2Fduo%2F_pdf %2Fpeerassessment_def.pdf+peer+assessment&hl=nl&gl=be Peer assessment algemeen http://webcache.googleusercontent.com/search? q=cache:49HVhyZoVxEJ:digitaalleren.hogent.be/archief/elo_augent/docs/sessie 1/sessie_1_verslag.pdf+peer+assessment+in+dokeos+voorbeeld&hl=nl&gl=be Peer assessment in Dokeos http://webcache.googleusercontent.com/search?q=cache:sOuYycldei4J:digitaalleren.hogent.be/archief/gebruikersdag2009/presentaties/sessie_1_peer_assessm ent.pdf+peer+assessment&cd=6&hl=nl&ct=clnk&gl=be&client=firefox-a Uitleg resultaten berekeningen peer assessment http://pointcarre.vub.ac.be/docs/index.php/Peer_Assessment_Berekeningen