Visa version
Visa
< föregående
|
nästa >
Jämför
< föregående
|
nästa >
Övningar
För att klara kursen behöver man få godkänt på minst 50% av hemtalen. Hemtalen redovisas på övningstillfällen därför närvaro på övningarna är viktigt.
Instruktioner för redovisning av hemuppgifter
- Maila in övningsuppgifterna till övningsledaren (dicander@gmail.com) före övningen om inte annat har sagts på tidigare övning. Bifoga då kod som java-filer. (Ej word-dokument eller liknande) Se till att det framgår vad du heter i mailet (använd gärna kth-mailen) och . Kommetera gärna in ditt namn även i koden
(Det är viktigt att texten "[oop16]" inklusive klamrar finnas i topic (ämnesraden) när du skickar dina hemuppgifter till Marcus) - Övningar måste mailas in före klockan 21.30 dagen före övning
- För att få uppgiften registrerad är det även obligatorisk närvaro. Om du har svårt att närvara tillräckligt mycket kan vi komma överens om en individuell lösning. Observera att det inte är närvarokrav för att bli godkänd på "restövningarna"
- Du måste även vara beredd att redovisa din lösning inför klassen under övningen
- Om du blir plötsligt sjuk och inte kan närvara kompletterar du med restuppgifterna.
- Ditt resultat kommer registreras i rapp inom en vecka
Checklista för inlämningsuppgifter
Helhet
- Har du följt hederskodexen?
Formalia / assistentvänlighet
- Är filerna i rätt format (Är filformatet ,java ,pdf)?
- Framgår det ur texten vilken uppgift som lösts?
- Består svaren av kompletta meningar och inte bara stödord?
- Presenteras diagram och tabeller med minst en mening text?
- Finns storhet och enhet samt rubriker i diagram, tabeller och redovisade resultat?
Kod
- Är koden skriven med kodlayout och inte bara löpande text?
- Är all kod korrekt indenterad? (inte bara copy-pastead in i ett word-dokument)
- Inleds alla metoder med en dokumentationskommentar som förklarar vad metoden gör?
- Är namnen på variabler, metoder och klasser valda för att göra koden lättare att förstå?
- Är programmet fritt från onödig kodupprepning?
Struktur
- Är programmet indelat i lagom många, lagom stora klasser och metoder?
- Verkar klasserna och metoderna lätta att återanvända?
- Verkar klasserna och metoderna lätta att testa isolerat?
- Pratar olika delar av programmet med varandra genom väldefinierade interface?
Matematik / datalogi
- Går det att följa tankegången?
- Är varje steg motiverat med bevis eller referens till tidigare kända satser?
Restövningar
Om du missat övningar under kursen finns det några du kan komplettera med nedan. Maila in eventuella kompletteringar till övningsledaren senast 2 veckor efter sista övningen. År 2016 innebär denna deadline 2016-03-17 kl 12:00 dvs exakt två veckor efter att sista övningen avslutats. Två av uppgifterna räknas som två eftersom den är lite mer omfattande. Man kan komplettera både för att uppnå 50% eller 75%. Kompletteringsuppgifterna behöver inte redovisas muntligt.
Uppgift från övningshäftet | Uppgiftslydelse | Vikt |
Uppgift 45: | Skriv ett program som läser en fil och ersätter alla priser på formen ”xx kr” eller ”xx.xx kr” med motsvarande moderna form ”SEK xx” respektive ”SEK xx.xx”. | Ersätter en missad övningsuppgift |
Uppgift 49: | Givet ett binärt träd skriv metoder, ev i en subbklass till det binära trädet, som
|
Ersätter två missade övningsuppgifter |
Uppgift 52: | Antag att vi inte är intresserade av att sortera, utan endast av att finna den k:te nyckeln i storleksordning. Visa hur man kan skriva om quicksort för att lösa problemet. | Ersätter en missad övningsuppgift |
Uppgift 59 | I binärsökning delas vektorn i två delar och sökningen fortsätter i den del där elementet kan finnas. Skriv en sökmetod där vektorn delas i tre delar. | Ersätter en missad övningsuppgift |
Labyrintuppgift |
Ladda ner och utöka Labyrintprogrammet från exemplkoden, se övning 6 så att följande funktioner finns med:
|
Ersätter två missade övningsuppgifter |
OBS: Du behöver inte konstruera egna rutiner för quicksort eller binärsökning. Du behöver heller inte skriva ett eget träd. Använd gärna färdig kod som du modifierar för ändamålet. (Se exempelvis föreläsningsanteckningarna för kodexempel. Det binära trädet från övningen finns upplagt på sidan med exempelkod under "Restövningar". Det finns också exempel på https://github.com/dicander/oop De numrerade övningarna ovan finns i övningshäftet.
Översiktstabell över beteckning på rapp och hemtal
Beteckning i Rapp | Hemtal |
H1 | Ö2:uppg 1 |
H2 | Ö2:uppg 2 |
H3 | Ö3:uppg 1 |
H4 | Ö3:uppg 2 |
H5 | Ö4:uppg 1 |
H6 | Ö4:uppg 2 |
H7 | Ö4:uppg 3 |
H8 | Ö5:uppg 1 |
H9 | Ö5:uppg 2 |
H10 | Ö5:uppg 3 |
H11 | Ö6:uppg 1 |
H12 | Ö6:uppg 2 |
H13 | Ö6:uppg 3 |
H14 | Ö7:uppg 1 |
H21 | Övningsuppg 45 motsvarar en missad övningsuppgift |
H22 | Övningsuppg 49 motsvarar två missade övningsuppgifter |
H23 | Övningsuppg 52 motsvarar en missad övningsuppgift |
H24 | Övningsuppg 59 motsvarar en missad övningsuppgift |
H25 | labyrint uppgiften motsvarar två missade övningsuppgifter |