Kursserie
Grundläggande Python
Lär dig Python variabler, datatyper, operatorer, loopar, funktioner, listor och OOP.

Utbildningskoncept
Kursserien är utformad som en steg-för-steg introduktion till centrala Python-programmeringsgrunder: från variabler och datatyper via kontrollstrukturer till listor och objektorienterad programmering. Utvecklingen följer ett tydligt logiskt struktur: Först säkerställs input, output och typkonvertering, följt av beslut och upprepning som kontrollmekanismer introduceras och tillämpas i uppgiftsformer. På denna grund etableras funktioner för att strukturera programmet, innan listor som datastrukturer och slutligen klasser, metoder och arv som OOP-byggblock läggs till. I alla moduler stöds kopplingen mellan konceptklarläggning och implementering i körbar kod genom korta övningar, typiska fel situationer och systematiskt debugga.
För lärare innebär detta en strukturerad introduktion med tydlig kompetensutveckling och tydligt uppdelade byggblock. Modulerna kan användas individuellt utifrån lärandegruppen och tidsbudgeten, samtidigt som sekvensen också möjliggör ett förståeligt övergripande uppbyggnad med tydliga lärandemål.
Kompetensutveckling
- Säker hantering av variabler, datatyper, typkonvertering och formaterad in- och utmatning som grund för körbara program.
- Användning av jämförelseoperatorer, logiska konjunktioner och if/elif/else för att modellera beslutslogik och inputkontroll.
- Användning av for- och while-loopar inklusive break/continue för att implementera upprepade operationer och validera inmatningar.
- Strukturering av program genom funktioner (parametrar, returnvärdet, standardvärden, funktionskall) inklusive kontrollerad hantering av None.
- Arbete med listor som datastrukturer (hämtning, utvärdering, sökning, aggregering) samt övergång till objektorienterat modellering med klasser, metoder, kapsling och arv upp till algoritmiska operationer (sortering, hantering av data).
Struktur av serien
Grundläggande Python-programmering
Lär dig variabler, datatyper och typkonvertering i Python.
Denna modul etablerar ämnesgrunden för serien genom systematisk introduktion av in- och utmatning, datatyper och typkonvertering. Operatorer, utmatningsformatering samt hantering av vanliga fel situationer och debuggning etablerar ett pålitligt arbetsätt tidigt. Detta skapar en stabil grund för de kommande modulerna om beslut, loopar och ytterligare programstruktur.
Villkorliga uttryck
Lär dig programmera med if-satser.
Baserat på säkert arbete med datatyper och operatorer, utvecklas jämförelseuttryck och logiska konjunktioner (OR/AND) till fullständiga beslutsstrukturer. Inbyggda villkor, strängkontroller och kombinationen av if med try/except utvidgar inmatningskontroll mot robust programdesign. Detta förbereder det centrala kontrollkonceptet som återkommer i loopar och senare applikationstyper.
Loopar och kontrollstrukturer
Implementera Python-loopar och uppgifter.
Detta modul utvidgar beslutslogik med återupprepning som central kontrollstruktur och introducerar for- och while-loopar i typiska övningsformat. Iterativa procedurer (t.ex. faktoriellberäkning), åtkomstkontroller och inmatningsvalidering kombinerar konceptkunskap med applikationsorienterad implementering. Med break/continue förfinas processkontrollen och används som förberedelse för mer strukturerade program.
Arbete med funktioner
Lär dig Python-funktioner med parametrar och returnvärden.
Efter att kontrollstrukturer har etablerats, tar strukturerad uppdelning av program i underuppgifter centrum. Parametrar, returnvärden, standardvärden och funktionssammanhang främjar ren uppgiftsdelning (t.ex. med main() som flödeskontroll). Kontrollerat hantering av None stödjer robust resultatkontroll och skapar koppling till data- och objektorienterade koncept i de följande modulerna.
Arrays
Lär dig Python-listor och arrayhantering.
Detta modul introducerar listor som den centrala datstrukturen och kopplar dem konsekvent till loopar, villkor och funktioner. Uppgifter för att registrera, söka och utvärdera (t.ex. räkna, beräkna medelvärde, min/max, summering) stärker överföringen mellan modell (lista som en samling data) och implementering. Med tvådimensionella listor och inbäddade loopar förbereder man mer komplexa strukturer som kan användas i OOP- och administrationsuppgifter senare.
Introduktion till OOP
Lär dig objektorienterad programmering.
Byggande på funktioner och listor introducerar modellering med klasser, attribut och metoder och fördjupas fachligt genom kapsling (getters/setters). Projektbaserade enheter (t.ex. konto-, bok- eller administrationsmodeller) stödjer övergången från enskilda konstruktioner till sammanhängande programstrukturer. Arv och anrop av föräldrafunktioner utvidgar repertoar med återanvändning och överskridande, vilket gör komplexa domänmodeller systematiskt tillgängliga.

