dojo1
Table of Contents
Dojo 1 nybörjardojo En Coding Dojo (relaterade begrepp är CodeKata och Coders Dojo) är en gemensam programmeringsövning. Begreppet är taget från kampsportsvärlden där man övar tillsammans för att kunna observera hur andra gör och lära av varandra. Själva övningen kan vara relativt enkel, inlärningen sker mycket "i sidled" att man ser olika detaljer som olika personer gör olika.
1 Grundläggande regler
Reglerna vi kommer använda är:
- Uppgiften/ämnet för dojon presenteras på förhand via kurssajten.
- Lokalen ges av kursschemat och vi arbetar med gemensam dator via projektor.
- Dojon inleds av läraren som presenterar ämne och uppgift.
- Vi arbetar med två studenter vid den gemensamma datorn i taget. En som skriver och en som säger vad som ska skrivas härnäst.
- Vi skiftar bisittaren ungefär var femte minut.
- Paret ska arbeta på det gemensamma problemet och hela tiden beskriva vad de gör för publiken.
- Alla måste förstå vad som sker, annars stoppar vi tills alla gör det.
- Publiken kan ombedas hjälpa till om paret vill det. Om publiken inte ombeds lyssnar den (inkl läraren)
- Alla (inklusive läraren) måste hålla med om att källkodens kvalité är bra innan man fortsätter arbeta med den. Om inte hjälps man åt gemensamt att förbättra den.
- Utvecklingen sker i korta iterationer, som inleds med att paret får fastställa vad som ska göras härnäst. Paret väljer själv vilken ordning man vill börja arbeta. Bisittaren är den som uttalar beslutet och leder arbetet.
- Läraren kommer stödja om denne anser att gruppen behöver det, annars lyssa och kommentera liksom resterande deltagare.
- Läraren kommer också att bryta in ibland och summera och reflektera över hur arbetet fortlöper.
2 Förberedelse
Läs i kursboken Learning Python. Studera även problemen nedan och se hur du skulle lösa det på egen hand. (Vi hinner vanligtvis inte med alla…) Vi arbetar med följande uppgifter så långt tiden räcker. Observera att syftet med dojo inte är att lösa många och svåra problem. Syftet är gemensam inlärning "i sidled" om hur man löser programmeringsproblem och bäst skriver källkod. Dvs vi studerar gemensamt processen att programmera snarare än resultatet. Den första dojon är en "nybörjardojo". Vi kommer därför att ägna tid även åt att få igång själva omgivningen och hur man arbetar med andra detaljer. Kommer vi inte så långt i uppgifterna spelar det ingen roll! Samma regel som vid källkoden gäller för verktyg: alla ska förstå vad som sker innan vi går vidare i varje moment. Vi ska även ta noga hänsyn till grundläggande läsbarhet, och diskutera t ex variabelnamn, indentering och andra skrivsättsval.
3 Uppgiften
Dojon ska lösa följande uppgift:
- Gör ett program som läser in tre tal och svarar användaren vilket som är störst. Vi ska göra programmet genom att först skriva pseudokod, sen flödesschema för pseudokoden och till sist implementera det i Python. För denna övning är det inte tillåtet att använda fördefinierade funktioner som max(x,y), eftersom vi ska öva på if-satser.
- Gör en kopia av programmet och utvidga det så att det även talar om vilket som är minst.
- Skapa en ny fil. Skapa ett program som läser in två tal från användaren. Talen är en lånsumma och ränta på lånet. Talen skall vara i intervallet 0-100. Om användaren skriver ett tal som inte är i det intervallet skall programmet skriva ut en text som instruerar användaren om vad som gått fel och ger användaren en ny chans att mata in.
- Utöka programmet så att användaren kan göra fel och få hur många chanser som helst att göra korrekt inmatning.
- Utöka programmet så att en tabell ritas ut. På varje rad i tabellen skall den aktuella lånsumman skrivas ut, samt hur stor räntan är. Varje rad ökar lånsumman med räntan som användaren matade in och ni ska mata ut 12 rader. Se exemplet:
__
- 95 15.0
- 109.25 15.0
- 125.6375 15.0
- 144.483125 15.0
- 166.15559375 15.0
- 191.0789328125 15.0
- 219.740772734375 15.0
- 252.70188864453127 15.0
- 290.60717194121094 15.0
- 334.1982477323926 15.0
- 384.3279848922515 15.0
- 441.9771826260892 15.0
_
Fler uppgifter
- Utöka programmet så att det skriver ut nya rader tills ursprungslånet har fördubblats
- Justera kolumnerna så de blir jämna med funktionen "len()" eller med f'str' eller 'str'.format
- Lägg till en kolumn som visar hur stor del av summan är räntan.
- Lägg till ett tabellhuvud