Skapad för: Nätverksteknik-kursen (NT25G_NT) Kursansvarig: Johan Saldes Datum: Oktober 2025
koan/
├── README.md # Studentinstruktioner (svenska)
├── ANSWER_KEY.md # Facit för lärare (KONFIDENTIELL)
├── OVERVIEW.md # Detta dokument
├── run_koans.py # Huvudskript för att köra koans
│
├── basic_python/ # Del 1: Grundläggande Python
│ ├── 01_variables_and_strings.py # Lätt - Variabler & strängar
│ ├── 02_lists_and_loops.py # Medium - Listor & loopar
│ └── 03_functions_and_dictionaries.py # Svår - Funktioner & dicts
│
└── network_automation/ # Del 2: Nätverksautomation
├── 01_ip_address_validation.py # Lätt - IP-validering
├── 02_device_inventory.py # Medium - Device management
└── 03_network_monitoring.py # Svår - Monitoring & logging
| # | Namn | Nivå | Tid | Koncept |
|---|---|---|---|---|
| 01 | Variables & Strings | Lätt | 15-20 min | Variabler, strängar, string-metoder |
| 02 | Lists & Loops | Medium | 30-40 min | Listor, for-loopar, list comprehensions |
| 03 | Functions & Dictionaries | Svår | 45-60 min | Funktioner, dicts, komplex data |
| # | Namn | Nivå | Tid | Koncept | Kursmål |
|---|---|---|---|---|---|
| 04 | IP Address Validation | Lätt | 30-40 min | IP-validering, CIDR, subnät | K5, K11 |
| 05 | Device Inventory | Medium | 45-60 min | Inventory, CSV, data mgmt | K1, F6, K11 |
| 06 | Network Monitoring | Svår | 60-90 min | Logging, monitoring, alerts | K12, K13, F3, F4 |
Total tid: ~3.5-4.5 timmar
Koans är programmeringsövningar baserade på Zen Buddhism:
- Studenten möter kod som inte fungerar
- Uppgiften är att "fylla i luckor" (ersätta
__) - När alla tester är gröna, har studenten lärt sig konceptet
- Läsa - Förstå vad koden gör
- Reflektera - Fundera på vad som saknas
- Prova - Testa sin lösning
- Upprepa - Till alla tester är gröna
# Studenten ser detta:
ip_address = "192.168.1.1"
octets = ip_address.split(".")
assert len(octets) == __, "Fix this: how many octets?"
# De fyller i:
assert len(octets) == 4, "Fix this: how many octets?"# Navigera till mappen
cd koan
# Kör alla koans
python3 run_koans.py
# Eller direkt:
./run_koans.pyProgrammet stannar vid första felet och visar filnamn.
Se ANSWER_KEY.md för kompletta lösningar och pedagogiska tips.
- K1: Nätverksutrustning → Koan 05
- K5: IP-adresser → Koan 04
- K11: Python-script för automation → Alla koans
- K12: Nätverksdrift → Koan 06
- K13: Övervaka kommunikation → Koan 06
- F3: Övervaka prestanda → Koan 06
- F4: Diagnostisera problem → Koan 06
- F6: Dokumentera arkitektur → Koan 05
09:00-13:00: Python-introduktion
- Genomgång av koans-konceptet (15 min)
- Demo av första koanen (15 min)
- Studenter börjar med Koan 01-03 (2-3 timmar)
13:00-15:00: Gästföreläsning
- Magnus Peterson från Validit
15:00-16:00: Nätverksautomation
- Introduktion till Koan 04-06
- Studenter börjar med nätverksautomation
09:00-16:00: Fortsättning och fördjupning
- Slutför alla koans
- Diskussion av lösningar
- Skriva egna automationsskript
- Applicera på labbmiljön
✅ Slutför Koan 01-05 med handledning ✅ Förklara grundläggande Python-koncept ✅ Applicera på enkla automationsuppgifter
✅ Slutför alla koans (01-06) självständigt ✅ Förklara och motivera lösningar ✅ Skriva egna funktioner utöver koanerna ✅ Optimera kod för prestanda ✅ Applicera på komplexa nätverksscenarier
- Python 3.7+
- Ingen externa dependencies
- Fungerar på Mac, Linux, Windows
- Alla koans:
.pyfiler med assertions - Runner:
run_koans.py- kör alla koans i ordning - Stannar vid första felet för fokuserat lärande
Använder Pythons inbyggda assert statement:
assert värde == förväntat, "Felmeddelande"Möjliga utökningar:
- IPv6-koans - Hantera IPv6-adresser
- VLAN-automation - Konfigurera VLANs
- Config templates - Jinja2-templates för configs
- REST API - Anropa nätverks-APIs
- Netmiko-koans - SSH till verklig utrustning
- Implementera subnetting-kalkylator
- SNMP-simulering
- Syslog-server i Python
- Cisco config-generator
- Huvudbok: "Mastering Python Networking" av Eric Chou
- Kapitel 2-3 är mest relevanta för koanerna
- Python docs: https://docs.python.org/3/
- Real Python: https://realpython.com/
- Network Automation: https://github.com/networktocode
Efter koanerna kan studenter utforska:
netmiko- SSH till nätverksutrustningnapalm- Multi-vendor network automationparamiko- SSH-bibliotekansible- Automation platform
A: 3.5-4.5 timmar för de flesta studenter. Snabba studenter kan klara det på 2-3 timmar.
A: Nej, de bygger på varandra. Men avancerade studenter kan gå snabbare genom de tidiga.
A:
- Läs felmeddelandet noga
- Använd
print()för debugging - Diskutera med klasskamrat
- Fråga läraren
- Se ledtrådar i kommentarerna
A: Ja, men uppmuntra först eget tänkande. Målet är förståelse, inte bara rätt svar.
A: Ja! Använd python istället för python3 i terminalen.
Detta koan-system ger studenterna:
- ✅ Strukturerat lärande i Python
- ✅ Direkt koppling till nätverksautomation
- ✅ Praktiska färdigheter för yrkesrollen
- ✅ Självkörande med omedelbar feedback
- ✅ Progressiv svårighetsgrad
Lycka till med kursen! 🐍🌐
För frågor, kontakta Johan Saldes - johan.saldes@lararvikarie.nu