Programmeringsflöden
Hantering av studenter/staff och sorteringsalgoritmer.
Det här slutgiltiga modulen sammanfogar tidigare byggda kompetenser inom algoritmiskt drivena uppgiftsdelningar. Med Bubblesort och Quicksort (rekursiva funktioner) struktureras flöden exakt och delas upp i spårbara steg, medan hanteringsuppgiften kombinerar arbete med datastrukturer och utvärderingar. Detta leder till en tydlig progression från grunderna till strukturerat problemlösning och systematisk implementering.
För privatkunder finns det också ett motsvarande kurserbjudande för Python-basics och objektorienterad programmering tillgängligt. Kurserbjudande för Python-basics och objektorienterad programmering .
Innehåll på en titt
Python-programmering grundläggande
| Innehåll | Fokus | Varaktighet |
|---|---|---|
| Introduktion till variabler och datatyper | Introduktion till variabler och datatyper; användning av input() och omvandling av inmatningar; övningsprogram för aritmetiska operationer. | 15 min |
| Typomvandling med konsolutdata | Typomvandling av användarinmatning med int(); utdata enkla beräkningar. | 15 min |
| Datatypidentifiering och omvandling | Förklara type(), str(), float(), bool(); identifiera och omvandla inmatningstyper. | 25 minuter |
| Grundläggande operatorer i Python | Aritmetiska operatorer +, -, *, /, //, %; exempel och övningar på division och rest. | 25 minuter |
| Formatering av utdata och textconcatenation | Text- och nummerconcatenation med komma, + och f-strängar; förstå skillnader och tillämpa. | 25 minuter |
| Fel situationer för inmatning | Förstå ValueError vid felaktig inmatning; läs och analysera fel. | 20 minuter |
| Introduktion till debuggningstekniker | Debugging: hitta och åtgärda vanliga programmeringsfel (t.ex. division med noll). | 15 minuter |
Villkorssatser
| Innehåll | Fokus | Varaktighet |
|---|---|---|
| Introduktion till logiska uttryck | Logiska uttryck med jämförelser (större än eller lika, mindre än eller lika). | 10 min |
| Kontroller för likhet eller olikhet | Uttryck som kontrollerar likhet eller olikhet. | 5 min |
| Logiska uttryck med "ELLER" kombinera | ELLER-kopplingar för att kombinera fler villkor (minst ett uppfyllt). | 10 min |
| Använda if-satser för ålderssökning | if/else och jämförelseoperatorer baserade på ålderssökning med användarinmatning. | 15 minuter |
| Beslutslogik med if, elif och else | If/elif/else för beslutslogik; exempel med temperaturinmatning och väderbeskrivning. | 15 minuter |
| Logisk AND-anslutning (och) | Och-operatör för kombinerade villkor; ålder och biljettkontroll; tillgångskontroll. | 15 minuter |
| Inbyggda if-villkor | Inbyggda if-strukturer och beroenden; exempel regn och jacka; åtgärdsrekommendation. | 20 minuter |
| Texter och strängkontroll | Strängjämförelse; normalisering med .lower() och .strip(); lösenordskontroll och feedback. | 20 minuter |
| Felhantering med if och try | If med try/except för inmatningskontroll; numerisk validering och felmeddelanden. | 20 min |
| Sant/värde och tomma variabler | Sant/falskt; kontroll av tomma strängar/variabler; inmatningskontroll med if-sats. | 15 min |
Loopar och kontrollstrukturer
| Innehåll | Fokus | Varaktighet |
|---|---|---|
| Förståelse av loopar: for och while | Grundstruktur för for/while; exempel; loopar för upprepade uppgifter; kodanpassning. | 10 min |
| Iterationer med loopar: faktoriell beräkning | Faktoriell iterativt beräknad i huvudprogrammet; multiplicera steg för steg. | 15 min |
| Tillgångskontroll med lösenord | Lösenordsvalidering med if och loopar; eventuellt beakta versalens känslighet. | 10 minuter |
| Inmatningsvalidering med while-loop | Upprepade inmatningskontroller med while tills ett giltigt värde finns. | 20 minuter |
| Styrning av loop med break och continue | break/continue för styrning; Modulo (%) för kontroll av delbarhet; flödesstyrning. | 20 minuter |
| Betygssystem med poäng | Beräkna betyg med if/elif/else; eventuellt utskrift av kommentarer per betyg. | 15 minuter |
Arbete med funktioner
| Innehåll | Fokus | Varaktighet |
|---|---|---|
| Kort introduktion till funktioner | Enkel anrop av funktion med utskrift. | 10 minuter |
| Introduktion till funktioner med återgivna värden | Överföring och återgivning av värden; if-frågor; Modulo-operatör för paritetstest. | 15 min |
| Funktioner: parametrar och återgivna värden i Python | Funktioner med parametrar och återgivna värden; övning: beräkna arean av ett rektangel. | 15 min |
| Flera parametrar och standardvärden | Flera parametrar; standardvärden; flexibla anrop med och utan ytterligare parametrar. | 20 min |
| Funktioner som anropar andra funktioner | Uppgiftsdelning i underfunktioner; funktionshanrop; main() för flödesstyrning. | 25 min |
| Kontrollera återgivna värden och hantera None | None som "inget resultat"; Kontrollera med is None; säker felhantering utan avbrott. | 25 minuter |
Arrayer
| Innehåll | Fokus | Varaktighet |
|---|---|---|
| Vad är Arrayer? | Introduktion till arrayer. | 10 min -> @@ITEM_0001@@10 minuter |
| Lägga till element i en array | Introduktion till push(). | 10 minuter |
| Ta bort element från en array | Introduktion till pop(), shift() och splice(). | 15 minuter |
| Enkel shoppinglista med listor i Python | Skapa en lista; lägg till/ta bort element; funktioner för interaktiva åtgärder. | 15 min |
| Räkna favoritämnen i en lista | Räkna upprepade värden med for- och if-satser; utskrift med print(). | 15 min |
| Söka efter namn i en lista | Namnsökning via loop och if; .lower() för känslighet mot versaler. | 20 min |
| Betygsgivning med loop | Bedöm lista; räkna med loop och if; genomsnitt med sum() och len(). | 20 min |
| Veckos temperaturemätning | Registrera temperaturer; bedömning med max(), min(), sum(); bestämma varmaste dag. | 25 min |
| Beräkna shoppingkostnader | Spara inmatningar; sum(), len() och if för prisberäkning och varning. | 25 minuter |
| Kalorikalkylator med bedömning | Samla kalorivärden; forma en summa; bedöm med if-sats. | 25 minuter |
| Sittplatsrad utskrift med listor | Iterera genom tvådimensionell lista; skriv ut rader; lägg till namnsökning. | 25 minuter |
| Jämförelse av längd i idrottsklassen | Hitta största/minsta tal med hjälp av loop och jämförelse; beräkna skillnaden. | 25 minuter |
| Beräkna genomsnitt, bäst, sämst och medianbetyg | Bearbeta inmatning; beräkna genomsnitt, bäst/sämst och medianbetyg. | 15 minuter |
| Analys av alfabet med listor | Konvertera inmatning till alfabetlista; räkna antal; bestäm längd. | 20 minuter |
Introduktion till OOP
| Innehåll | Fokus | Varaktighet |
|---|---|---|
| Introduktion till "objektorienterad programmering" | Klasser för återanvändbara strukturer; egenskaper och metoder för objekt. | 15 minuter |
| Klasser med egna metoder | Metoder inom klassdefinitionen; anropa via instansierade objekt. | 15 minuter |
| Getter- och Setter-metoder | Getters/setters; privata/offentliga variabler; åtkomstkontroll och kapsling. | 30 minuter |
| Studentklass med genomsnittsbetyg | Utöka klassen; betygslista; genomsnittsmetod; utdata med genomsnitt. | 30 minuter |
| Bankkonto med insättningar och uttag | Privata variabler; kontrollera insättning/uttag; getter för kontobalans; säker dataändring. | 35 minuter |
| Hantera biblioteksböcker | Privata attribut; lån/börja/status; hantering av boolean-status. | 30 minuter |
| Introduktion till arv | Arv och överskridande i underklasser (extends). | 10 min -> @@ITEM_0001@@10 minuter |
| Anropa föräldrars metoder | Anropa föräldrars metoder i arvade klasser med super(). | 15 min -> @@ITEM_0001@@15 minuter |
| Fordonssamling med arv | Öva på arv; överskrida metoder; använda super(). | 35 min |
| Skoladministration med klasser | Klasserna elev och skolklass; listor, loopar och genomsnittsberäkning. | 35 min |
Programmeringsarbetsflöden
| Innehåll | Fokus | Varaktighet |
|---|---|---|
| Bubble-sort | Sortera arrayer med Bubblesort genom att slutföra ett befintligt grundläggande kodexempel. | 30 min |
| Quicksort med rekursion | Sortera arrayer med Quicksort genom rekursiv funktionskall. | 30 min |
| Hantera elever och betyg | Programmera ett enkelt elevhanteringsystem som flexibelt hanterar ämnen och betygsättning. | 15 min |
För undervisning ger en tydligt strukturerad sekvens av moduler ett förståeligt utvecklingsflöde med genomskinlig kompetensutveckling. Byggblocken kan kombineras och anpassas efter tid enligt lärandegruppen.
För att få en insikt i struktur och material kan en demo-tillgång användas för att testa serien i din egen undervisningskontext. Detta gör det möjligt att praktiskt kontrollera anpassningen till ditt befintliga kurstillvägagångssätt.