Tilbake
0.1

0.1 Eksamenskartet — slik testes TDT4110

Eksamensformen (4 t, kode D, tredelt sett), temafrekvensene, sjangerkatalogen A–J og lesestrategien som styrer hele boka.

35 min
4 oppgaver
Eksamenskartetslik testes TDT4110
Din fremgang i kapitlet
0 / 4 oppgaver

Slik testes TDT4110

TDT4110 Informasjonsteknologi grunnkurs er NTNUs store innføringsemne i programmering. Flere tusen studenter tar det hvert år, og for mange er det første møte med å skrive et program. Emnet undervises også under koden TDT4109 for enkelte studieprogram — samme pensum, samme eksamensform, bare et annet emnenummer. Alt i denne boka gjelder begge.

Det uvanlige med faget er at det tester tre helt ulike ferdigheter på samme dag: du skal kunne fakta om hvordan en datamaskin virker, du skal kunne lese et program og si nøyaktig hva det gjør, og du skal kunne skrive et program selv, for hånd, uten maskin.

Den gode nyheten er at oppgavene har vært påfallende like år etter år. Dette kapitlet viser deg nøyaktig hvordan de ser ut, hva som teller mest, og i hvilken rekkefølge du bør lese resten av boka. Det er verdt de 35 minuttene.

Eksamensformen

Vurderingen er én avsluttende skriftlig skoleeksamen på fire timer, som teller 100 prosent.

En skoleeksamen er en eksamen du møter opp til på et bestemt sted til et bestemt klokkeslett, under tilsyn, og leverer før tida er ute. Du får ikke ta den med hjem, og du får ikke bruke internett.

Hjelpemidlene er strengt begrenset. Hjelpemiddelkode D betyr at du bare får ta med én bestemt, enkel kalkulator — ingen bøker, ingen notater, ingen datamaskin, ingen telefon, ingen annen elektronikk. Praktisk sagt: du skriver all koden for hånd, på papir, uten å kunne prøve om den virker.

Noen flere faste trekk:

- All kode er Python 3.
- Settet finnes på både bokmål og nynorsk.
- Obligatoriske øvinger — innleveringsoppgaver gjennom semesteret — må være godkjent for at du skal få gå opp til eksamen. De gir ingen karakterpoeng i seg selv.
- Det finnes ingen midtveiseksamen. Alt avgjøres på de fire timene.

De tre delene av settet

Settet har hatt samme tredeling hvert eneste år i perioden boka bygger på:

Del av settetHva det erVekt
Oppgave 1 — teoriRundt tjue flervalgsspørsmål om maskinvare, tallrepresentasjon, nettverk, sikkerhet, komprimering og sampling, og av og til systemutvikling og algoritmer~25 %
KodeforståelseFire til seks deloppgaver: «hva skrives ut eller returneres», «forklar med én setning hva funksjonen gjør», og «fyll inn den manglende kodelinja»~15–20 %
ProgrammeringÉn til to oppgaver som bygger en liten applikasjon: en kjede av små funksjoner som leser en fil, tolker dataene, analyserer dem og skriver ut eller lagrer svaret~50–60 %

Et flervalgsspørsmål er et spørsmål med ferdige svaralternativer der du krysser av for ett. En fritekstoppgave er en der du skriver svaret selv — enten en setning eller et stykke kode.
Rekkefølgen varierer: kodeforståelsen har vært både Oppgave 2 og Oppgave 4. Men alle tre byggeklossene er der hvert år, og prosentvekten står trykt på settet ved hver enkelt deloppgave. Den vekten er din tidsplan.
📝Oppgave 1

(Innstegsoppgave — les av tabellen over de tre delene av settet.) Eksamen varer fire timer, altså 240 minutter.

a) Omtrent hvor mange minutter bør teoridelen få, når den veier rundt 25 prosent?
b) Omtrent hvor mange minutter bør programmeringsdelen få, når den veier rundt 58 prosent?

