Göm meny
Gäller för: HT22

Algoritmrapport 2

Till algoritmrapport 2 ska ni bryta ut ett antal funktioner från existerande kod och skriva en kortare rapport om detta. Två filer lämnas in, rapporten (som PDF), och er pythonfil.

Inlämning

Två filer ska lämnas in via Lisam, rapporten och er kod. Rapporten lämnas in som PDF och koden som en vanlig textfil.

Ni kommer få en av bedömningarna komplettering, 1 poäng, 2 poäng eller 3 poäng på algoritmrapporten.

  • Om man får 1 eller 2 poäng vid första inlämningen får man lämna in en komplettering om man vill försöka få högre bedömning. Ta kontakt med den lärare som rättat er rapport så att hen kan låsa upp er inlämning i Lisam (genom att markera den för komplettering).
  • Om man får komplettering vid första inlämningen är det den första godkända bedömningen som gäller. Dvs. om ni vill ha 2 eller 3 poäng, se till att det ni skickar in som komplettering uppfyller kraven för detta.

Utbrytningsuppgift

OBS: Ej samma kod som för Algoritmseminarium 2.

Ladda ner ovanstående filer (samma som från Algoritmseminarium 2). I PDF:en är de kodavsnitt som är tillgängliga för utbrytning markerade. Varje utbrytning innebär att ni ska definiera en funktion utanför funktionen flipflop_layout() som gör det den utbrutna koden gör.

  • Namnge era utbrutna funktioner med eftertanke. För att skilja på variabelnamn och funktionsnamn ska era funktionsnamn vara verb.
  • Skriv en funktionskommentar (docstring) till varje utbruten funktion enligt PEP257.
  • Ersätt relevant kod i orginalkoden med anrop till er definierade funktion

Er fil med era utbrytningar ska gå att köra, och funktionen flipflop_layout ska ge samma resultat som innan ni bröt ur er kod.

Utbrytning för övningens skull

Eftersom vi gör denna övning i just övningssyfte struntar vi i om det faktiskt blir färre rader kod. Målet är att öva på att bryta ut funktioner i första hand och att göra koden mer läsbar i andra hand.

Det det finns också självklart andra möjligheter att bryta ut kod från exemplet än de kodavsnitt än de som är angivna i PDF:en med olika för och nackdelar. För rapporten är det endast de angivna kodavsnitten som ni har möjlighet att bryta ut.

Rapporten

Algoritmrapporten lämnas i som pargrupp. Följande information ska finnas med i början av rapporten:

  • Era namn, er pargrupp, kurskod och datum
  • Namnet på uppgiften (t.ex. Algoritmrapport 1)
  • Vilken nivå som ni satsar på (1, 2 eller 3 poäng).

Komplettering ges på inlämningen om något av ovanstående saknas.

Skriv ett avsnitt i rapporten för varje kodavsnitt ni brytit ut. Varje sådant avsnitt ska innehålla följande:

  • Funktionsnamn och kodavsnittsnummer: namnet på den funktion som ni definierat och nummret på kodavsnittet som är utbrutet. Ni ska inte beskriva vad funktionen gör. Ni ska endast diskutera nedanstående.
  • Reflektion kring den utbrutna funktionen
    • namngivning: Ange minst ett annat alternativ som hade passat. Diskutera för- och nackdelar med det namn ni till slut valde och de alternativ som ni tar upp.
    • argument och returvärden: Hade ni olika alternativ? I så fall, varför valde ni det ni valde?

Om någon av ovanstående saknas för en utbrytning

Poäng

Om en funktion som bryts ut ersätter fler än ett markerat kodavsnitt räknas det forfarande som en funktion.

OBS! I verkligheten är det inte nödvändigtvis bättre att bryta ut fler funktioner än att bryta ut färre funktioner. Denna uppgift handlar dock framförallt om hur vi gör för att bryta ut funktioner.

För alla nivåer gäller att:

  • De utbrutna funktionernas namn måste spegla det funktionen gör.
  • Funktionskommentar enligt PEP257 ska finnas för alla utbrutna funktioner. OBS! Det går inte att blint kopiera eventuella kommentarer i den existerande koden. Dessa är inte skrivna för att fungera som funktionskommentarer.
  • Koden ska fungera.

Om något av ovanstående inte är uppfyllt för en utbruten funktion så kommer den utbrytningen inte att räknas (se nedan).

För de olika nivåerna gäller:

  • 1 poäng: Bryt ut 3 funktioner.
  • 2 poäng: Bryt ut 4 funktioner.
  • 3 poäng: Bryt ut 5 funktioner.

Skulle det vara så att ni brytit ut 5 funktioner men att kraven endast är uppfyllda för 3 funktioner får ni få 1 poäng på rapporten, med en chans att skicka in en komplettering för att uppgradera rapporten. Skicka ett e-post till er assistent och be om att er inlämning markeras för komplettering så att ni kan lämna in igen i Lisam.


Sidansvarig: Jody Foo
Senast uppdaterad: 2021-10-19