Alle studie materiaal ter ondersteuning van de theorie zowel al practica wordt hier verzameld.
Projectverloop
- Toegelaten groepenindeling [PDF] Je mag je partner vrij kiezen, met die beperking dat het afhangt van je resultaten voor "Inleiding Programmeren". Een lijst me de toegelaten groepen zal hier tijdens de *eerste* week gepubliceerd worden.
Tijdens de semester moeten jullie ons op de hoogte houden van de stand van zaken. Daarvoor zijn een aantal formulieren en voorzien. In alle formulieren dienen jullie alle vakjes met een (*) en alle kolommen met een (+) aan te passen.
- Groepen Het project wordt gemaakt in groepjes van 3 of 2. Groepen van 3 worden sterk aangeraden. Tegen de aangegeven datum (zie Tijdsschema) moeten jullie een partner hebben gevonden, en jullie aanmelden voor een van de groepen op Blackboard.
- Tijdsblad 1.0 [ PDF | Excel ] De tijdsbladen voor fase x dienen afgegeven te worden samen met de planning voor fase x + 1. Bijvoorbeeld: bij het indienen van plan 2.0, dien je ook je tijdsblad voor fase 1.0 in.
- Plan 2.0 [PDF | Excel] Bij de tweede projectplanning moeten jullie een heuse keuze maken uit wat jullie al dan niet op het einde zullen opleveren. Die keuze geef je aan door middel van Plan 2.0. Plan 2.0 dient afgegeven te worden de week na de eerste tussentijdse evaluatie.
- Tijdsblad 2.0 [ PDF | Excel ] De tijdsbladen voor fase x dienen afgegeven te worden samen met de planning voor fase x + 1. Bijvoorbeeld: bij het indienen van plan 2.1, dien je ook je tijdsblad voor fase 2.0 in.
- Plan 2.1 [PDF | Excel] Plan 2.1 moet je alleen indienen als je iets wil aanpassen t.o.v. Plan 2.0. Dan moet het afgegeven te worden de week na de tweede tussentijdse evaluatie. Je moet daar (a.h.v. tijdsbladen) ook argumenteren waarom je die planning wil aanpassen.
Theorie
De kopies van de gebruikte transparanten kun je hier vinden. Een papieren versie is bereikbaar via de curusdienst.
- Alles in 1 bundel [ PDF ]
- Kaft [ PDF ]
- Les 1 — Introductie + Betrouwbaarheid
- Les 2 - Aanpasbaarheid
- Les 3 - Planning
Programma code
Verwijzingen naar enkele hulpmiddellen.
- Het google test raamwerk [ gtest-1.7.zip | gtest-1.6.zip ]
Alle voorbeeldcode (zowel voor theorie als practica) kun je hieronder vinden.
- TicTacToe versie 1.0 [ zip ]
("simplest that could possible work" met unit tests en een teller die tot 9 telt)
- TicTacToe versie 1.1 [ zip ]
(Basiversie met spelbord alternerend gevuld met X en O)
- TicTacToe versie 1.2 [ zip ]
(Versie met contracten en een eerste demonstratie)
- TicTacToe versie 1.3 [ zip ]
(Versie waar de "magic numbers" zijn vervangen door constanten)
- TicTacToe versie 1.4 [ zip ]
(Versie waarbij uitvoer wordt gegenereerd op een bestand; ook tests met "CompareFiles")
- TicTacToe versie 1.5 [ zip ]
(Versie waar een speler is afgesplitst als aparte klasse)
- TicTacToe versie 1.6 [ zip ]
(Versie waar spelers een reeks van zetten toegewezen krijgen)
- TicTacToe versie 1.7 [ zip ]
(Versie waarin de informatie over de winnaar wordt bijgehouden en berekend)
- TicTacToe versie 1.8 [ zip ]
(Versie waarin de interface van het spelbord wordt aangepast (reset) om makkelijker te kunnen testen + aanpassing scenarios)
- TicTacToe versie 1.9 [ zip ]
(Versie met een begin van architectuur: filemanipulaties worden afgesplitst in TicTacToeUtils en de tests worden opgesplitst in DomainTests (voor de domeinlaag) en OutputTests (voor de uitvoer))
- TicTacToe versie 2.0 [ zip ]
(Versie met een XML Importer die TinyXML gebruikt om XML files te lezen en een TicTacToeGame in te vullen. Daarom ook aparte InputTests die een reeks XML files verwerken; sommige daarvan hebben fouten en dan worden de foutboodschappen geverifieerd.)
- TicTacToe versie 2.1 [ zip ]
(Versie met een exporter die een TicTacToeGame exporteert in diverse formaten (ASCII, HTML). Daarom ook aparte OutputTests .)
- TicTacToe versie 2.1 [github - https://github.com/sergedemeyer/TicTacToe_Git ]
- (Dezelfde versie 2.1, maar nu gepubliceerd op github. Je kan een fork maken van dit project en zo verder werken]
Practica
Week 1:
Het practicum tijdens de 1ste week behandelt de xml parser (een verplicht te gebruiken component van het project). Alle benodigdheden zijn hieronder te vinden.
Week 2:
Het practicum tijdens de 2de week behandelt unit tests en contracten. Alle benodigdheden zijn hieronder te vinden.