Extra opdracht fietsrit

Maak, voordat je start met de extra opdracht, een kopie van strava.py. Noem het nieuwe bestand extra.py. Je moet ze allebei inleveren als je de extra opdracht doet!

Opdracht 5: snelste en langzaamste stukken van de rit

We kunnen de data in meer detail bekijken en gaan twee vragen proberen te beantwoorden die te maken hebben met de uitersten van de rit: het snelste en het langzaamste stuk. Breid de functie FietsritExtra(plot) uit en zorgt dat de informatie die bij vraag 5a en 5b wordt gevraagd ook op het scherm wordt geprint.

Opdracht 5a: de snelste en langzaamste minuut

Loop door de verzamelde data heen en zoek de minuut waarin de grootste en de langzaamste afstand is afgelegd. Hiermee weet je gedurende welke minuut er het respectievelijk het snelst en het langzaamst is gereden. Print deze data op het scherm:

 Per minuut:  snelst  => afstand = x.xx m, gemiddelde snelheid = x.xx m/s
 Per minuut:  traagst => afstand = x.xx m, gemiddelde snelheid = x.xx m/s

Let op: Niet elke tijdsverschil tussen twee metingen is precies een seconde.

Opdracht 5b: de snelste en langzaamste kilometer

Loop door de verzamelde data heen en zoek de kilometer die in het kortste en het langste tijdsinterval is afgelegd. Hiermee weet je gedurende welke kilometer er het respectievelijk het snelst en het langzaamst is gereden. Print deze data op het scherm:

 Per kilometer:  snelst  => tijdsduur = x s, gemiddelde snelheid = x.xx m/s
 Per kilometer:  traagst => tijdsduur = x s, gemiddelde snelheid = x.xx m/s

Let op: Niet elke tijdsverschil tussen twee metingen is precies een seconde.

Opdracht 6: digital epo en het eeuwige kat-en-muisspel

Dit is niet een opdracht waarin je iets moet uitrekenen, maar waarin je alleen na hoeft te denken.

In opdracht 4 hebben we gezien hoe we de data kunnen manipuleren zodat het lijkt of we een enorme berg hebben bedwongen in een polderlandschap. Dat hebben we hier natuurlijk op een ontzettend knullige manier gedaan, maar we hadden het ook op een veel geraffineerde manier kunnen doen. Sterker nog, er bestaat al een website waarop wielrenners hun prestaties digitaal kunnen verbeteren voor ze die uploaden naar hun Strava profiel: http://digitalepo.com.

Schandalig natuurlijk, maar het kan wel. Als we dit fenomeen in iets meer detail bestuderen vanuit dan wordt het interessant voor dit vak omdat het goed laat zien dat programmeren vaak meer is dan ‘gewoon code intikken’. Er komt ook vaak creativiteit en mensenkennis bij kijken.

Laten we eerst eens bedenken hoe we het zelf zouden doen:

- Hoe moet je de file veranderen zodat het lijkt of je 5% sneller bent geweest?

Je hoeft het niet te implementeren in de code (mag wel natuurlijk), maar beschrijf hoe je te werk zou gaan. Het is misshcien niet zo triviaal als het in eerste instantie lijkt. Wat is je algemene strategie en wat zijn de grootste problemen die je ziet opduiken?

Het probleem vanaf de andere kant bekijken is minstens zo interessant:

- Hoe zou je kunnen achterhalen of een file gemanipuleerd is?

Je ziet al snel dat elke hint die je hierboven geeft aan de controleurs je natuurlijk ook als doping zondaar zou kunnen gebruiken om de data op een geraffineerde manier te manipuleren zodat jouw rit moeiteloos de digitale dopingstest doorstaat. Het is het welbekende kat-en-muisspel bij doping in de sport, nu met digitale doping.