Hoe doe ik een onderzoeksproject Peter de Waal Gebaseerd op materiaal van o.a. Marjan van den Akker, Peter de Waal, Roland Geraerts
1
Dit verhaal
! Eerst een paar (overbodige?) opmerkingen over
samenwerking in een groep ! Hoe doe ik een onderzoeksproject: ! Vraagstelling (Vandaag) ! Plan ! Onderzoek doen ! Verwerken van gegevens ! Rapportage
2
Eerst dit!
! Samenwerken in een groep: ! Verantwoordelijkheid naar elkaar! • Niet uitvallen – Dus: Zeker weten dat je meedoet, tijd hebt, etc., of anders tijd maken of dit vak in een andere periode doen • Niet meeliften • Bereikbaar en beschikbaar zijn • Evenredige bijdrage leveren • Op tijd werken ! Verantwoordelijkheid over het geheel!
! Zorg voor een goede planning
3
Dit project
! Oefenen met aspecten van onderzoeksproject, bijv: ! Onderzoeksvraag ! Statistisch verantwoorde manier van verwerken gegevens ! Geen of weinig oefening met sommige andere
aspecten van informaticaonderzoek, bijv.:
! Weinig programmeerwerk nodig voor project ! Weinig of geen “creatief” informaticaonderzoek, zoals
ontwerp mooie games, ontwerp knappe algoritmen
4
Lopend voorbeeld
! Sorteren
Wat is een goed sorteeralgoritme?
5
Onderzoeksvraag en -plan
1.
6
Onderzoeksvraag: ! Op welke vraag moeten de resultaten van mijn onderzoek een antwoord geven? ! Verschillende onderzoeksvragen zijn mogelijk ! Bedenk zelf een goede! ! Beperk je maar maak het niet te saai!
Onderzoeksvraag Sorteeralgoritmen
! “Wat is een goed sorteeralgoritme?”: te vaag! ! Wat bedoelen we met goed? ! ... Discussie ...
7
Onderzoek sorteeralgoritmen
! Welke sorteeralgoritmen? ! Wat voor soort inputs? ! Variatie in formaat ! Variatie in manier waarop ze gemaakt zijn: • Random • Bijna gesorteerd (gesorteerd en dan een paar verstoringen) • ...
! Wat gaan we meten? ! Looptijd van algoritme? ! Aantal vergelijkingen ! Aantal databewegingen??
8
Onderzoeksvraag en –plan (2)
2. Probleemomschrijving !
Welk probleem gaan we onderzoeken? Leg dit in detail uit.
3. Scope en aannames ! !
We kijken alleen naar graph drawing in het platte vak De brommers van de pizza-koerier hebben genoeg laadruimte.
4. Wat ga je precies meten en hoe ga je dat
doen:
! !
9
Minstens 3 criteria, meer mag ook Meten met computerprogramma of door test met proefpersonen
Onderzoeksmethoden, introductie
Onderzoeksvraag en –plan (3) 5. Test data ! Wat zijn onze testdata en waar komen deze vandaan? ! ! ! ! !
Van een internet-library Uit een bestaand artikel Zelf genereerd Random of specifiek Hoe groot?
6. Scenarios: !
10
Welke instellingen, varianten van het algoritme gaan we testen?
Onderzoeksmethoden, introductie
Onderzoeksvraag en –plan (4)
! Inleveren: ! Rapport met Onderzoeksvraag en –plan 16 feb
23:59u ! Behandel alle 6 bovengenoemde punten ! 3 à 4 pagina’s A4 op 11 pt ! In PDF ! Start filenaam met teamnaam ! Inleveren via SUBMIT
11
Onderzoeksmethoden, introductie
Tussenresultaten (1)
! Programma is nu geimplementeerd ! Eerste testresultaten zijn bekend ! Je kunt nu een plan maken voor de experimenten in je
eindrapport.
12
Onderzoeksmethoden, introductie
Tussenresultaten (2)
1. Eerste test resulaten. Geef deze begrijpelijk weer door: ! Tabellen ! Grafieken ! Uitleg en toelichting
13
Onderzoeksmethoden, introductie
Tussenresultaten (3) ! Denk aan: ! Vergelijkingen:
• Parameterinstelling 1 levert lagere looptijd parameterinstelling 2 ! Relaties:
• Er is een correlatie tussen het aantal klanten dat pizza’s besteld en de looptijd van het algoritme
14
Onderzoeksmethoden, introductie
Tussenresultaten (4)
2. Plan voor experimenten: ! Welke varianten ! Voor welke testdata ! Wat gaan we hierbij meten en rapporteren
! Tussenpresentatie (10 mrt) ! Tussenresultaten ! Vervolg
15
Onderzoeksmethoden, introductie
Eindresultaten (1)
1. Weergave van eindresultaten: ! Tabellen ! Grafieken ! Toelichting
2. Hypotheses en uitwerking statistische tests ! Welke veronderstellingen gaan testen we. Dit is
een verdere uitwerking van de onderzoeksvraag. ! Minimaal 4 echt verschillende, meer mag ook ! Statistische test mogen worden uitgevoerd met Excel 3. Discussie en conclusie
16
Onderzoeksmethoden, introductie
Eindresultaten (2)
! Eindverslag ! Presentatie (21 april) • Korte samenvatting onderzoeksplan • Eindresultaten ! Eindrapport (18 april, 23:59)
• • • • • •
17
Op zichzelf leesbaar paper Inleiding Onderzoeksbeschrijving (voorheen onderzoeksplan) Met onderdelen 1, 2, en 3 van vorige slide. Inleveren PDF via SUBMIT Filenaam begint met teamnaam
Onderzoeksmethoden, introductie
Fouten in data verzamelen (1)
! Probleem: Fouten in vergaren van raw data: ! Oorzaken: ! Niet-geautomatiseerd proces ! Te kleine precisie voor opgeslagen data ! Statistics verkeerd berekend ! Alleen gedeelte van algoritme is meegerekend ! Het executie-gedeelte is niet echt gescheiden van de rest (I/O, visualisatie,…)
18
Fouten in data verzamelen (2)
! Probleem: Fouten in tijdsmetingen: ! Oorzaken: ! Inaccuracy van timer • C++: niet time.h gebruiken! • Stuur timer niet vanuit een method aan, zeker niet als onderdelen minder dan 1 ms computing time vergen ! Interference van netwerk/IO/CPU/GPU processen
! Oplossing: ! Gebruik accurate timer: • C++ QueryPerformanceCounter(…) • C++11: std::chrono::high_resolution_clock ! Neem gemiddelde van meerdere runs, ook bij determin. algoritmen ! Meet alleen algoritme: netwerk/viruskiller/facebook/email/… uit
19