Begrepene du trenger for å lese resten

Under står de begrepene resten av boka bruker uten å forklare på nytt. De er også bokas første flashcards — du får dem igjen i den interaktive treningen.

Skoleeksamen

En eksamen du møter opp til på et fastsatt sted og tidspunkt, under tilsyn, og leverer før tida er ute.

I TDT4110 varer den fire timer og teller 100 prosent av karakteren. Det finnes ingen hjemmeeksamen, ingen mappe og ingen deleksamen som kan veie opp for en dårlig dag.

Konsekvensen for lesingen: du må kunne stoffet uten oppslagsverk, og du må kunne skrive kode uten å kunne kjøre den.

Hjelpemiddelkode D

NTNUs kode for «bestemt, enkel kalkulator tillatt». Ingen trykte eller håndskrevne hjelpemidler, ingen datamaskin, ingen telefon, ingen annen elektronikk.

For dette faget betyr det tre ting: du må huske Python-konstruksjonene utenat, du skriver koden for hånd, og de få regnestykkene i teoridelen kan gjøres på kalkulator.

Kalkulatoren er nyttig i teoridelen, der spørsmål om for eksempel bildestørrelse eller antall symboler i et gitt antall bit krever et raskt regnestykke.

Prosentvekting per deloppgave

Ved hver deloppgave på settet står det trykt hvor mye den teller ved sensur, oppgitt i prosent.

Det er ikke pynt — det er den eneste tidsplanen du får. En deloppgave på 3 prosent skal ha omtrent 7 minutter av de 240; en på 10 prosent skal ha rundt 24.

Bruk et halvminutt i starten på å summere vektene og skrive et klokkeslett i margen ved hver oppgave. Det er den billigste karakterforsikringen som finnes.

Flervalg uten minuspoeng (ordningen falt bort fra 2015)

I flervalgsdelen gir et feil svar null poeng — akkurat som et blankt svar. Feil kryss trekker altså ikke fra noe sted.

Konsekvensen er absolutt: kryss alltid av, også når du ikke aner. Med fire alternativer er gjettesjansen én av fire, og blankt er null av fire.

Historisk merknad: aller tidligst i perioden boka bygger på, ble det trukket en halv poeng for feil kryss. Den ordningen ble fjernet, og har ikke vært i bruk siden. Det er historikk, ikke gjeldende regel.

Sjanger A — teori og flervalg

Rundt tjue flervalgsspørsmål om hvordan datateknologi virker: prosessoren, minnet, tallsystemer, nettverk, sikkerhet, komprimering og sampling.

Forekommer i alle settene og utgjør omtrent en fjerdedel av karakteren.

Kjennetegnet er at alternativene ligger tett: ofte skiller ett ord eller ett tall riktig fra galt. Oppskriften er å lese alle fire alternativene før du velger, stryke de to som er tydelig gale, og lete etter det ene ordet som skiller de to siste.

Sjanger B — kodesporing

«Hva skriver dette programmet ut?» eller «hva returnerer denne funksjonen?». Du får et lite program og skal skrive svaret nøyaktig, tegn for tegn.

Forekommer i alle settene, med fire til seks deloppgaver som hver teller 1–3 prosent.

Oppskriften er en sporingstavle: én rad per runde i løkka, én kolonne per variabel som endrer seg, og en kolonne for hva som er skrevet ut så langt. Metoden er mekanisk med vilje — det er det som gjør den pålitelig under tidspress.

Sjanger C — forklar med én setning

Du får en funksjon og skal si hva den gjør, i én setning. Ikke hvordan den virker linje for linje.

Forekommer i omtrent seks av ti sett og teller rundt 2 prosent. Dette er en sjanger som er spesiell for NTNU.

Sensor sier det samme hvert år: svar kort og klart — er svaret uklart eller lengre enn nødvendig, trekker det ned. Et godt svar begynner med et verb og sier hva funksjonen oppnår: «Returnerer den transponerte av en tabell.» Et dårlig svar er et avsnitt om hva hver linje gjør.

