• Lærebøker
  • Python
  • GeoGebra
  • Hoderegning
  • Test deg selv

Søk i Skolesaga

Søk etter lærebøker, kapitler, trinn og verktøy

Gratis interaktive lærebøker for norsk skole.

Lærebok
PersonvernVilkår

© 2025 Skolesaga · Alle rettigheter forbeholdt

Deler av innholdet er utviklet med hjelp av AI-verktøy

IT 1Tilbake
8.5 Dokumentasjon og presentasjon
Dokumentasjon og presentasjon

8.5 Dokumentasjon og presentasjon

Alle fag for VG2

Lær å skrive README-filer, kodekommentarer og teknisk dokumentasjon.

55 min
7 oppgaver
READMEMarkdownKodekommentarTeknisk dokumentasjon
Din fremgang i kapitlet
0 / 7 oppgaver

Dokumentasjon og presentasjon

Kode som ingen forstår er verdiløs. Du kan ha skrevet den mest elegante løsningen i verden, men hvis ingen – inkludert deg selv om seks måneder – kan forstå hva den gjør og hvordan den brukes, har du et problem.

Dokumentasjon er det som gjør kode og prosjekter forståelige. Det handler om å skrive ned det som ikke er åpenbart fra koden selv: hva prosjektet gjør, hvorfor det er laget slik, hvordan man installerer og bruker det, og hva man bør vite for å kunne jobbe videre med det.

Presentasjon er like viktig – du må kunne formidle arbeidet ditt til andre. Enten det er læreren din, medelever, eller en fremtidig arbeidsgiver, må du kunne forklare hva du har laget, hvilke valg du tok og hvorfor.

I dette kapittelet lærer du å skrive gode README-filer, kommentere kode på en nyttig måte, lage teknisk dokumentasjon, og presentere IT-prosjekter på en overbevisende måte.

Dokumentasjon
Dokumentasjon er all skriftlig informasjon som beskriver, forklarer og støtter et programvareprosjekt. Dokumentasjon kan deles inn i flere typer: brukerdokumentasjon (for sluttbrukere), teknisk dokumentasjon (for utviklere), prosessdokumentasjon (beskriver utviklingsprosessen) og API-dokumentasjon (beskriver programmeringsgrensesnitt). God dokumentasjon gjør det mulig for andre å forstå, bruke og videreutvikle prosjektet uten å måtte kontakte den opprinnelige utvikleren. Regelen er: «Kode forteller datamaskinen hva den skal gjøre. Dokumentasjon forteller mennesker hva koden gjør.»

README – prosjektets visittkort

README-filen er det aller viktigste dokumentet i prosjektet ditt. Det er det første folk ser på GitHub, og det bør gi all informasjon som trengs for å forstå og bruke prosjektet.

Hva bør en god README inneholde?

1. Prosjektnavn og kort beskrivelse – Hva gjør prosjektet? Én til to setninger.

2. Skjermbilde eller demo – Vis hvordan det ser ut. Et bilde sier mer enn tusen ord.

3. Installasjon – Steg-for-steg-instruksjoner for hvordan man setter opp prosjektet lokalt.

4. Bruk – Hvordan bruker man prosjektet? Eksempler er gull verdt.

5. Teknologier – Hvilke språk, rammeverk og verktøy er brukt?

6. Bidragsytere – Hvem har jobbet med prosjektet?

7. Lisens – Hvilke rettigheter har andre til å bruke koden?

For skoleprosjekter kan du også inkludere:
- Læreplankompetansemål prosjektet dekker
- Prosessdokumentasjon (lenke til prosjektlogg)
- Refleksjon over hva du har lært

✏️Eksempel på en god README

Her er et eksempel på en README for et skoleprosjekt:

``markdown

Vaermelding - Enkel Vaerapp

En nettside som viser vaervarselet for norske byer ved hjelp av
data fra Meterologisk institutt sitt API (Yr).

Skjermbilde

