0.1 Eksamenskartet — slik testes IN1000
Eksamensformen (én avsluttende 4-timers eksamen, ingen midtveis), den faste 5-oppgave-strukturen, temafrekvensene, sjangerkatalogen A–I og lesestrategien som styrer hele boka.
Fire timer. Fem oppgaver. Ett sett — og så er karakteren avgjort.
IN1000 er et av de mest forutsigbare emnene du kommer til å ta. Oppgavesettet ser nesten likt ut fra år til år: de samme fem oppgavetypene, i den samme rekkefølgen, med den samme poengfordelingen. Det som skifter, er innpakningen — det ene året handler den store oppgaven om et hotell, det neste om en strømmetjeneste. Selve programmeringsøvelsen under er den samme.
Dette kapitlet er kartet. Her får du vite nøyaktig hvordan eksamen ser ut, hvor poengene ligger, hvilke temaer som kommer igjen hvert eneste år, og hvordan du bør bruke tida di. Alt annet i boka henger på det du leser her.
Les denne boksen først — den forklarer de få kodene og forkortelsene boka bruker, slik at ingenting senere kommer kaldt.
Karakteren. IN1000 vurderes med bokstavkarakter fra A (best) til F
(stryk). Det finnes bare én eksamen som teller: en fire timers skriftlig eksamen på slutten av semesteret, verdt 100 poeng. Det er ingen midtveiseksamen som teller på karakteren. C er en god og vanlig karakter — den er selve tyngdepunktet i karakterfordelingen, og målet for de fleste. Denne boka er skrevet for å løfte deg trygt gjennom, ikke for å jage plettfrihet.
Sjangerkoder A–I. Boka bruker ni bokstaver som kortnavn på de ni
oppgavetypene som faktisk går igjen. Bokstaven er bare et kortnavn — den skrives alltid ut i klartekst der den brukes:
- A — kodeforståelse: «hva skriver dette programmet ut?»
- B — flervalg om objekter: hvilke navn peker på hva, og hva skjer da?
- C — skriv en liten funksjon som jobber på en liste
- D — skriv en funksjon som jobber på en ordbok (en oppslagstabell)
- E — skriv en funksjon som jobber på en tekststreng
- F — den store oppgaven: bygg flere samarbeidende klasser fra en beskrivelse
- G — skriv en funksjon over en nøstet struktur (lister inni lister)
- H — les fra brukeren i terminalen til svaret er gyldig
- I — finn feilen i et program, og gi et konkret eksempel som viser den
Hele kortet med oppskrift, vekt og vanligste feil per sjanger står i
«Sjangerkortet» nederst i kapitlet.
Feilkoder #1–#16. Boka har et register over de seksten feilene som koster
studenter flest poeng. Når du ser «(#3 — heltall forvekslet med streng)», er det en henvisning til det registeret, som står samlet nederst her og gjentas i hvert kapittel der feilen er aktuell. Du trenger aldri å pugge numrene.
Python-konstruksjoner. Hver eneste Python-konstruksjon boka bruker, blir
forklart der den først dukker opp, og samlet igjen i en «API- og konstruksjonsliste» sist i hvert kapittel. Du trenger ingen forkunnskaper i programmering for å begynne på kapittel 1.1.
Forkunnskaper — sist du var her
Dette er bokas første kapittel, og det kan leses uten forkunnskaper. Du trenger verken å ha programmert før eller å kunne noe Python for å få utbytte av kartet.
Har du aldri skrevet en linje kode, kan du gjerne bla gjennom
Programmering med Python eller
Programmering med Python først — begge er myke innganger på et lavere nivå enn IN1000, og de tar en time hver. Men det er ikke nødvendig:
kap. 1.1 begynner helt fra bunnen.
Løkke 1 — Eksamensformen (~6 min)
Du sitter på et eksamenslokale med en PC som kjører Inspera, UiOs digitale eksamenssystem. Du har fire timer. Du har med deg alt du har skrevet ut og skrevet ned selv — men ingen maskin å kjøre koden på.
Det siste er det viktigste å ta innover seg: du kan ikke teste koden din.
Alt du skriver, må være riktig i hodet ditt før det treffer skjermen. Derfor er kodesporing — å kjøre et program mekanisk i hodet — en så tung ferdighet i denne boka.
UiOs digitale eksamenssystem. Du svarer direkte i nettleseren: noen felt er avkryssing (flervalg), noen er små tekstfelt der du skriver et svar, og noen er store felt der du skriver kode som fritekst.
To praktiske detaljer det er verdt å vite på forhånd. Du kan veksle språk
øverst på siden mellom bokmål, nynorsk og engelsk — hele settet finnes i alle tre. Og du kan svare på oppgavene i hvilken rekkefølge du vil; systemet holder styr på hva du har fylt ut.
I IN1000 betyr «hjelpemiddelfri» noe mer sjenerøst enn ordet antyder: alle trykte og skrevne hjelpemidler er tillatt, men ingen elektroniske.
Du kan altså ta med læreboka, utskrifter, egne notater og et håndskrevet ark med kodemønstre. Det du ikke har, er en Python-tolker, søkemotor eller dokumentasjon på nett. Konsekvensen er praktisk: lag deg et notatark med de mønstrene du vet du blir treg på, og øv på å skrive kode uten å kjøre den.
Eksamenssettet er verdt 100 poeng, og de 100 poengene er hele karakteren i emnet. Til forskjell fra nabofagene IN1900 og IN1010 har IN1000 ingen midtveiseksamen som teller.
Det du må ha i orden på forhånd, er de obligatoriske innleveringene: de må være godkjent for at du skal få gå opp til eksamen, men de gir ingen poeng på karakteren.
Poengene per oppgave er trykt i settet, og de er den beste veiledningen du får:
poengfordelingen er vektingen. En deloppgave til 12 poeng skal ha tolv
poengs innsats, en til 2 poeng skal ikke ha det.
Settet er på 100 poeng og eksamen varer 240 minutter. Hvor mye tid «koster» ett poeng, og hvor mye tid bør den store klassemodelleringsoppgaven (Oppgave 4, om lag 48 poeng) få?
Regn det enkleste regnestykket først: 240 minutter delt på 100 poeng er
2,4 minutter per poeng.
Oppgave 4 er om lag 48 poeng. Etter den rene forholdsregningen skal den ha
48 ganger 2,4 minutter, altså 115 minutter — nesten to timer av de fire.
Men du skal ikke bruke hele tida på å produsere: du trenger tid til å lese settet i starten og til å lese gjennom svarene til slutt. Et realistisk budsjett ser derfor slik ut:
| Post | Tid |
|---|---|
| Lese hele settet før du begynner | 10 min |
| Oppgave 1 og 2 (skallet, cirka 17 poeng) | 35 min |
| Oppgave 3 (små funksjoner, cirka 28 poeng) | 55 min |
| Oppgave 4 (klassemodellering, cirka 48 poeng) | 100 min |
| Oppgave 5 (nøstede strukturer, cirka 9 poeng) | 25 min |
| Kontroll og opprydding | 15 min |
| Sum | 240 min |
Legg merke til at Oppgave 4 får litt mindre enn de 115 minuttene forholdsregningen ga. Det er med vilje: de første poengene i en oppgave er alltid billigere enn de siste, og Oppgave 1 og 3 gir raske poeng du ikke har råd til å la stå.
(Refleksjonsoppgave — planlegging.) Du har 240 minutter på eksamen, og du vet at skallet (Oppgave 1 og 2) er verdt cirka 17 poeng til sammen.
a) Hvor mange poeng per minutt er skallet verdt hvis du bruker 35 minutter på det?
b) Er det en god eller dårlig avkastning sammenlignet med gjennomsnittet for hele settet?
c) Nevn én grunn til at du likevel ikke bør bruke mer enn cirka 35 minutter der.
Løkke 2 — De fem oppgavene (~8 min)
Eksamenssettet har vært bygget over den samme malen siden 2018. Fem oppgaver, i denne rekkefølgen, med denne vektingen:
| Oppgave | Hva du gjør | Poeng | Andel |
|---|---|---|---|
| 1 | Leser små programmer og skriver hva de skriver ut | cirka 8 | cirka 8 % |
| 2 | Krysser av på flervalg om objekter og referanser | 8–9 | cirka 9 % |
| 3 | Skriver tre til fem små funksjoner | 27–31 | cirka 28 % |
| 4 | Bygger en hel liten modell av samarbeidende klasser | 47–50 | cirka 48 % |
| 5 | Skriver to funksjoner over nøstede strukturer | 9–10 | cirka 9 % |
To tall er verdt å feste seg ved. Oppgave 4 alene er nesten halve eksamen. Og til sammen er Oppgave 3, 4 og 5 — der du selv skriver kode — cirka 83 % av poengene. Skallet du krysser av og fyller ut i starten, er cirka 17 %.
Det betyr ikke at skallet er uviktig. Det betyr at boka bruker Del 6 på den store modelleringen, og at du bør gjøre det samme.
Fem til sju små deloppgaver der du får noen linjer Python og skal skrive
nøyaktig hva programmet skriver ut, eller hvilken verdi en variabel har til
slutt. Dette er sjanger A. Til sammen cirka 8 poeng, 1–3 poeng per deloppgave.
I de nyere settene rettes denne oppgaven automatisk: en maskin sammenligner det du skrev, med fasitverdien. Da må svaret være eksakt — riktig type og ingen pynt. Skriver du 18.0 der svaret er heltallet 18, eller setter anførselstegn rundt en tekst som ikke har dem i utskriften, blir det galt selv om du tenkte riktig.
Drillen for denne sjangeren er kap. 4.1.
En felles kodesnutt med to klasser, og deretter tre til fire flervalgsspørsmål om den: hva skriver dette ut, hvilke påstander er sanne, hva peker på hva? Dette er sjanger B. Til sammen 8–9 poeng.
Temaene er alltid de samme fire: referanser (at to navn kan peke på det samme objektet), self (hvordan et objekt husker sine egne data),
scope (hvilke variabler som er synlige hvor) og grensesnitt (hva som er
en klasses offentlige ansikt utad).
Ett råd som er verdt poeng hvert år: kryss alltid av. Blankt og galt gir samme uttelling, nemlig null. Et kvalifisert gjett er derfor alltid bedre enn tomt felt.
Drillen for denne sjangeren er kap. 5.5.
Tre til fem korte funksjoner du skriver selv, hver på fire til åtte poeng, til sammen 27–31 poeng. Dette er sjangrene C, D og E: en funksjon over en liste, en over en ordbok og som regel en over en tekststreng.
Oppgavene er små og velavgrensede — «tell hvor mange», «finn den som har flest»,
«bygg en ny liste med bare noen av elementene», «lag en oppslagstabell fra denne lista». De samme fem–seks løsningsmønstrene dekker dem alle, og de drilles i
kap. 3.4.
Den store oppgaven: 47–50 poeng, altså nesten halve eksamen. Dette er sjanger F.
Du får en beskrivelse av et lite system — et hotell, en samling ukeplaner, en strømmetjeneste — og skal bygge flere samarbeidende klasser som modellerer det. Oppgaven er delt i seks til sju deloppgaver som bygger på hverandre: sett opp klassene, skriv konstruktøren, lag metoder som henter og endrer, la den ene klassen holde mange av den andre, les data fra en fil, skriv en metode som finner «den beste» av noe, og gjør objektet pent utskrivbart.
Fordi deloppgavene henger sammen, er det lett å tro at man må ha alt riktig. Det må man ikke: hver deloppgave vurderes for seg, og du har lov til å bruke en metode oppgaven beskriver, selv om du ikke selv fikk skrevet den.
Hele Del 6 i denne boka handler om denne ene oppgaven.
To funksjoner over nøstede strukturer — lister inni lister, eller ordbøker der verdien selv er en ordbok eller en liste. Dette er sjanger G. Til sammen
9–10 poeng.
Oppgaven er den lille søsteren til Oppgave 3, men med ett nivå ekstra: du må holde styr på både det ytre og det indre nivået samtidig. Det trenes i
kap. 8.2.
En student har god kontroll på kodesporing og de små funksjonene, men har aldri øvd på den store modelleringsoppgaven. Hvor mange poeng kan hun regne med, og hva er den billigste måten å forbedre karakteren på?
Regn på det hun kan. Oppgave 1 (cirka 8 poeng), Oppgave 2 (cirka 9) og Oppgave 3
(cirka 28) er 45 poeng til sammen. Oppgave 5 (cirka 9) ligner Oppgave 3 nok til at hun trolig får noe der også — si halvparten, altså 4–5 poeng. Det gir rundt
50 poeng av 100, og forutsetter at hun treffer nesten perfekt på alt hun kan.
Så kommer Oppgave 4: cirka 48 poeng hun i praksis lar stå. Selv om hun ikke får til hele modellen, er de første deloppgavene der — sett opp klassene, skriv konstruktøren, lag en aksessormetode — de enkleste i hele oppgaven. Å kunne bare de tre første deloppgavene kan gi 15–20 poeng.
Konklusjonen: den billigste forbedringen ligger ikke i å bli enda skarpere på
det hun allerede kan, men i å komme i gang på Oppgave 4. Det er derfor Del 6 er bokas største del, og derfor den står øverst på lista over stoffet som må sitte.
(Refleksjonsoppgave — prioritering.) Sett opp din egen leseplan i tre linjer.
a) Hvilken av de fem oppgavene ville du tapt mest på å ikke ha øvd på?
b) Hvilke to oppgaver gir raskest poeng per time du legger inn nå?
c) Hvor mange av de fire timene planlegger du å bruke på Oppgave 4?
Løkke 3 — Temaene som kommer igjen (~6 min)
Frekvenstallene under er telt i 6 moderne eksamenssett (H2014, H2018, H2020,
H2022, H2023 og H2024). «6 av 6» betyr at temaet er å finne i hvert eneste av dem, som egen oppgave eller som tydelig deloppgave.
| Tema | Frekvens | Hvor i boka |
|---|---|---|
| Løkker og betingelser | 6 av 6 (100 %) | kap. 1.2, kap. 1.3 |
| Funksjoner | 6 av 6 (100 %) | kap. 2.1 |
| Kodeforståelse, «hva skrives ut» | 6 av 6 (100 %) | kap. 4.1 |
| Klasser og objekter, modellering | 6 av 6 (100 %) | hele Del 6 |
| Lister | 6 av 6 (100 %) | kap. 3.1 |
| Ordbøker | 6 av 6 (100 %) | kap. 3.2 |
| Variabler og datatyper | 6 av 6 (100 %) | kap. 1.1 |
Referanser, self og scope | 6 av 6 (100 %) | kap. 5.4 |
| Filbehandling | 5 av 6 (83 %) | kap. 7.1 |
| Strenger | 5 av 6 (83 %) | kap. 3.3 |
| Enkel algoritmikk inne i klasser | 5 av 6 (83 %) | kap. 6.3 |
| Nøstede lister og ordbøker | 4 av 6 (67 %) | kap. 8.1 |
| Terminal-interaksjon | 3 av 6 (50 %) | kap. 6.4 |
| Pen objektutskrift | 3 av 6 (50 %) | kap. 5.3 |
| «Finn feilen» og moteksempel | 3 av 6 (50 %) | kap. 4.2 |
| Grensesnitt som begrep | 2 av 6 (33 %) | kap. 5.2 |
Åtte temaer står på 6 av 6. Det er ryggraden: løkker og betingelser,
funksjoner, kodeforståelse, klassemodellering, lister, ordbøker, variabler og datatyper, og referanser med
self. Treffer du disse, har du mesteparten av settet.Frekvenstallene i denne boka er telt i UiO-arkivet for IN1000, og for forgjengerne INF1000 og INF1001, i perioden 2014–2024: 8 avsluttende oppgavesett, 3 fulle løsningsforslag og 4 prøveeksamener med fasit — 27 dokumenter i alt. Settene fra 2018 og framover, og løsningsforslagene, er gjennomgått grundig; de eldste settene er skummet for form og temaregistrering.
Prosentene er telt i de 6 moderne settene H2014, H2018, H2020, H2022, H2023 og H2024.
To forbehold hører med. Emnet het INF1000 eller INF1001 til rundt 2016, og hadde da et bredere pensum som er falt bort. Og H2020 var korona-hjemmeeksamen med et oppblåst sett — samme oppgavetyper, men flere av hver. Begge forhold er hensyntatt i tellingen.
UiO publiserer offisielle løsningsforslag til flere av settene, og de fungerer i praksis som en fasit på hvilken kodestil som belønnes. Alle modellbesvarelser i denne boka er derimot nyskrevet av Skolesaga — de er ikke ekte studentbesvarelser og ikke hentet fra noen fasit. Et nytt sett kan alltid endre bildet.
Å be brukeren om noe i terminalen, og spørre om igjen til svaret er gyldig.
Forekommer i 3 av 6 moderne sett (50 %), 5–7 poeng, og ligger nesten alltid som en deloppgave inne i den store Oppgave 4.
Mønsteret er alltid det samme: spør én gang, og gjenta spørsmålet i en løkke så lenge svaret ikke er gyldig. Den vanligste feilen er å spørre bare én gang og håpe på det beste.
Trenes i kap. 6.4.
Du får et program som stort sett virker, men som gir galt svar i visse tilfeller, og skal peke ut feilen. Forekommer i 3 av 6 moderne sett (50 %), 2–6 poeng, og opptrer både som flervalg («pek ut alle feilene») og som fritekst.
Det avgjørende kravet: når oppgaven ber om det, skal du gi et konkret moteksempel — ett bestemt kall med bestemte verdier som gir galt svar — ikke bare en forklaring i ord. «Funksjonen tar ikke hensyn til like verdier» er en halv besvarelse; «kallet storst(4, 4, 4) gir None i stedet for 4» er en hel.
Trenes i kap. 4.2.
(Refleksjonsoppgave — lesestrategi.) Du har fire kvelder igjen før eksamen og rekker ikke å lese hele boka.
a) Hvilke tre temaer fra frekvenstabellen ville du prioritert, og hvorfor?
b) Hvilket tema på lista ville du droppet først?
c) Hva er argumentet for likevel å bruke én av de fire kveldene på et
komplett øvingssett?
Løkke 4 — Sensors spilleregler (~7 min)
Innledningen til oppgavesettet inneholder de samme setningene hvert år. De ser ut som formaliteter, men de er i praksis fire løfter om hvordan du blir vurdert
— og de er verdt poeng hvis du tar dem på ordet.
Hver deloppgave vurderes for seg. Setter du deg fast på deloppgave c, kan du hoppe rett til d og få full uttelling der.
Enda viktigere: du har lov til å bruke en metode oppgaven beskriver, selv om du ikke selv har skrevet den. Ber deloppgave d deg om å skrive en metode som bruker finn_ledig fra deloppgave c, kan du kalle finn_ledig som om den var ferdig — selv om ditt eget forsøk på c står tomt.
Praktisk regel: stå aldri fast. Et halvferdig forsøk med riktig idé gir poeng; et blankt felt gir null.
Er en oppgavetekst uklar eller ufullstendig, har du lov til å gjøre dine egne rimelige forutsetninger — så lenge du beskriver dem.
Måten du gjør det på, er en kort kommentar i koden: en linje som begynner med#, der du skriver hva du har antatt. «Antar at hvert medlem har unikt navn» er nok. Du kan på samme måte legge til egne hjelpemetoder ved behov, så lenge du kommenterer kort hva de gjør.
Dette er den ene situasjonen der kommentarer i koden gir uttelling. Ellers belønner ikke sensor kommentarer.
I de nyere settene rettes Oppgave 1 maskinelt: det du skriver i svarfeltet, sammenlignes tegn for tegn med fasitverdien.
Tre konsekvenser å øve inn:
- Riktig type. Er svaret heltallet 18, skriv 18 — ikke 18.0.
- Ingen pynt. Er svaret teksten hei, skriv hei — ikke 'hei' og ikke
"hei", med mindre anførselstegnene faktisk er en del av utskriften.
- Eksakt utskrift. Skriver programmet 3 7 med ett mellomrom mellom, skal
svaret ditt ha nøyaktig ett mellomrom.
Boka gjengir derfor alle utskrifter nøyaktig slik terminalen viser dem, og all kode i boka er faktisk kjørt.
Løsningsforslagene i IN1000 er skrevet i en bevisst enkel og eksplisitt stil:for- og while-løkker, if/elif/else, funksjoner, lister, ordbøker og klasser. Ikke mer.
Der en erfaren Python-programmerer ville brukt en ferdig snarvei for å telle eller finne det største elementet, teller fasiten heller manuelt med en løkke.
Det er ikke fordi snarveiene er gale — det er fordi kurset tester at du kan mekanikken under. En eksplisitt løkke som virker, gir full uttelling; en snarvei du husker halvveis, gir sjelden det.
Boka bruker derfor grunnformen overalt, og sier fra hver gang en snarvei finnes.
Dette er ikke programmeringsfeil, men strategifeil. De fire første er de dyreste, og de kan alle unngås med en beslutning tatt før du setter deg ned:
- La et flervalg stå blankt. Blankt og galt gir samme null. Kryss alltid av.
- Bli sittende fast på én deloppgave. Du får delkarakter per deloppgave —
hopp videre og kom tilbake hvis du har tid.
- Ikke bruke metodene oppgaven gir deg. Du har lov til å kalle en metode
beskrevet i teksten selv om du ikke skrev den. Mange lar en hel deloppgave stå fordi den forrige ikke ble ferdig.
- Skrive pyntet svar i et auto-rettet felt. 18.0 for heltallet 18, eller
anførselstegn rundt en tekst som ikke har dem.
- Øve på feil ting. Arv, NumPy og rekursjon står i mange Python-bøker, men
er ikke pensum her og testes ikke på denne eksamenen. Tida er bedre brukt på klassemodellering.
- Bruke tid på å finne den elegante løsningen. Sensor belønner den
eksplisitte løkka som virker.
Løkke 5 — Leseplanen og hva som ikke er pensum (~8 min)
Boka deler stoffet i tre nivåer, etter hvor mye poeng det er i temaet. Nivåene går igjen i hvert kapittel, og de styrer hvor mye tid du bør bruke.
Bokas tre nivåer, i synkende rekkefølge:
- Må sitte (nivå 1): stoff som er på hvert eneste sett og bærer mesteparten
av poengene — klassemodelleringen i Del 6, funksjonsskrivingen i Del 3, klasser og self i Del 5, kodesporingen i Del 4 og filinnlesingen i Del 7.
Her skal du kunne skrive mønsteret fra bunnen, uten oppslag.
- Må kunne (nivå 2): stoff som kommer ofte nok til å avgjøre karakteren i
grenselandet — nøstede strukturer i Del 8, terminal-interaksjon og pen objektutskrift. Her skal du kjenne mønsteret godt nok til å komme i gang.
- Bør kjenne (nivå 3): stoff som dukker opp av og til, og som gir noen få
poeng — «finn feilen» med moteksempel, og grensesnitt som begrep. Her holder det å ha lest og forstått.
Merk at «må sitte» handler om mønsteret, ikke om plettfrihet. Riktig struktur med en indeksfeil gir god uttelling.
Flere temaer som står i vanlige Python-bøker, testes ikke på denne eksamenen, og denne boka bruker derfor ikke tid på dem:
- Arv, super() og polymorfisme. Nevnes i pensum, men testes i praksis ikke
på eksamen. Dette er hovedstoffet i oppfølgeremnet IN1010, og det er der du skal lære det ordentlig.
- NumPy, plotting, rekker og numeriske metoder. Dette er IN1900-stoff, ikke
IN1000. Se IN1900-boka hvis du tar begge emnene.
- Lenkede strukturer, iteratorer, egendefinerte unntak og tråder. IN1010.
- Rekursjon. Ikke pensum her, og alle løsninger i boka bruker løkke.
- Tallsystem-konvertering og personverns-/etikkoppgaver. Var egne oppgaver i
INF1001-perioden fram til 2016, og er falt bort.
Kort sagt: pensum i IN1000 er smalt, og det er en fordel. Du skal kunne få grunnkonstruksjonene til å sitte ordentlig i stedet for å kjenne mange ting halvveis.
Hele boka er om lag 52 timer lesetid: kapitlene summerer til 2 160 minutter og prøvene til 945 minutter, altså 3 105 minutter til sammen. Det er
lesetid — skriver du koden selv underveis, noe du bør, kan du regne cirka
ganger 1,5.
Har du bare noen dager, les i denne rekkefølgen:
| Dag | Les | Tid |
|---|---|---|
| 1 | Dette kapitlet + Del 1 (variabler, betingelser, løkker) | cirka 2,5 t |
| 2 | Del 3 (lister, ordbøker, strenger) med drillen 3.4 | cirka 3,5 t |
| 3 | Del 5 (klasser, self, referanser) | cirka 4,5 t |
| 4 | Del 6 (klassemodellering) — særlig 6.1, 6.2 og 6.5 | cirka 4 t |
| 5 | Kap. 4.1 (kodesporing) + ett komplett øvingssett fra Del 9 | cirka 5,5 t |
Har du bare tre dager, dropp dag 1 og dag 5 og bruk tida på Del 3, 5 og 6 — det er der de 83 prosentene av poengene ligger.
Deltidsrute over 10–12 uker (cirka 5 timer i uka): Del 0 og 1 i uke 1, Del 2
og 3 i uke 2–3, Del 4 i uke 4, Del 5 i uke 5–6, Del 6 i uke 7–8, Del 7 og 8 i uke 9. Ta prøvene til hver del i samme uke som delen. Legg de tre øvingseksamenene i Del 9 på tre atskilte kvelder i de siste tre ukene — ikke stablet til slutt. Én av dem skal du ta uten å kjøre koden.
Den vanligste lesefeilen er å lese seg gjennom fasitene og kjenne igjen alt.
Gjenkjennelse er ikke det samme som å kunne. Dekk til fasiten, skriv ditt eget svar først, og sammenlign etterpå.
I et kodefag kommer en felle til, og den er mer alvorlig: du kan ikke kjøre koden på eksamen. Har du bare øvd i en editor som retter opp feilene dine, får du et sjokk når du sitter i Inspera uten Python-tolker.
Motmiddelet er enkelt og ubehagelig: skriv minst én komplett øvingseksamen for hånd eller i et vanlig tekstfelt, uten å kjøre noe som helst. Sammenlign etterpå. De feilene du finner da — glemt kolon, feil innrykk, en variabel du aldri initialiserte — er nøyaktig de feilene som ellers ville dukket opp på eksamensdagen.
(Refleksjonsoppgave — eksamensdagen.) Du er 150 minutter inne i eksamen. Oppgave
1, 2 og 3 er besvart. Du har akkurat lest deloppgave 4c, som ber deg lese en fil og opprette objektene — og du husker ikke hvordan filinnlesing-løkka avsluttes.
a) Hva gjør du med 4c akkurat nå?
b) Deloppgave 4d ber deg skrive en metode som bruker resultatet fra 4c. Kan
du besvare den?
c) Du har 90 minutter igjen og cirka 55 poeng ubesvart. Sett opp en plan for
de neste 20 minuttene.
Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.
Skolesaga er en uavhengig læringsressurs og er ikke tilknyttet eller godkjent av Universitetet i Oslo. Dette er ikke offisielt studiemateriell. Les mer.