Sjanger D — fyll inn manglende kodelinje

En funksjon der én linje er byttet ut med en plassholder, og fire alternativer til hva den skal være. Du velger ett.

Forekommer i omtrent halvparten av settene og teller 1–3 prosent.

Alternativene er alltid syntaktisk lovlige og ser plausible ut — det er grensene og indeksene som skiller dem. Oppskriften er å prøve hvert alternativ mot et lite eksempel du kan regne i hodet, ikke å velge det som «ser riktig ut».

Sjanger E til I — programmeringskjeden

De fem leddene i den store programmeringsoppgaven, som til sammen utgjør over halve eksamen:

- E — les en fil og bygg en tabell eller en oppslagsstruktur.
- F — tolk og gjør om dataene, for eksempel en tidsstreng til antall sekunder.
- G — analysér: finn den beste, tell forekomster, grupper, sortér. Dette er tyngdepunktet.
- H — spør brukeren, med validering, og eventuelt en meny.
- I — skriv ut pent eller lagre til fil.

De opptrer nesten alltid som deloppgaver a) til f) i én sammenhengende oppgave, der hver deloppgave bygger på den forrige.

Sjanger J — rekursjon og binærsøk

En funksjon som kaller seg selv, eller et søk som halverer søkeområdet for hvert steg. Du skal enten spore den eller skrive den.

Rekursjon forekommer i omtrent seks av ti sett, binærsøk i omtrent tre av ti. Sammen teller de 1–5 prosent.

Dette er en av forskjellene mellom TDT4110 og tilsvarende emner andre steder: her testes rekursjon eksplisitt, og du må kunne både lese og skrive den.

Programmeringskjeden

Den faste oppskriften som ligger under hver eneste programmeringsoppgave, uansett hvilket domene den er pakket inn i:

les fil → bygg tabell eller oppslagsstruktur → analysér → skriv ut eller lagre

Med en hovedfunksjon som binder leddene sammen, leser fila én gang, og sender dataene videre til de andre funksjonene.

Sensor belønner eksplisitt at senere funksjoner gjenbruker de tidligere i stedet for å kopiere kode. Det er den enkeltvanen som gir mest uttelling i denne delen.

Domenerotasjon

At innpakningen på programmeringsoppgaven byttes ut hvert år, mens selve programmeringsøvelsen er den samme.

Innpakningene har blant annet vært reisetid, stemmetelling ved valg, terningspill, priskrig mellom butikker, auksjon, matoppskrifter og fartsmåling. Under ligger alltid den samme kjeden: les fil, bygg struktur, analysér, skriv ut.

Dette er godt nytt. Du skal ikke forberede deg på et tema — du skal øve på mønsteret, til det sitter uansett hva domenet heter. Boka bruker derfor bevisst helt andre domener enn de som har vært brukt.

De tre prioritetsnivåene

Boka merker alt stoff med ett av tre nivåer, ut fra hvor ofte det faktisk kommer på eksamen:

- Må sitte — høyeste prioritet. Kommer i alle eller nesten alle sett, og avgjør karakteren.
- Må kunne — kommer ofte og skiller en middels fra en god besvarelse.
- Bør kjenne til — kommer av og til, og er det du tar når resten sitter.

«Må sitte» er ikke et krav om plettfri kode. Sensor gir god uttelling for riktig overordnet struktur selv når det er småfeil i indekser og kanttilfeller, og flere ulike løsninger regnes som like riktige.

Obligatoriske øvinger

Innleveringsoppgaver gjennom semesteret som må være godkjent for at du skal få gå opp til eksamen.

De gir ingen karakterpoeng i seg selv — karakteren settes utelukkende på de fire timene. Men uten godkjenning får du ikke ta eksamen i det hele tatt.

Praktisk råd: øvingene er den eneste treningen mange får i å skrive kode selv. Bruk dem som det, ikke som noe å bli ferdig med.