(Her ville du lagt inn et bilde av nettsiden)

Teknologier

- HTML5
- CSS3 (Flexbox og Grid)
- JavaScript (Fetch API)
- Yr API (api.met.no)

Installasjon

1. Klon repositoryet:
git clone https://github.com/brukernavn/vaermelding.git

2. Apne index.html i nettleseren

Ingen ekstra installasjon er nodvendig – prosjektet bruker
kun HTML, CSS og vanilla JavaScript.

Bruk

1. Skriv inn navnet pa en norsk by i sokfeltet
2. Trykk "Sok" eller Enter
3. Vaervarselet for de neste 3 dagene vises

Bidragsytere

- Ola Nordmann – Design og CSS
- Kari Nordmann – JavaScript og API-integrasjon

Kompetansemal (IT 1)

- Utvikle nettsider ved bruk av HTML og CSS
- Bruke et API til a hente og presentere data
- Planlegge og dokumentere utviklingsprosessen

Lisens

MIT License
``

Legg merke til at README-en er kort, tydelig og gir all nødvendig informasjon for å forstå og bruke prosjektet.

Markdown – enkelt tekstformat

README-filer og mye annen dokumentasjon skrives i Markdown – et lettvekts formateringsspråk som er designet for å være lesbart både som ren tekst og som formatert output.

De viktigste Markdown-elementene

``markdown

Overskrift nivå 1


Overskrift nivå 2


Overskrift nivå 3

Fet tekst og kursiv tekst

- Punktliste
- Element to
- Element tre

1. Nummerert liste
2. Element to
3. Element tre

