Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

[C#] Educatief leerprogramma

Pagina: 1
Acties:

  • WaterAlligator
  • Registratie: april 2015
  • Laatst online: 16-08-2015
Beste

Misschien allereerst even voorstellen. Mijn naam is Thomas, een 21 jarige ICT student. Ik bezoek Tweakers enkele malen per dag om mezelf op de hoogte te houden van het laatste nieuws in de ICT wereld. Ik heb echter nooit echt de moeite genomen mezelf te registreren omdat ik van mening was dat ik niet echt de nodige kennis had om mezelf nuttig te maken op dit forum. Uiteraard, als ik bij deze mening blijf, zal ik nooit kunnen bijleren.

Nu over naar mijn "probleem":

Voor een project op school moeten we een educatief programma maken voor leerlingen op de basisschool waarbij ze 3 vakken kunnen leren. Wat voor soort programma dit is, maakt in principe niet veel uit, zolang het maar een WPF applicatie is.

Zo kwam ik bij het idee een relatief simpele quiz applicatie te maken, waarbij de leerling 1 van de 3 studiegebieden aanduid, en vervolgens hierover 10 multiple choice vragen moet oplossen.

In de eerste instantie zat ik te denken om de vragen gewoon in het programma zelf te schrijven, en door middel van if else statements bepalen of het antwoord juist is of niet. Dit lijkt mij de makkelijkste manier, maar op deze manier kan de leerkracht de vragen zelf niet aanpassen, iets wat me wel wenselijk lijkt.

Zo doende kwam ik bij de optie om een tweedimensionale array te gebruiken. Op deze manier kan de leerkracht zelf wel vragen toevoegen, maar is het voor mij een raadsel hoe ik kan aanduiden welk van de antwoorden juist is.

Uiteindelijk leek het mij de makkelijkste manier om de vragen en antwoorden in een XML bestand te schrijven, en die dan te gebruiken om de quiz te maken. Deze optie heeft als voordeel dat het voor de leerkracht gemakkelijk is om zelf de vragen in de hand te houden.

Nu is mijn vraag: welke van deze manieren kan ik het beste toepassen om dit project tot een succesvol einde te laten komen? Of is er misschien een andere manier die ik over het hoofd heb gezien die misschien nog amateur-vriendelijker is?

  • Yemoke
  • Registratie: mei 2003
  • Laatst online: 24-08 14:24
Eeuhm die XML optie is toch prima? Schermpje in je applicatie om studiegebied toe te voegen met vragen en antwoorden en opslaan in je XML? Valideren met een XSD zodat je altijd een correcte XML houdt, ook als ze buiten je programma in je XML willen rotzooien. Vervolgens gebruik je die XML voor je daadwerkelijke quiz?

Laten we er even vanuit gaan dat de quizers niet de XML gaan lezen en de antwoorden spieken. :P Anders gewoon een serialized object opslaan met je quiz ipv XML gebruiken. Ik zou gewoon gaan met die banaan en het iig flexibel houden en niet hardcoden.

Succes met proggen :)

  • joelluijmes
  • Registratie: juli 2013
  • Laatst online: 27-09 22:16
Nee ik zou niet de vragen hardcoden, een xml bestandje is waarschijnlijk het beste. Zo hou je het dynamisch en zouden de vragen gemakkelijk kunnen worden geupgrade.

Verder zou het ideaal zijn om te gebruiken met wpf omdat je gewoon direct kunt binden naar het bestand. Ik zou niet precies weten hoe je dan een random vraag uit het bestand zou kunnen pakken maar je zou altijd nog een converter kunnen gebruiken die een random vraag pakt.

  • ThomasG
  • Registratie: juni 2006
  • Laatst online: 10:15
Een gemakkelijke manier zou zijn om gewoon de vragenlijst te serializen naar XML. Dat kan in C# out-of-the-box, en het inlezen is een fluitje van een cent. Op Stackoverflow staat een voorbeeld waar ze het o.a. combineren met inheritance zodat je bijvoorbeeld zonder veel moeite verschillende soorten vragen kunt hebben: open vragen, multiple choice, etc.

  • Yemoke
  • Registratie: mei 2003
  • Laatst online: 24-08 14:24
Wow dat is inderdaad mooie manier ThomasG :)

Hier geen C# progger, had dat nooit zo simpel opgelost denk ik, echt wel mooie oplossing.

[Voor 57% gewijzigd door Yemoke op 18-04-2015 20:40]


  • WaterAlligator
  • Registratie: april 2015
  • Laatst online: 16-08-2015
Bedankt voor het meedenken allemaal. Gezien ik nog in mijn eerste jaar zit en we de leerstof over xml of serializen dit jaar nog niet behandelen, zal ik me hierover nog even moeten inlezen.

Ik heb dat voorbeeld van je even bekeken, en ik denk dat ik daar zeker verder mee kan. Ik ga hier vanavond even mee aan de slag. Ik hou jullie op de hoogte, gezien ik verwacht dat ik jullie hulp nog wel enkele keren nodig zal hebben!

  • Lethalis
  • Registratie: april 2002
  • Niet online
Serializen in C# is echt een fluitje van een cent. Zeker als je zelf de XML in de hand hebt.

Even a broken clock is right twice a day.


  • HansvDr
  • Registratie: augustus 2009
  • Niet online
Wat je ook kan doen is een access database erbij gebruiken waar je je vragen en antwoorden inzet.

  • jip_86
  • Registratie: juli 2004
  • Laatst online: 28-09 11:14
WaterAlligator schreef op zaterdag 18 april 2015 @ 20:59:
Bedankt voor het meedenken allemaal. Gezien ik nog in mijn eerste jaar zit en we de leerstof over xml of serializen dit jaar nog niet behandelen, zal ik me hierover nog even moeten inlezen.

Ik heb dat voorbeeld van je even bekeken, en ik denk dat ik daar zeker verder mee kan. Ik ga hier vanavond even mee aan de slag. Ik hou jullie op de hoogte, gezien ik verwacht dat ik jullie hulp nog wel enkele keren nodig zal hebben!
Als je het nog niet gehad hebt kan het vaak ook een aanwijzing zijn dat je XML nog niet moet gebruiken bij deze opdracht. Heb je wel databases gehad? In principe maakt het niet zo veel uit, alleen lees je het dan uit een database ipv XML.

  • Lethalis
  • Registratie: april 2002
  • Niet online
Je zou eventueel ook een sqlite database kunnen gebruiken trouwens. Dit in verband met eventuele ACID eisen aan het programma :P

Even a broken clock is right twice a day.

Pagina: 1


Apple iPhone SE (2020) Microsoft Xbox Series X LG CX Google Pixel 4a CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True