Kursserie
Python Grunnleggende
Lær Python variabler, data typer, operatører, løkker, funksjoner, lister og OOP.

Utdanningskonsept
Kursserien er designet som en trinn-for-trinn innføring i sentrale Python-programmering grunnlag: fra variabler og data typer gjennom kontrollstrukturer til lister og objektorientert programmering. Denne utviklingen følger en klar logisk struktur: Først sikres input, output og typekonvertering, deretter innføres og anvendes beslutninger og gjentakelse som kontrollmekanismer i oppgaveformater. Deretter etableres funksjoner for å strukturere programmer, før lister som datastrukturer og til slutt klasser, metoder og arv som OOP-byggesteiner legges til. I alle modulene støttes sammenhengen mellom konseptklarlegging og implementering i utførbart kode gjennom korte øvelser, typiske feilsituasjoner og systematisk feilfiksering.
For lærere gir dette en strukturert innføring med gjennomsiktig kompetanseutvikling og tydelig inndeling av byggelag. Modulene kan brukes individuelt etter læringssammenhengen og tidsbudsjettet, mens sekvensen også tillater en forståelig overordnet oppbygning med klare læringsmål.
Kompetanseutvikling
- Sikker håndtering av variabler, data typer, typekonvertering og formateret input og output som grunnlag for utførbare programmer.
- Bruk av sammenligningsoperatorer, logiske konjunksjoner og if/elif/else til å modellere beslutningslogikk og inputkontroll.
- Bruk av for- og while-løkker inkludert break/continue for å implementere gjentatte operasjoner og validere input.
- Strukturering av programmer gjennom funksjoner (parametere, returnverdier, standardverdier, funksjonskall) inkludert kontrollert håndtering av None.
- Arbeid med lister som datastruktur (håndteringsmetoder, evaluering, søk, aggregering) samt overgang til objektorientert modellering med klasser, metoder, kapsulering og arv opp mot algoritmiske operasjoner (sortering, datahåndtering).
Struktur av serien
Grundlag for Python-programmering
Lær variabler, data typer og typekonvertering i Python.
Denne modulen etablerer emnesbasisen for serien ved å systematisk innføre input og output, data typer og typekonverteringer. Operatører, utskriftsformatering samt håndtering av typiske feilsituasjoner og debugging etablerer en pålitelig arbeidsmetode tidlig. Dette skaper en stabil grunnlag for de neste modulene om beslutninger, løkker og videre programstruktur.
Betingede uttrykk
Lær programmering med if-setninger.
Basert på sikre dataformer og operatorer, utvikles sammenligningsuttrykk og logiske konjunksjoner (OR/AND) gradvis til komplett beslutningsstruktur. Innebygde betingelser, strengsjekkinger og kombinasjonen av if med try/except utvider inputkontroll mot robust programdesign. Dette forbereder det sentrale kontrollkonseptet som vil tas opp igjen i løkker og senere applikasjonstasker.
Løkker og kontrollstrukturer
Implementer Python-løkker og oppgaver.
Denne modulen utvider beslutningslogikk med gjentagelse som sentral kontrollstruktur, og introduserer for- og while-løkker i typiske øvelsesformater. Iterative prosedyrer (f.eks. faktorialberegning), tilgangskontroller og inputvalidering kombinerer konseptkunnskap med anvendelsesorientert implementering. Med break/continue finnes kontrollen over prosesser forbedret og brukt som forberedelse for mer strukturerte programmer.
Arbeid med funksjoner
Lær Python-funksjoner med parametere og returnverdier.
Etter at kontrollstrukturer er etablert, tar strukturert opdeling av programmer i underoppgaver sentrum. Parametere, returnverdier, standardverdier og funksjonskjeder fremmer rent oppgavestyring (f.eks. med main() som flytstyrer). Kontrollert håndtering av None støtter robust resultatkontroll og skaper kobling til data- og objektorienterte konsepter i de neste modulene.
Arrayer
Lær Python-liste og array-manipulasjon.
Dette modul introduserer lister som sentrale datastrukturer, og kobler dem konsistent sammen med løkker, betingelser og funksjoner. Oppgaver for å registrere, søke og evaluere (f.eks. telle, beregne gjennomsnitt, min/max, summer) styrker overgangen mellom modell (liste som en samling av data) og implementasjon. Med to-dimensjonale lister og innslag i løkker forberedes mer komplekse strukturer som kan brukes i OOP- og administrasjonsoppgaver senere.
Introduksjon til OOP
Lær objektorientert programmering.
Byggende på funksjoner og lister, introduseres modellering med klasser, attributter og metoder, og dyptgående faglig gjennom kapsulering (getters/setters). Prosjektbaserte enheter (f.eks. konto-, bok- eller administrasjonsmodeller) støtter overgangen fra individuelle konstruksjoner til sammenhengende programstrukturer. Arv og kalling av foreldre-metoder utvider repertoaret med å bruke og overskrive, gjør komplekse domænemodeller systematisk tilgjengelig.