Hva som faktisk kommer — frekvenskartet

Tallene under er telt i arkivet, sett for sett. Arkivet er ti eksamenssittinger, så prosentene er tideler: «100 %» betyr ti av ti sett, «~80 %» betyr åtte av ti.

Kodesiden:

TemaHvor ofteNivå
Funksjoner100 %må sitte
Løkker og betingelser100 %må sitte
Lister, inkludert tabeller av lister100 %må sitte
Filbehandling100 %må sitte
Strenger: dele opp, rense, sette sammen100 %må sitte
Kodesporing100 %må sitte
Variabler, datatyper og konvertering100 %må sitte
Oppslagsstrukturer med nøkkel og verdi~80 %må sitte
Input-validering~80 %må sitte
Finn den beste eller største~80 %må sitte
Sortering70 %må kunne
Formatert utskrift70 %må kunne
Rekursjon60 %må kunne
Feilhåndtering rundt filoperasjoner60 %må kunne
Forklar med én setning60 %må kunne
Tupler50 %må kunne
Meny og hovedløkke50 %må kunne
Fyll inn manglende kodelinje50 %må kunne
Tilfeldige tall50 %bør kjenne til
Lagring til binærfil30 %bør kjenne til
Binærsøk30 %bør kjenne til

Teorisiden:
TemaklyngeHvor ofteNivå
Maskinvare og datamaskinens oppbygning~100 %må sitte
Tallrepresentasjon og data~100 %må sitte
Nettverk90 %må kunne
Sikkerhet80 %må kunne
Komprimering og sampling80 %må kunne
Systemutvikling50 %bør kjenne til
Algoritmeteori og kompleksitet40 %bør kjenne til

Legg merke til hvor mye som ligger på 100 prosent. Sju kodetemaer kommer i hvert eneste sett. Det er ikke tilfeldig — de er byggeklossene den store programmeringsoppgaven består av.
📝Oppgave 3

(Refleksjon — prioritering ut fra frekvenskartet.) Du har åtte kvelder igjen og rekker omtrent to timer per kveld, altså rundt 960 minutter til sammen.

a) Sett opp en plan for de åtte kveldene ut fra frekvenskartet i dette kapitlet.
b) Hva dropper du først hvis du mister to av kveldene, og hvorfor?

Hvordan teoridelen har flyttet seg

Ett mønster er verdt å kjenne til når du prioriterer. I den første halvdelen av perioden hadde teoridelen tydelig innslag av systemutvikling — vannfallsmodell, spiralmodell, kravspesifikasjon, akseptansetesting — og av algoritmeteori, altså hva en algoritme er og hvor raskt den vokser.

I den siste halvdelen dreide teoridelen mot nettverk, sikkerhet og maskinvare, mens de to første klyngene ble tonet ned.

Begge klyngene dekkes i boka. Systemutvikling og algoritmeteori er merket «bør kjenne til», men med en påminnelse om at de har kommet igjen før og godt kan gjøre det igjen. Det koster lite å lese dem én gang.

Hvordan poengene gis

Fire trekk ved sensuren er verdt å kjenne, fordi de bør endre hvordan du skriver:

Flere korrekte løsninger sidestilles. Løsningsforslaget sier det eksplisitt: den viste løsningen er bare én av måtene. Har du en annen løsning med rett idé, gir den full uttelling. Du skal altså ikke lete etter «den ene riktige koden» — du skal skrive én som virker.

Riktig struktur belønnes selv med småfeil. En funksjon med riktig mønster og en av-én-feil i en indeks gir god uttelling. Det betyr at du alltid skal skrive noe: en halvferdig funksjon med riktig oppbygning er verdt langt mer enn et blankt felt.

Gjenbruk av egne funksjoner belønnes. Når deloppgave c) trenger noe deloppgave a) allerede gjør, skal du kalle a) — ikke kopiere koden inn på nytt. Dette nevnes eksplisitt i løsningsforslagene.