[Lenketekst](https://www.eksempel.no)

Bildetekst

\Inline kode\

\\\python

Kodeblokk med syntaksutheving


print("Hei verden!")
\\\

> Sitat eller merknad

Kolonne 1Kolonne 2
Data 1Data 2

``
Markdown brukes overalt: GitHub (README, issues, pull requests), Notion, Slack, Discord, Jupyter Notebooks og mange andre steder. Det er et essensielt verktøy for alle som jobber med teknologi.

Kodekommentarer – forklar hvorfor, ikke hva

Kodekommentarer er tekst i kildekoden som ignoreres av datamaskinen men hjelper mennesker med å forstå koden. Men ikke alle kommentarer er nyttige – dårlige kommentarer kan faktisk gjøre koden vanskeligere å forstå.

Hvordan skrive kommentarer i ulike språk

``python

Python: Enkeltlinje-kommentar med #


x = 10 # Kommentar på slutten av en linje
`

`javascript
// JavaScript: Enkeltlinje-kommentar
/ JavaScript: Flerlinjekommentar
som kan gå over
flere linjer
/
`

`html

`

`css
/ CSS-kommentar /
`

Dårlige kommentarer

`python

Dårlig: Sier hva koden gjør (åpenbart fra koden selv)


x = x + 1 # Øker x med 1
navn = input("Navn: ") # Henter input fra brukeren
liste.sort() # Sorterer listen
`

Gode kommentarer

`python

Bra: Forklarer HVORFOR, ikke hva


x = x + 1 # Kompenserer for 0-indeksering i API-responsen

Bra: Forklarer en ikke-opplagt beslutning


Bruker bubblesort i stedet for quicksort fordi listen


alltid er under 20 elementer, og bubblesort er enklere å feilsøke


sortermanuelt(liste)

Bra: Varsler om en begrensning


OBS: Fungerer bare for norske postnumre (4 siffer)


def valider
postnummer(postnummer):
return len(postnummer) == 4 and postnummer.isdigit()
`

Tommelfingerregler for kommentarer

1. Forklar hvorfor, ikke hva – Koden viser hva som gjøres; kommentaren forklarer hvorfor
2. Oppdater kommentarer når koden endres – Utdaterte kommentarer er verre enn ingen kommentarer
3. Bruk beskrivende variabelnavn i stedet for å kommentere dårlige navn
4. Kommenter kompleks logikk – Algoritmer, formler og ikke-opplagt kode
5. Marker midlertidige løsninger med TODO-kommentarer:
# TODO: Bytt til databaselagring`

Teknisk dokumentasjon for utviklere

Teknisk dokumentasjon går dypere enn README-filen og er rettet mot utviklere som skal jobbe med eller vedlikeholde koden. I et skoleprosjekt viser teknisk dokumentasjon læreren at du forstår systemet du har bygd.

Hva bør teknisk dokumentasjon dekke?

Systemarkitektur: Hvordan er prosjektet organisert? Hvilke filer gjør hva? Hvordan henger delene sammen?

``
prosjekt/
├── index.html # Forside
├── css/
│ └── style.css # Alle stiler
├── js/
│ ├── main.js # Hovedlogikk og event handlers
│ ├── api.js # API-kall til Yr
│ └── utils.js # Hjelpefunksjoner
├── images/ # Bilder og ikoner
└── README.md # Prosjektdokumentasjon
``

Dataflyt: Hvordan flyter data gjennom systemet? Fra brukerens input til visning av resultat.

API-bruk: Hvilke eksterne tjenester bruker prosjektet? Hva slags data hentes og sendes?

Kjente begrensninger: Hva fungerer ikke ennå? Hvilke kjente feil finnes? Hva ville du forbedret med mer tid?

Installasjonskrav: Hvilke verktøy og versjoner trengs for å kjøre prosjektet?

Prosessdokumentasjon – vis at du forstår prosessen

I IT 1 vurderes du ikke bare på det ferdige produktet, men også på prosessen. Prosessdokumentasjon viser hvordan du planla, jobbet og reflekterte underveis.

Elementer i prosessdokumentasjon

Prosjektplan:
- Hva er målet med prosjektet?
- Hvilke brukerhistorier definerte vi?
- Hva er MVP-en?
- Tidsplan med milepæler

Designprosess:
- Wireframes og skisser (tidlige versjoner)
- Designvalg og begrunnelser (hvorfor valgte vi disse fargene, denne layouten?)
- Prototyper og brukertesting (hva lærte vi?)

Utviklingslogg:
- Hva ble gjort i hver sprint/uke?
- Hvilke utfordringer oppstod?
- Hvordan ble de løst?
- Hva tok lengre tid enn forventet?

Refleksjon:
- Hva fungerte bra i prosjektet?
- Hva ville du gjort annerledes?
- Hva har du lært?
- Hvordan fungerte samarbeidet (hvis gruppeprosjekt)?

Tips for prosessdokumentasjon

- Skriv litt underveis i stedet for alt på slutten
- Ta skjermbilder av wireframes, prototyper og viktige steg
- Vær ærlig om utfordringer – det viser refleksjonsevne
- Knytt arbeidet til kompetansemål fra læreplanen

Presentere IT-prosjekter

Å kunne presentere arbeidet ditt er en viktig ferdighet. I IT 1 vil du sannsynligvis presentere prosjekter for klassen eller læreren. Her er noen prinsipper for gode presentasjoner.

Struktur for en prosjektpresentasjon

1. Introduksjon (1-2 min): Hva er problemet? Hva har du laget? For hvem?
2. Demo (3-5 min): Vis produktet i aksjon. La det snakke for seg selv.
3. Teknisk gjennomgang (2-3 min): Hvilke teknologier brukte du? Hvordan er koden organisert? Vis et interessant kodeutdrag.
4. Prosess (2-3 min): Hvordan planla du prosjektet? Hvilke utfordringer møtte du? Hva lærte du?
5. Avslutning (1 min): Hva ville du gjort med mer tid? Spørsmål?

Gode presentasjonstips

Vis, ikke fortell: I stedet for å si «Nettsiden er brukervennlig», vis det ved å demonstrere at det er enkelt å utføre en oppgave.

Hold det enkelt: Ikke vis all koden – velg ut de mest interessante eller utfordrende delene. Publikum trenger ikke se 500 linjer HTML.

Forbered demo: Test alt på forhånd. Ha en backup-plan hvis noe ikke fungerer (skjermbilder, video av demoen).

Snakk om utfordringer: De mest interessante delene av et prosjekt er ofte problemene du løste. Ikke vær redd for å dele hva som var vanskelig.

Tilpass for publikum: Læreren vil se at du forstår konseptene. Medelever vil se noe kult. Tilpass språkbruken etter hvem du snakker til.

Unngå å lese fra lysbilder: Lysbildene er visuell støtte, ikke manuskriptet ditt. Bruk stikkord og bilder, ikke lange tekstblokker.

✏️Eksempel på lysbildestruktur

Her er en foreslått lysbildestruktur for en 10-minutters prosjektpresentasjon:

Lysbilde 1: Tittel
Prosjektnavn, navn på teammedlemmer, dato

Lysbilde 2: Problemet
Hva er problemet vi løser? Hvem er brukerne?
(Bruk et bilde eller scenario som illustrerer problemet)

Lysbilde 3: Løsningen
Kort beskrivelse + skjermbilde av det ferdige produktet

Lysbilde 4-5: Live demo
Vis produktet i aksjon (nettleseren)

Lysbilde 6: Teknologi
Teknologier brukt (HTML, CSS, JS, API-er)
Enkel arkitekturoversikt

Lysbilde 7: Kode-høydepunkt
Vis et interessant kodeutdrag med forklaring
(Velg noe du er stolt av eller som var utfordrende)

Lysbilde 8: Prosessen
Wireframes -> Prototype -> Ferdig produkt
Kanban-tavle eller sprint-oversikt

Lysbilde 9: Utfordringer og lærdom
Hva var vanskelig? Hva lærte du?

Lysbilde 10: Veien videre
Hva ville du gjort med mer tid?
Takk for oppmerksomheten / spørsmål?

GitHub-profilen din kan fungere som en portefølje som viser hva du kan. Tips for en god GitHub-profil:

- Profil-README: Opprett et repository med samme navn som brukernavnet ditt og legg til en README.md som presenterer deg selv
- Pin beste prosjekter: Velg 4-6 prosjekter du er stolt av og pin dem på profilsiden
- Skriv gode README-filer: Hvert prosjekt bør ha en README som forklarer hva det gjør
- Commit jevnlig: Et grønt bidragsdiagram viser at du er aktiv
- Bruk beskrivende commit-meldinger: Folk kan se historikken din

En god GitHub-profil kan være verdifull når du søker lærlingplass, jobb eller studieplass innen IT.

📝Oppgave 8.5.1

Hva er hovedformålet med en README-fil i et prosjekt?

📝Oppgave 8.5.2

Hvilken av følgende er en god kodekommentar?

📝Oppgave 8.5.3

Hva er Markdown, og hvor brukes det?

📝Oppgave 8.5.4

Hva bør du fokusere på når du presenterer et IT-prosjekt for klassen?

📝Oppgave 8.5.5

Skriv en komplett README.md i Markdown-format for et tenkt IT 1-prosjekt: en nettside for en fiktiv kafé. README-en skal inneholde minst: prosjektnavn, beskrivelse, teknologier brukt, installasjonsinstruksjoner og bidragsytere.

📝Oppgave 8.5.6

Hva er forskjellen mellom brukerdokumentasjon, teknisk dokumentasjon og prosessdokumentasjon?

📝Oppgave 8.5.7

Lag en disposisjon for en 10-minutters presentasjon av et IT 1-prosjekt (en selvvalgt nettside eller app). For hvert lysbilde, skriv hva det bør inneholde og omtrent hvor lang tid du vil bruke. Inkluder også en kort prosessdokumentasjon der du beskriver minst to utfordringer du kunne ha møtt og hvordan de ville blitt løst.