Programmeringsspor
Administrering av studenter/ansatte og sorteringsalgoritmer.
Dette siste modul samler tidligere bygde kompetanser innen algoritmisk styrt oppdrag. Med Bubblesort og Quicksort (rekursive funksjonskall) blir flowene nøyaktig strukturert og delt ned i sporbare trinn, mens administrasjonstaken kombinerer arbeid med datastrukturer og evalueringer. Dette fører til en tydelig overgang fra grunnleggende til strukturert problemløsning og systematisk implementering.
For private klienter er det også tilgjengelig et korresponderende kursbud for Python-basert og objektorientert programmering. Kursbud for Python-basert og objektorientert programmering .
Innhold på et glans
Python-programmering grunnleggende
| Innhold | Fokus | Varighet |
|---|---|---|
| Introduksjon til variabler og datatyper | Introduksjon til variabler og datatyper; bruk av input() og konvertering av innmatning; øvelsesprogram for aritmetiske operasjoner. | 15 min |
| Typekonvertering med konsollutskrift | Typekonvertering av brukerinnmatning med int(); utskrift av enkle beregninger. | 15 min |
| Datatypen erkjenning og konvertering | Forklar type(), str(), float(), bool(); erkjenne og konvertere inputtyper. | 25 minutter |
| Grundlegende operatører i Python | Aritmetiske operatører +, -, *, /, //, %; eksempler og øvelser på divisjon og rest. | 25 minutter |
| Formatering av utdata og tekstkobling | Tekst- og tallkobling med komma, + og f-string; forstå forskjeller og anvend dem. | 25 minutter |
| Feilsituasjoner for inndata | Forstå ValueError ved feil inndata; les og analyser feilmeldinger. | 20 minutter |
| Introduksjon til feilsøkemåter | Feilsøking: finn og rett vanlige programmeringsfeil (f.eks. divisjon med null). | 15 minutter |
Betingede uttrykk
| Innhald | Fokus | Varighet |
|---|---|---|
| Introduksjon til logiske uttrykk | Logiske uttrykk med sammenligninger (større enn eller lik, mindre enn eller lik). | 10 min |
| Sjekk for like eller ulike | Uttrykk for å sjekke likhet eller ulikhet. | 5 min |
| Logiske uttrykk med "OR" kombinerer | OR-koblinger for å kombinere flere betingelser (minst en må være oppfylt). | 10 min |
| Bruk av if-setninger for alderssjekker | if/else og sammenligningsoperatører basert på alderssjekker med brukerinput. | 15 minutter |
| Beslutningslogikk med if, elif og else | If/elif/else for beslutningslogikk; eksempel med temperaturinndata og værbeskrivelse. | 15 minutter |
| Logisk AND-tilkobling (og) | Og-operatør for kombinerte betingelser; alder og billett sjekk; tilgangskontroll. | 15 minutter |
| Innslått if-betingelse | Innslåtte if-strukturer og avhengigheter; eksempel med regn og jakke; handling anbefaling. | 20 minutter |
| Tekster og strengsjekk | Strengsammenligning; normalisering med .lower() og .strip(); passord sjekk og tilbakemelding. | 20 minutter |
| Feilkontroll med if og try | If med try/except for inputkontroll; tallvalidering og feilmeldinger. | 20 min |
| Sannhetsverdier og tomme variabler | Sann/falsk; sjekking av tomme strenger/variabler; inputkontroll med if-setning. | 15 min |
Løkker og kontrollstrukturer
| Innhold | Fokus | Varighet |
|---|---|---|
| Forståelse av løkker: for og while | Grunnleggende struktur av for/while; eksempler; løkker for gjentatte oppgaver; kodejustering. | 10 min |
| Iterasjoner med løkker: faktoriell beregning | Faktoriell beregnet iterativt i hovedprogrammet; multipliser trinn for trinn. | 15 min |
| Tilgangskontroll med passord | Passordvalidering med if og løkker; eventuelt ta hensyn til store/små bokstaver. | 10 minutter |
| Inputvalidering med while-løkke | Gjentatt inputkontroll med while helt til et gyldig verdi er til stede. | 20 minutter |
| Styring av løkker med break og continue | break/continue for styring; Modulo (%) for sjekk av delbarhet; flytstyring. | 20 minutter |
| Graderingsystem med poeng | Beregning av karakter med if/elif/else; alternativt utskrift av kommentarer per karakter. | 15 minutter |
Arbeid med funksjoner
| Innhold | Fokus | Varighet |
|---|---|---|
| Kort innføring i funksjoner | Enkel funksjonskall med utgang. | 10 minutter |
| Innføring i funksjoner med returnverdier | Overføring og returnering av verdier; if-spørsmål; Modulo-operatoren for paritetssjekk. | 15 min |
| Funksjoner: parametere og returnverdier i Python | Funksjoner med parametere og returnverdier; øvelse: beregn arealet av et rektangel. | 15 min |
| Flere parametere og standardverdier | Flere parametere; standardverdier; fleksible kall med og uten ekstra parametere. | 20 min |
| Funksjoner som kalles av andre funksjoner | Oppdeling av oppgaver i underfunksjoner; funksjonskall; main() for flytstyring. | 25 min |
| Sjekk returnverdier og håndter None | None som "ingen resultat"; Sjekk med is None; Sikker feilhåndtering uten avbrytning. | 25 minutter |
Arrayer
| Innhold | Fokus | Varighet |
|---|---|---|
| Hva er Arrayer? | Introduksjon til arrayer. | 10 min -> @@ITEM_0001@@10 minutter |
| Legge til elementer i et array | Introduksjon til push(). | 10 minutter |
| Fjerne elementer fra et array | Introduksjon til pop(), shift() og splice(). | 15 minutter |
| Enkel handleliste med lister i Python | Lag en liste; legg til/fjern elementer; funksjoner for interaktive handlinger. | 15 min |
| Telle favorittfag i en liste | Tell gjentatte verdier med for- og if-setninger; utskrift med print(). | 15 min |
| Søke etter navn i en liste | Navnesøk ved hjelp av løkke og if; .lower() for skriveform. | 20 min |
| Beregn karakterer med løkke | Vurder liste; telle med løkke og if; gjennomsnitt med sum() og len(). | 20 min |
| Ukevarme måling | Registrer temperaturer; vurdering med max(), min(), sum(); bestemmer varmeste dag. | 25 min |
| Beregn handlekostnader | Lagre input; sum(), len() og if for prisberegning og advarsel. | 25 minutter |
| Kalorikalkulator med vurdering | Samle kalorieverdier; lage en sum; evaluere ved hjelp av if-setning. | 25 minutter |
| Ut skrive seterad med lister | Iterer gjennom to-dimensjonell liste; utskrift av rader; legge til navnesøk. | 25 minutter |
| Høyde sammenligning i idrettsklassen | Finne største/smallest tall ved hjelp av løkke og sammenligning; regn ut differanse. | 25 minutter |
| Regn ut gjennomsnitt, beste, verste og median notat | Behandle input; regn ut gjennomsnitt, beste/verste og median notat. | 15 minutter |
| Bokstavanalyse med lister | Konverter input til bokstavliste; tel; bestem lengde. | 20 minutter |
Introduksjon til OOP
| Innhold | Fokus | Varighet |
|---|---|---|
| Introduksjon til "objektorientert programmering" | Klasser for gjenbrukbare strukturer; egenskaper og metoder for objekter. | 15 minutter |
| Klasser med egne metoder | Metoder innenfor klassedefinisjon; kall ved instansierede objekter. | 15 minutter |
| Getter- og setter-metoder | Getters/setters; private/public variabler; tilgangskontroll og kapsulering. | 30 minutter |
| Studentklasse med gjennomsnittlig karakter | Utvide klasse; karaktersliste; gjennomsnittsmetode; utskrift med gjennomsnitt. | 30 minutter |
| Bankkonto med innskudd og uttak | Private variabler; sjekk for innskudd/uttak; getter for kontobalans; sikker dataendring. | 35 minutter |
| Administrere biblioteksbøker | Private attributter; låne/låne/status; boolean statusadministrasjon. | 30 minutter |
| Introduksjon til arv | Arv og overskride i underklasser (extends). | 10 min -> @@ITEM_0001@@10 minutter |
| Kalle foreldre-metoder | Kalle foreldre-metoder i arvet klasser med super(). | 15 min -> @@ITEM_0001@@15 minutter |
| Bilflåte med arv | Trening i arv; overskrive metoder; bruke super(). | 35 min |
| Skoleadministrasjon med klasser | Klasser for studenter og skoleklasser; lister, løkker og gjennomsnittsberegning. | 35 min |
Programmeringsarbeidsflyt
| Innhold | Fokus | Varighet |
|---|---|---|
| Bubbel sorteringsmetode | Sortering av arrayer med Bubblesort ved å fullføre eksisterende grunnleggende kode. | 30 min |
| Quicksort med rekursjon | Sortering av arrayer med Quicksort ved rekursive funksjonskall. | 30 min |
| Administrere studenter og karakterer | Programmering av en enkel studentadministrasjonssystem som fleksibelt administrerer fag og karakterer. | 15 min |
For undervisning gir en tydelig strukturert sekvens av moduler en forståelig fremdrift og gjennomsiktige kompetanseutvikling. Byggesteinen kan kombineres og tilpasses etter behov i tidsrommet ifølge læringssituasjonen.
For å få en innblikk i struktur og materialer, kan en demo-tilgang brukes til å teste serien i din egen undervisningskontekst. Dette lar deg praktisk sjekke passformen med eksisterende kurrikulumsplanlegging.