Robusthet gir toppscore. Enkelte deloppgaver har uttrykkelige krav for full uttelling: ikke anta at en kolonne ligger på en bestemt plass, håndtér at det ikke finnes noe svar, ikke returnér det samme elementet to ganger, og tål at dataene kommer i vilkårlig rekkefølge.

Navnespråk spiller ingen rolle. Norske og engelske funksjons- og variabelnavn går like bra; løsningsforslagene blander. Boka bruker overveiende norske navn.

📝Oppgave 4

(Refleksjon — hva som gir uttelling.) Under eksamen står du fast på deloppgave b) i en programmeringsoppgave. Deloppgave c) skal bruke funksjonen fra b).

a) Hva gjør du?
b) Hvilken av disse to besvarelsene på deloppgave c) gir mest uttelling: en tom side, eller en funksjon med riktig oppbygning som har en av-én-feil i én indeks? Begrunn ut fra hvordan poengene gis.

📝Oppgave 2

(Refleksjon — planlegging under tidspress.) Du har fire timer. Settet er delt slik: Oppgave 1 er teori og teller 25 prosent, Oppgave 2 er kodeforståelse og teller 17 prosent, Oppgave 3 er en programmeringsoppgave på 30 prosent, og Oppgave 4 er en programmeringsoppgave på 28 prosent.

a) Sett opp et tidsbudsjett i minutter for de fire oppgavene.
b) Hvor mye tid setter du av til å lese gjennom settet i starten, og til kontroll til slutt? Begrunn kort.
c) Du oppdager etter halvannen time at du ligger 20 minutter bak skjema. Hva gjør du?

Deltidsruten: 10 til 12 uker

Leser du ved siden av andre emner, er dette en plan som holder. Regn 5–6 timer i uka.

UkeInnholdCa. tid
1Del 0 og Del 1: grunnlaget, med prøvene til delen5 t
2Del 2: funksjoner og gjenbruk, med prøver3,5 t
3Del 3, første halvdel: lister, tabeller, strenger4 t
4Del 3, andre halvdel: utskrift, oppslagsstrukturer, tupler, prøver4,5 t
5Del 4: filbehandling og robusthet, med prøver4,5 t
6Del 7, første halvdel: kjeden ledd for ledd5 t
7Del 7, andre halvdel: robusthet og hele kjeden, med prøver6 t
8Øvingseksamen 1, tidsstyrt, på papir4 t
9Del 5: kodesporing og rekursjon, med prøver5 t
10Del 8: teoridelen, med prøver6,5 t
11Del 6: algoritmer, og øvingseksamen 26 t
12Repetisjon av svake punkter, og øvingseksamen 36 t

Legg merke til at de tre øvingseksamenene er spredt utover — uke 8, 11 og 12. De skal ikke stables til slutt. Hver av dem tar fire timer og avslører noe annet, og du trenger tid mellom dem til å tette hullene de finner.
Har du bare 10 uker, slår du sammen uke 3 og 4, og uke 11 og 12.
Sjangerkortet — de ti oppgavetypene på én side
Mønstrene du må kunne skrive fra bunnen
Teori-minimum — de seks klyngene og fellene i dem

Feilregisteret: #1 til #17

Boka nummererer de vanligste feilene, og bruker numrene i kapitlene. Hver gang et nummer nevnes, står forklaringen i parentes ved siden av — du skal aldri måtte slå opp.

Feil belagt i eksamensarkivet:

Nr.FeilForebygges i
#1Glemt omgjøring fra tekst til tall etter innlesing — regning og sammenligning blir feil1.1, 1.4, og Del 4 og 7
#2Glemt å rense linja ved filinnlesing, så linjeskiftet henger igjen i siste feltDel 4 og 7
#3Feil skilletegn når linja deles opp, eller variabelt antall mellomromDel 3, 4 og 7
#4Anta at en kolonne ligger på en bestemt plass, i stedet for å finne plassen selvDel 3 og 7
#5Av-med-én i løkkegrenser og indekser1.3, og Del 5 og 6
#6Ikke håndtere tomme data eller «ikke funnet»Del 7
#7Returnere det samme elementet flere ganger der svaret skal være uniktDel 7
#8Input-løkka spør bare én gang, eller stopper aldri1.4, og Del 2 og 7
#9Blande vanlig divisjon og heltallsdeling1.1, og Del 3 og 5
#10Feil eller manglende grunntilfelle i en funksjon som kaller seg selvDel 5
#11Teori: forveksle to tett formulerte alternativerDel 8
#12Teori: regnefeil i tallsystemer eller bildestørrelseDel 8
#13Forklare hvordan koden virker linje for linje, i stedet for hva den oppnårDel 5 og 9

Bokas egne tillegg — allmenne Python-feller. Disse er ikke telt i arkivet og presenteres ikke som eksamensgjengangere. De er feller som koster tid:
Nr.Feil
#14Bruke et innebygd navn som variabel og ødelegge funksjonen resten av programmet
#15Tro at to navn på samme liste er to lister — endrer du den ene, endres begge
#16Innrykksfeil, eller blandet tabulator og mellomrom
#17Tro at sorteringsmetoden gir en ny liste tilbake — den endrer lista og gir ingenting

Du trenger ikke pugge numrene. De er der for at kapitlene skal kunne peke presist.

Hva som IKKE er pensum

Like nyttig som å vite hva som kommer, er å vite hva du kan la ligge.

Klasser og objektorientering er utenfor pensum i TDT4110. Emnet er rent prosedyreorientert: alt løses med funksjoner, løkker, betingelser, lister, oppslagsstrukturer, tupler, strenger og filer. Du kommer ikke til å møte class eller self på dette settet, og ingen fasit bruker dem. Objektorientert programmering hører til andre emner. Har du lest deg opp på det andre steder, skal du legge det til side her — det er ikke en løsningsvei sensor ser etter.

Det samme gjelder disse, som alle er utenfor pensum og ikke nevnes videre i boka: lenkede strukturer, iteratorer, generatorer, dekoratorer, tråder, regulære uttrykk, ferdige moduler for tabellformater, grafiske brukergrensesnitt og nettverkskode. Vaktsetningen if __name__ == '__main__': gir heller ingen uttelling og brukes ikke i boka.

Filformatene du trenger, er ren tekst og binærfil. Ingenting annet.

Kilden til tallene i denne boka

Frekvenstallene i denne boka er telt i NTNU-arkivet for TDT4110 2014–2019: 10 eksamenssittinger og 7 offisielle løsningsforslag — 17 dokumenter i alt. Løsningsforslagene og de nyeste settene (2015–2019) er gjennomgått grundig; de eldste er skummet for form- og temaregistrering. Kodesnuttene i kodeforståelsesoppgavene ligger som bilder i PDF-ene og er dekket indirekte, via løsningsforslagenes fasitsvar. Arkivet stopper i 2019, og gjeldende emnebeskrivelse har siden fått tillegg (f-strenger, NumPy/Matplotlib, KI som kodehjelp) som er merket særskilt i boka (verifiser mot gjeldende pensum — ikke i arkivet 2014–2019). Et nytt sett kan endre bildet.

To presiseringer om språkbruken:

«Offisielle løsningsforslag» er den riktige betegnelsen. De fungerer i praksis som sensorveiledning, og det er derfra utsagnene om poenggiving i dette kapitlet er hentet. Det finnes ingen egen, separat publisert dokumenttype ved siden av dem.

Modellbesvarelsene i denne boka er nyskrevne av Skolesaga. De er ikke ekte studentbesvarelser, og de er ikke hentet fra noen fasit. Det samme gjelder alle oppgavetekster, kodeeksempler, datafiler og domener: de er skrevet for denne boka. Kodemønstrene er standard Python-idiomer, som ikke tilhører noen.

