Föreläsning 11 J-uppgiften
Nästa period ägnas åt J-uppgiften. Den är individuell, dvs man jobbar på egen hand med uppgiften (inte tillsammans med labbkompisen). Räkna med minst 40 timmars arbete (mer för en uppgift som ger högre betyg). Obligatoriska moment är spec* och redovisning med granskning*. *Om man blir underkänd på specen eller inte hittar en J-uppgift att granska måste man i stället ha sin J-uppgift dokumenterad i Javadoc vid redovisningen.
Tidsplan 5 dec Välj en J-uppgift. v3 Övning, labbtider för J-uppgiften 17 jan Sista dag för inlämning av spec v4 Återlämning av spec (senast) v 5-8 Labbtider för J-uppgiften 21 feb Sista datum för redovisning.
Betyg För att bli godkänd på kursen måste man klara av de tre momenten LAB1 (inledande arbete med labbar), LAB2 (prov på grunderna) och LAB3 (J-delen). Gradering av betyget på kursen ges enligt följande: 3 = Godkänd J-redovisning med en riktig minnesbild. 4 = Ett "perfekt" program, dvs inga anmärkningar i protokollet. 5 = Kraven för 4 + en extrauppgift med grafik eller avancerad algoritm. 6 = Kraven för 5 + en egen vettig extrauppgift (som godtagits av kursledaren).
Specifikation Specen tvingar dig att planera innan du börjar programmera. Den ska innehålla: –Algoritm –Klasser –Instansvariabler –Metodernas namn, returtyp och parametrar Specen ska vara kompilerbar. Du kan få hjälp med specen under labbtiden.
Specen måste innehålla: Ditt namn, personnummer och epostadress. J-uppgiftens namn och nummer. Punkterna 2, 4 och 5 från programmeringsstrategi. Ett programskelett. Kommentar ovanför/i varje metod (om det inte är självklart utifrån metodnamnet). Allt ska vara i en kompilerbar.java -fil. En minnesbild av programmet ska medföras till specutlämningen.
Algoritm En steg-för-stegbeskrivning av hur problemet löses. Ex. recept, byggbeskrivning på IKEA-möbel. Algoritmen ska vara instruktiv och tillräcklig. Skräckexempel på recept: Eriks goda kakor Ta mjöl, fett och kryddor. Grädda. Ät. Man saknar mängd, arbetsordning, bearbetningsteknik, ugnstemperatur, mm.
Granskning Innan du redovisar ska någon elev (granskare) testköra ditt program och granska koden. Granskaren ska gå igenom ett granskningsprotokoll där brister antecknas. Dessa brister måste åtgärdas före redovisningen. Alla måste granska ett program. Varje J-uppgift måste granskas.
Redovisning Tider för redovisning bokas på kursens hemsida. En handledare provkör programmet, tittar igenom det och ställer frågor. För att förhindra fusk kommer ditt program att jämföras med alla tidigare lösningar. Se avsnittet ”Hederskodex” i kursprogrammet.
Plussning Du kan bättra på ditt betyg genom att förbättra ditt program och/eller göra någon av extrauppgifterna inom ett år från kursstart. Vid behov kan du i samråd med kursledaren utarbeta nya extrauppgifter. Du kan inte göra en helt ny uppgift.
Felsökning av exekveringsfel $ java MittProg Ge ett heltal: Åtta Exception in thread ”main” java.lang.NumberFormat Exception: Åtta at java.lang.Integer.parseInt(Integer.java: 426) at java.lang.Integer.parseInt(Integer.java: 476) at MittProg.läs(MittProg.java:41) at MittProg.main(MittProg.java:25) $ Gå uppifrån och ned med start i din egen kod
Felsökning av logiskt fel Gör en körning med ett enkelt exempel som du kan alla delresultat och svar för. Starta leta på det ställe där du upptäcker att programmet gör fel. Lägg in en utskrift av de variabler som används för att producera det som är fel, även om du ”vet” att de är rätt. Gå bakåt i programmet. Lägg in en utskrift på de variabler som används av variablerna ovan osv. Tillslut hittar du stället där felet uppkommer.