Modern programmeeronderwijs $ a.exe Tik een rij getallen en sluit af met een 0: > Het grootste getal is: 12
Differentieren in voorkennis
Wat is “modern”? nWaar het afnemende veld om vraagt? nWat de studenten ervan verwachten? nWat we zelf belangrijk vinden? C++ Java C# PHP Ruby Haskell Pascal
Taal, tools, en technieken... nCompiler? nGeintegreerde ontwikkelomgeving? nUser-interface builder? nFramework wizard? nDebugger?
Wat hoort er bij? nProgrammeertaal (alle constructies?) nAlgoritmen? nLibraries? nTheoretische achtergronden? Moet het ook “leuk”zijn?
Groepsproject nAan het begin van de studie: motivatie, orienterend nAan het eind van de studie: integratie, evaluerend nTijdens de studie: groepswerk-vaardigheden of individuele programmeervaardigheden?
Feedback (Nakijken van ingeleverd werk) nPlagiaatcontrole? nAlleen werking? Of ook kwaliteit van de code? (en wat is dat dan?) nAutomatisch of door docent? nTheorietentamen of praktisch werk?
Dilemma’s: nWat is modern? Taalkeuze... Leuk? nTaal + tools + technieken... Welke? nTaal / Algoritmen / Libraries / Theorie nGroepswerk? Wanneer? nFeedback: wat en hoe? Discussie – Presentatie - Evaluatie
Utrechtse Practicumopgaven n0n2n0n2 n1n3n1n3
Theretische achtergronden...in een praktische context nFoutmeldingen uvariabele niet gedeclareerd upuntkomma vergeten u... nWaarschuwingen uunreachable code ustatement has no effect uwhile-statement doesn’t terminate deze waarschuwing is theoretisch onmogelijk!
Het Halting-problem is onoplosbaar bool stopt (string filenaam) {.... } void gemeen (string filenaam) { while ( stopt(filenaam) ) x++; } Ha! En dit dan? Nietes! Deze methode lost het op: stopt( "Gemeen.cs" ) wat komt er dan uit: ?
Het Halting-problem is onoplosbaar void gemeen (string filenaam) { while ( stopt(filenaam) ) x++; } stopt( "Gemeen.cs" ) Twee mogelijkheden: n“Gemeen” stopt wel n“Gemeen” stopt niet...dus stopt levert true op...dus gemeen bijft hangen!...dus stopt levert false op...dus gemeen stopt direct! tegenspraak! dus stopt kan helemaal niet bestaan
Eerste jaar Gametechnologie ntweede kwartaal: Gametechnologie introductie-project umaak een retro-game met nieuwe technologie
Retro-games GTA - Woerden 3D Zeeslag - voice control Megaman - webcam gesture control Lemmings - network multiplayer
En de "gewone” informatica? nInformatica introductieproject