Boka er ikke utgitt av eller tilknyttet NTNU, og den kan ikke love noe bestemt eksamensutfall.

Pensumdrift etter 2019

Arkivet stopper i 2019, og noe har kommet til siden. Tre ting er verdt å vite om, alle merket tydelig der de dukker opp i boka:

Formaterte tekststrenger med f-prefiks. Løsningsforslaget for det siste året i arkivet varsler at denne skrivemåten kommer inn i pensum. Boka viser den side om side med den eldre måten å formatere på, og merker den (verifiser mot gjeldende pensum — varslet inn 2019). Den eldre formen er uansett alltid gyldig, så du kan trygt bruke den du liker best.

Bibliotekene for numeriske beregninger og for grafer. Gjeldende emnebeskrivelse nevner NumPy og Matplotlib. Ingen av delene er belagt i arkivet 2014–2019. De omtales derfor kort i én egen boks i teoridelen, merket (verifiser mot gjeldende pensum — ikke i arkivet 2014–2019), og det bygges verken drill eller prøver på dem.

Kunstig intelligens som kodehjelp. Samme status: nevnt i gjeldende emnebeskrivelse, ikke belagt i arkivet, omtalt kort og merket på samme måte.

Sjekk gjeldende emnebeskrivelse selv før eksamen. Det tar to minutter, og et nytt sett kan endre bildet.

Prognose for neste sett

Ut fra hvor stabil malen har vært, er dette det mest sannsynlige:

Oppgave 1, teori, rundt 25 prosent: omtrent tjue flervalgsspørsmål om maskinvare, tallrepresentasjon, nettverk, sikkerhet og komprimering eller sampling. Mulig gjeninntog av systemutvikling og algoritmekompleksitet.

Kodeforståelse, 15 til 20 prosent: fire til seks deloppgaver. To til fire «hva skrives ut» over løkker, rekursjon, boolske uttrykk, utsnitt og oppslagsstrukturer. En eller to «forklar med én setning». En eller to «fyll inn kodelinja».

Programmering, 50 til 60 prosent: én til to oppgaver i et nytt domene. En kjede på fem til åtte funksjoner: les fila, tolk dataene, bygg strukturen, analysér, spør brukeren eller vis en meny, skriv ut eller lagre. Med gjenbruk mellom funksjonene og feilhåndtering rundt filoperasjonene.

Domenet vet ingen. Det spiller heller ingen rolle.

Leseplanen som følger av dette

Må sitte — høyeste prioritet:

- Del 1 til 4: kodegrunnlaget. Variabler og typer, betingelser, løkker, input, funksjoner, lister og tabeller, strenger, oppslagsstrukturer, filbehandling.
- Del 7: programmeringskjeden. Over halve eksamen.
- Del 5: kodesporing. Hvert eneste sett.
- Del 8, klyngene maskinvare og tallrepresentasjon. Nær 100 prosent hver.

Må kunne:

- Del 6: sortering, søking og kjøretid.
- Del 8, klyngene nettverk, sikkerhet og komprimering eller sampling.
- Forklaringssjangeren og fyll-inn-sjangeren i Del 5.

Bør kjenne til:

- Lagring til binærfil, implementasjon av binærsøk, kjøretidsteori, systemutvikling, tilfeldige tall — og de nyere pensumtilleggene som er merket for verifisering.

Rekkefølgen som gir mest per time: Del 1 til 4, så Del 7, så Del 5, så Del 8, så Del 6. Del 8 kan leses parallelt hele veien — den forutsetter ingenting av kodedelen, og passer godt de kveldene du er for sliten til å skrive kode.

Første stopp er kap. 1.1. Har du aldri programmert før, finnes en mykere inngang i Programmering med Python — omtrent en time, og helt valgfri.

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 Norges teknisk-naturvitenskapelige universitet. Dette er ikke offisielt studiemateriell. Les mer.