20TD02U_ForAlle_Blooms_Side1_BlandetDrops - itnett/FTD02N GitHub Wiki
+++markdown
🎓 Helhetlig Forståelse av Programmeringskonsepter og Læringsutbytte på Masternivå
Denne redegjørelsen tar sikte på å gi en grundig og helhetlig forståelse av sentrale programmeringskonsepter, samt demonstrere hvordan disse kan anvendes, analyseres, evalueres og videreutvikles i tråd med Blooms taksonomi. Ved å kombinere teoretisk innsikt med praktiske eksempler og refleksjoner, vil vi vise et læringsutbytte på masternivå innenfor de definerte områdene.
📜 1. Programstrukturer: Grunnmuren i All Kode
Programstrukturer er de grunnleggende byggesteinene i all kode. De definerer hvordan instruksjoner utføres og hvordan programmet flyter fra én handling til den neste. På et masternivå forventes det at man ikke bare kan huske og forstå disse strukturene, men også anvende, analysere, evaluere og skape med dem.
🔄 Sekvens:
Den enkleste strukturen, hvor instruksjoner utføres i rekkefølge.
🔄 Valg (Seleksjon):
Brukes til å ta beslutninger i koden, typisk med if
, else if
, og else
-setninger. Dette gir programmet muligheten til å utføre ulike handlinger basert på gitte betingelser.
🔄 Gjentakelse (Iterasjon):
Gjentar en blokk med kode flere ganger, enten et bestemt antall ganger (for
-løkker) eller så lenge en betingelse er oppfylt (while
-løkker).
🎨 Illustrasjon - Valg (Seleksjon):
🗂 2. Datastrukturer: Organisering av Informasjon
Datastrukturer er måten vi organiserer og lagrer data på i et program. På masternivå forventes det en dyp forståelse av ulike datastrukturer, deres egenskaper og hvordan de kan brukes effektivt i ulike situasjoner.
📚 Arrayer/Lister:
En ordnet samling av elementer, hvor hvert element kan nås via en indeks.
📚 Lenkede lister:
En sekvens av noder, hvor hver node inneholder data og en peker til neste node.
📚 Stakker og køer:
Spesialiserte datastrukturer som følger LIFO (Last In, First Out) og FIFO (First In, First Out) prinsipper.
📚 Trær og grafer:
Hierarkiske og nettverksbaserte datastrukturer som brukes til å representere relasjoner mellom data.
📚 Hashtabeller:
Bruker hash-funksjoner for å lagre og hente data raskt basert på en nøkkel.
🎨 Illustrasjon - Lenket Liste:
📦 3. Bibliotek: Gjenbruk av Kode
Biblioteker er samlinger av ferdiglaget kode som kan gjenbrukes i egne programmer. Dette sparer tid og krefter, og lar utviklere fokusere på kjernelogikken i applikasjonen.
requests
-Biblioteket:
🎨 Illustrasjon - Bruk av
🔧 4. Funksjoner og Metoder: Modularisering og Gjenbruk
Funksjoner og metoder er essensielle verktøy for å organisere kode, gjøre den mer lesbar og gjenbrukbar.
🎨 Illustrasjon - Funksjon med Parametere og Returverdi:
🏗 5. Objektorientert Programmering (OOP): Modellering av den Virkelige Verden
OOP er et kraftig paradigme som lar oss modellere programmer som samlinger av objekter som samhandler med hverandre.
🎨 Illustrasjon - Arv og Polymorfisme:
🐞 6. Debugging, Testing og Unntaksbehandling: Sikre Robust Kode
Debugging, testing og unntakshåndtering er kritiske ferdigheter for å sikre at kode fungerer som forventet og er robust mot feil.
🎨 Illustrasjon - Unntakshåndtering:
🔌 7. API-er: Kommunikasjon mellom Systemer
API-er (Application Programming Interfaces) er grensesnitt som lar ulike programmer kommunisere med hverandre.
🎨 Illustrasjon - Bruk av en REST API:
🖥 8. GUI: Brukervennlige Grensesnitt
GUI-er (Graphical User Interfaces) er visuelle grensesnitt som lar brukere interagere med et program ved hjelp av grafiske elementer som knapper, menyer og vinduer.
🎨 Illustrasjon - Enkelt GUI med Tkinter:
📝 9. UML: Modellering og Design
UML (Unified Modeling Language) er et visuelt språk for å modellere og designe programvare.
🎨 Illustrasjon - Klassediagram:
+-----------------+ +-----------------+
| Person | | Student |
+-----------------+ +-----------------+
| - navn: String | | - studentnummer: int|
| - alder: int | +-----------------+
+-----------------+
| + snakk() |
+-----------------+
📂 10. Filbehandling: Lagring og Henting av Data
Filbehandling er en viktig del av mange applikasjoner, da det lar oss lagre og hente data permanent.
🎨 Illustrasjon - Lese fra en Tekstfil:
🔒 11. Datasikkerhet: Beskyttelse av Informasjon
Datas
ikkerhet er avgjørende for å beskytte sensitive data mot uautorisert tilgang, endring eller ødeleggelse.
🎨 Illustrasjon - Sikker Lagring av Passord:
📡 12. Kommunikasjon mellom Programgrensesnitt: Integrasjon og Datautveksling
I dagens sammenkoblede verden er det sjelden at applikasjoner opererer i isolasjon. De trenger å kommunisere med hverandre, utveksle data og utnytte tjenester fra eksterne systemer. Dette gjøres gjennom API-er (Application Programming Interfaces).
🎨 Illustrasjon - REST API-kall med Python Requests:
🏆 Læringsutbytte
🎓 Kunnskap:
Kandidaten demonstrerer en dyp og helhetlig forståelse av grunnleggende programmeringskonsepter og verktøy.
🔧 Ferdigheter:
Kandidaten kan ikke bare skrive kode, men også lese, tolke, vedlikeholde og forbedre eksisterende kode.
🌍 Generell Kompetanse:
Kandidaten demonstrerer en evne til å kontinuerlig lære og utvikle seg innen programmering.
🎯 Konklusjon
Gjennom denne redegjørelsen har vi demonstrert en helhetlig forståelse av programmeringskonsepter og læringsutbytte på masternivå. Vi har vist hvordan man kan anvende, analysere, evaluere og skape innenfor ulike områder av programmering, og hvordan disse ferdighetene bidrar til å utvikle kompetente og ansvarlige programvareutviklere. +++