20TD02U Logiskemetoder_v2 - itnett/FTD02H-N GitHub Wiki
Modell for Logisk Metode Anvendt på 20TD02U Programmering og Blooms Taksonomi
Emnets Naturlige Underkomponenter
- Programstrukturer
 - Datastrukturer
 - Bibliotek
 - Funksjoner og metoder
 - Objektorientert programmering
 - Debugging, testing og unntaksbehandling
 - API
 - GUI
 - UML
 - Filbehandling
 - Datasikkerhet
 
Logisk Metode og Blooms Taksonomi for Hver Underkomponent
1. Programstrukturer
Student:
- Huske: "Hva er en programstruktur? Beskriv kort de grunnleggende komponentene i en programstruktur."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Anvende: "Hvordan strukturerer du et program for å sikre lesbarhet og vedlikehold? Gi et konkret eksempel."
- Logisk Metode: Bruke teoretisk kunnskap i praktiske situasjoner.
 - Blooms Nivå: Anvende konsepter i reelle situasjoner.
 
 
2. Datastrukturer
Student:
- Forstå: "Forklar forskjellen mellom en liste og en stakk, og gi eksempler på bruksområder."
- Logisk Metode: Forklare og tolke konsepter.
 - Blooms Nivå: Demonstrere forståelse.
 
 
Profesjonell utøver:
- Analysere: "Hvordan kan du analysere ytelsen til forskjellige datastrukturer for å velge den mest effektive for et gitt problem?"
- Logisk Metode: Dekomponere og vurdere datastrukturer.
 - Blooms Nivå: Analysere komponenter.
 
 
3. Bibliotek
Student:
- Huske: "Hva er et bibliotek i programmering? Beskriv kort hvordan biblioteker brukes."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Skape: "Utvikle et bibliotek for å håndtere spesifikke oppgaver i ditt prosjekt, og gi eksempler på bruken."
- Logisk Metode: Syntetisere og skape nye verktøy basert på behov.
 - Blooms Nivå: Skape innovative løsninger.
 
 
4. Funksjoner og Metoder
Student:
- Forstå: "Forklar forskjellen mellom en funksjon og en metode."
- Logisk Metode: Forklare og tolke konsepter.
 - Blooms Nivå: Demonstrere forståelse.
 
 
Profesjonell utøver:
- Anvende: "Hvordan skriver og bruker du funksjoner og metoder for å forbedre gjenbrukbarheten av koden din?"
- Logisk Metode: Bruke kunnskap i praksis.
 - Blooms Nivå: Anvende konsepter praktisk.
 
 
5. Objektorientert Programmering
Student:
- Huske: "Hva er objektorientert programmering (OOP)? Beskriv kort de viktigste prinsippene i OOP."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Skape: "Utvikle et objektorientert program for å løse et reelt problem i arbeidsplassen din."
- Logisk Metode: Syntetisere og skape løsninger basert på OOP-prinsipper.
 - Blooms Nivå: Skape innovative løsninger.
 
 
6. Debugging, Testing og Unntaksbehandling
Student:
- Forstå: "Forklar hvorfor debugging og testing er viktige deler av programmeringsprosessen."
- Logisk Metode: Forklare og tolke betydningen.
 - Blooms Nivå: Demonstrere forståelse.
 
 
Profesjonell utøver:
- Analysere: "Hvordan kan du analysere testresultater og feilrapporter for å forbedre programmet ditt?"
- Logisk Metode: Dekomponere og vurdere testdata.
 - Blooms Nivå: Analysere komponenter.
 
 
7. API
Student:
- Huske: "Hva er et API? Beskriv kort hvordan APIer brukes i programmering."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Anvende: "Hvordan integrerer du et eksternt API i ditt program? Gi et konkret eksempel."
- Logisk Metode: Bruke kunnskap i praksis.
 - Blooms Nivå: Anvende konsepter praktisk.
 
 
8. GUI
Student:
- Forstå: "Forklar viktigheten av et godt brukergrensesnitt (GUI)."
- Logisk Metode: Forklare og tolke betydningen.
 - Blooms Nivå: Demonstrere forståelse.
 
 
Profesjonell utøver:
- Skape: "Utvikle et GUI for en applikasjon i ditt prosjekt som forbedrer brukeropplevelsen."
- Logisk Metode: Syntetisere og skape nye grensesnitt.
 - Blooms Nivå: Skape innovative løsninger.
 
 
9. UML
Student:
- Huske: "Hva er UML? Beskriv kort hovedkomponentene i et UML-diagram."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Anvende: "Hvordan bruker du UML-diagrammer for å planlegge og designe programvare? Gi et konkret eksempel."
- Logisk Metode: Bruke kunnskap i praksis.
 - Blooms Nivå: Anvende konsepter praktisk.
 
 
10. Filbehandling
Student:
- Forstå: "Forklar grunnleggende prinsipper for filbehandling i programmering."
- Logisk Metode: Forklare og tolke prinsipper.
 - Blooms Nivå: Demonstrere forståelse.
 
 
Profesjonell utøver:
- Analysere: "Hvordan kan du analysere og optimalisere filbehandlingsoperasjoner i ditt program?"
- Logisk Metode: Dekomponere og vurdere filbehandlingsdata.
 - Blooms Nivå: Analysere komponenter.
 
 
11. Datasikkerhet
Student:
- Huske: "Hva er grunnleggende datasikkerhetsprinsipper i programmering? Beskriv kort."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Skape: "Utvikle en sikkerhetsplan for applikasjonen din for å beskytte mot vanlige sikkerhetstrusler."
- Logisk Metode: Syntetisere og skape nye sikkerhetsstrategier.
 - Blooms Nivå: Skape innovative løsninger.
 
 
Sett Under Ett: Integrering av Logisk Metode og Blooms Taksonomi for 20TD02U Programmering
Konseptuell Modell:
- Identifisere Kunnskap: Start med å huske og forstå grunnleggende konsepter og terminologi (Huske, Forstå).
 - Anvendelse og Praktisk Erfaring: Bruk kunnskapen i praktiske situasjoner og prosjekter (Anvende).
 - Dekomponering og Analyse: Analyser data og forhold mellom komponenter for å forstå dypere (Analysere).
 - Kritisk Vurdering: Evaluere og bedømme ideer og løsninger basert på definerte kriterier (Evaluere).
 - Innovasjon og Skapelse: Kombinere kunnskap og erfaringer for å skape nye ideer og produkter (Skape).
 
Prompts Samlet:
- Huske: "Hva er en programstruktur? Beskriv kort de grunnleggende komponentene i en programstruktur."
 - Forstå: "Forklar forskjellen mellom en liste og en stakk, og gi eksempler på bruksområder."
 - Anvende: "Hvordan strukturerer du et program for å sikre lesbarhet og vedlikehold? Gi et konkret eksempel."
 - Analysere: "Hvordan kan du analysere ytelsen til forskjellige datastrukturer for å velge den mest effektive for et gitt problem?"
 - Evaluere: "Vurder fordeler og ulemper ved bruk av ulike datastrukturer i en applikasjon."
 - Skape:
 
"Utvikle et bibliotek for å håndtere spesifikke oppgaver i ditt prosjekt, og gi eksempler på bruken."
Ved å følge denne modellen, kan studenter og yrkesutøvere i 20TD02U Programmering utvikle en dyp og anvendbar forståelse av emnet, samtidig som de utnytter logiske metoder for å oppnå hver fase av Blooms taksonomi.
Utvidelse av Underemner for Hovedtematikken i 20TD02U Programmering
Programstrukturer
- Sekvens: Hvordan sekvensiell utførelse av instruksjoner fungerer.
 - Valg: If-setninger, switch-case og andre kontrollstrukturer.
 - Løkker: For-løkker, while-løkker, do-while-løkker.
 - Nesting: Innleiring av kontrollstrukturer og løkker.
 - Rekursjon: Bruk av rekursive funksjoner.
 - Modularitet: Oppdeling av kode i moduler og funksjoner.
 - Scope: Lokale og globale variabler.
 - Error Handling: Grunnleggende feilbehandling.
 - Flow Control: Kontroll av programflyt og unntakshåndtering.
 - Concurrency: Grunnleggende parallellitet og tråder.
 
Datastrukturer
- Arrays: Statisk og dynamisk arrays.
 - Lister: Enkeltlenkede og dobbeltlenkede lister.
 - Stakker: LIFO-strukturer og bruksområder.
 - Køer: FIFO-strukturer og bruksområder.
 - Trær: Binære trær, AVL-trær, og B-trær.
 - Grafer: Adjacency lists og adjacency matrices.
 - Hash-tabeller: Hashing-algoritmer og kollisjonsløsning.
 - Heaps: Maks-heap og min-heap.
 - Sets: Unike samlinger og operasjoner på sett.
 - Map/Dictionary: Nøkkel-verdi par strukturer.
 
Bibliotek
- Standardbibliotek: Bruk av språkets standardbibliotek.
 - Tredjepartsbibliotek: Integrasjon av eksterne biblioteker.
 - Egendefinerte bibliotek: Opprettelse av egne biblioteker.
 - Versjonshåndtering: Håndtering av bibliotekversjoner.
 - Pakkebehandling: Bruk av pakkebehandlere som npm, pip, etc.
 - Dokumentasjon: Skriving av dokumentasjon for biblioteker.
 - Testbibliotek: Integrasjon av testbiblioteker.
 - Optimalisering: Forbedring av bibliotekytelse.
 - Sikkerhet: Sikker bruk og oppdatering av biblioteker.
 - Distribusjon: Publisering og distribusjon av biblioteker.
 
Funksjoner og Metoder
- Definisjon: Definere funksjoner og metoder.
 - Overlasting: Funksjon og metode overlasting.
 - Rekursjon: Rekursive funksjoner.
 - Return Types: Forskjellige typer returverdier.
 - Parameter Passing: Passering av parametere (by value, by reference).
 - Høyere-ordens funksjoner: Funksjoner som tar funksjoner som argumenter eller returnerer funksjoner.
 - Lamda-funksjoner: Anonyme funksjoner.
 - Scope og Lifetime: Variabel scope og levetid.
 - Pure Functions: Rene funksjoner og immutability.
 - Asynkrone funksjoner: Asynkron programmering og løfter.
 
Objektorientert Programmering
- Klasser og Objekter: Definere klasser og opprette objekter.
 - Inheritance: Arv og polymorfisme.
 - Encapsulation: Innkapsling og databeskyttelse.
 - Abstraksjon: Abstrakte klasser og grensesnitt.
 - Metode Overriding: Overriding av metoder.
 - Sammensetning: Bruk av objekter som medlemsvariabler.
 - Design Patterns: Grunnleggende designmønstre.
 - Constructors: Konstruktører og destructors.
 - Access Modifiers: Private, public, og protected.
 - Static Members: Statisk variabler og metoder.
 
Debugging, Testing og Unntaksbehandling
- Debugging Tools: Bruk av debugging-verktøy.
 - Breakpoint: Sett av breakpoints og stepping gjennom kode.
 - Unit Testing: Skriving av enhetstester.
 - Integration Testing: Integrasjonstesting.
 - System Testing: Systemtesting.
 - Test Coverage: Mål og forbedring av testdekning.
 - Exception Handling: Håndtering av unntak og feil.
 - Logging: Logging og feilsøking.
 - Automated Testing: Automatisering av tester.
 - Test-Driven Development: Testdrevet utvikling (TDD).
 
API
- REST API: Opprette og bruke RESTful APIer.
 - SOAP: SOAP-protokollen og bruksområder.
 - GraphQL: Bruk av GraphQL for APIer.
 - API Autentisering: OAuth, JWT og API nøkler.
 - Rate Limiting: Begrenser API-kall.
 - API Dokumentasjon: Opprette og vedlikeholde API-dokumentasjon.
 - Versioning: Versjonering av APIer.
 - Error Handling: Håndtering av feil i APIer.
 - Throttling: Throttling teknikker.
 - Security: Sikkerhet i APIer.
 
GUI
- Event Handling: Håndtering av brukerhendelser.
 - Layout Management: Layout og plassering av GUI-elementer.
 - Widgets: Bruk av forskjellige widgets.
 - Styling: Styling av GUI med CSS eller lignende teknologier.
 - Data Binding: Binding av data til GUI-komponenter.
 - MVC Pattern: Model-View-Controller mønster.
 - User Input Validation: Validering av brukerinput.
 - Accessibility: Tilgjengelighet i GUI-design.
 - Responsive Design: Responsiv GUI-design.
 - GUI Testing: Testing av brukergrensesnitt.
 
UML
- Use Case Diagram: Opprettelse og tolkning av brukstilfeller.
 - Class Diagram: Klassedigram og deres forhold.
 - Sequence Diagram: Sekvensdiagram og interaksjoner.
 - Activity Diagram: Aktivitetsdiagram for prosessflyt.
 - State Diagram: Tilstandsdiagram og tilstandsoverganger.
 - Component Diagram: Komponentdiagram.
 - Deployment Diagram: Distribusjonsdiagram.
 - Object Diagram: Objekt diagram.
 - Package Diagram: Pakke diagram.
 - Composite Structure Diagram: Sammensatt strukturdiagram.
 
Filbehandling
- File I/O: Grunnleggende filinput og output.
 - File Streams: Bruk av filstrømmer.
 - File Modes: Åpne filer i forskjellige moduser.
 - File Parsing: Analysering av filinnhold.
 - File Encryption: Kryptering og dekryptering av filer.
 - File Compression: Komprimering og dekomprimering av filer.
 - Error Handling: Håndtering av feil under filbehandling.
 - Binary Files: Håndtering av binære filer.
 - Text Files: Håndtering av tekstfiler.
 - File Permissions: Innstilling av filrettigheter.
 
Datasikkerhet
- Encryption: Kryptering og dekryptering teknikker.
 - Authentication: Autentisering og autorisasjon.
 - Access Control: Tilgangskontroll mekanismer.
 - Data Integrity: Sikring av dataintegritet.
 - SSL/TLS: Bruk av SSL/TLS for sikker kommunikasjon.
 - SQL Injection: Forebygging av SQL-injeksjon.
 - Cross-site Scripting (XSS): Forebygging av XSS-angrep.
 - Password Management: Sikker håndtering av passord.
 - Secure Coding Practices: Sikre programmeringspraksis.
 - Compliance: Overholdelse av sikkerhetsstandarder og -forskrifter.
 
Logisk Metode og Blooms Taksonomi Anvendt på Utvalgte Underemner
Programstrukturer - Løkker
Student:
- Huske: "Hva er en for-løkke? Beskriv kort syntaksen og bruksområdet."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Anvende: "Hvordan bruker du en for-løkke for å iterere gjennom en liste med objekter? Gi et konkret eksempel fra praksis."
- Logisk Metode: Bruke teoretisk kunnskap i praktiske situasjoner.
 - Blooms Nivå: Anvende konsepter i reelle situasjoner.
 
 
Datastrukturer - Stakker
Student:
- Forstå: "Forklar hvordan en stakk fungerer og gi et eksempel på bruken av en stakk."
- Logisk Metode: Forklare og tolke konsepter.
 - Blooms Nivå: Demonstrere forståelse.
 
 
**Profesjonell
utøver:**
- Analysere: "Hvordan kan du analysere ytelsen til en stakk under forskjellige operasjoner (push, pop)?"
- Logisk Metode: Dekomponere og vurdere datastruktur.
 - Blooms Nivå: Analysere komponenter.
 
 
Bibliotek - Standardbibliotek
Student:
- Huske: "Hva er et standardbibliotek i programmering? Beskriv kort noen vanlige moduler."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Skape: "Utvikle et bibliotek som utvider funksjonaliteten til et eksisterende standardbibliotek og gi eksempler på bruken."
- Logisk Metode: Syntetisere og skape nye verktøy.
 - Blooms Nivå: Skape innovative løsninger.
 
 
Funksjoner og Metoder - Høyere-ordens Funksjoner
Student:
- Forstå: "Hva er en høyere-ordens funksjon? Gi et eksempel på en høyere-ordens funksjon i bruk."
- Logisk Metode: Forklare og tolke konsepter.
 - Blooms Nivå: Demonstrere forståelse.
 
 
Profesjonell utøver:
- Anvende: "Hvordan bruker du høyere-ordens funksjoner for å forbedre fleksibiliteten i koden din?"
- Logisk Metode: Bruke kunnskap i praksis.
 - Blooms Nivå: Anvende konsepter praktisk.
 
 
Objektorientert Programmering - Arv
Student:
- Huske: "Hva er arv i objektorientert programmering? Beskriv kort konseptet."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Skape: "Utvikle et objektorientert program som benytter arv for å modellere et hierarki av klasser."
- Logisk Metode: Syntetisere og skape løsninger.
 - Blooms Nivå: Skape innovative løsninger.
 
 
Debugging, Testing og Unntaksbehandling - Unit Testing
Student:
- Forstå: "Hva er enhetstesting? Beskriv kort hvordan enhetstester fungerer."
- Logisk Metode: Forklare og tolke konsepter.
 - Blooms Nivå: Demonstrere forståelse.
 
 
Profesjonell utøver:
- Analysere: "Hvordan analyserer du resultatene fra enhetstester for å forbedre kvaliteten på programvaren din?"
- Logisk Metode: Dekomponere og vurdere testdata.
 - Blooms Nivå: Analysere komponenter.
 
 
API - REST API
Student:
- Huske: "Hva er et REST API? Beskriv kort hovedprinsippene."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Anvende: "Hvordan utvikler og integrerer du et REST API i en applikasjon? Gi et konkret eksempel."
- Logisk Metode: Bruke kunnskap i praksis.
 - Blooms Nivå: Anvende konsepter praktisk.
 
 
GUI - Event Handling
Student:
- Forstå: "Hva er event handling i GUI-programmering? Beskriv kort hvordan det fungerer."
- Logisk Metode: Forklare og tolke konsepter.
 - Blooms Nivå: Demonstrere forståelse.
 
 
Profesjonell utøver:
- Skape: "Utvikle et GUI-program som inkluderer hendelseshåndtering for ulike brukerinteraksjoner."
- Logisk Metode: Syntetisere og skape nye grensesnitt.
 - Blooms Nivå: Skape innovative løsninger.
 
 
UML - Class Diagram
Student:
- Huske: "Hva er et klassediagram i UML? Beskriv kort komponentene."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Anvende: "Hvordan bruker du klassediagrammer for å designe et objektorientert system? Gi et konkret eksempel."
- Logisk Metode: Bruke kunnskap i praksis.
 - Blooms Nivå: Anvende konsepter praktisk.
 
 
Filbehandling - File I/O
Student:
- Forstå: "Hva er filinput og -output (I/O)? Beskriv kort hvordan det fungerer."
- Logisk Metode: Forklare og tolke prinsipper.
 - Blooms Nivå: Demonstrere forståelse.
 
 
Profesjonell utøver:
- Analysere: "Hvordan kan du optimalisere filbehandlingsoperasjoner for store datafiler?"
- Logisk Metode: Dekomponere og vurdere operasjoner.
 - Blooms Nivå: Analysere komponenter.
 
 
Datasikkerhet - Encryption
Student:
- Huske: "Hva er kryptering? Beskriv kort de grunnleggende prinsippene for kryptering."
- Logisk Metode: Identifisere og definere grunnleggende fakta.
 - Blooms Nivå: Gjenkalle informasjon.
 
 
Profesjonell utøver:
- Skape: "Utvikle en krypteringsmekanisme for å sikre dataene i applikasjonen din."
- Logisk Metode: Syntetisere og skape nye sikkerhetsløsninger.
 - Blooms Nivå: Skape innovative løsninger.
 
 
Sett Under Ett: Integrering av Logisk Metode og Blooms Taksonomi for 20TD02U Programmering
Konseptuell Modell:
- Identifisere Kunnskap: Start med å huske og forstå grunnleggende konsepter og terminologi (Huske, Forstå).
 - Anvendelse og Praktisk Erfaring: Bruk kunnskapen i praktiske situasjoner og prosjekter (Anvende).
 - Dekomponering og Analyse: Analyser data og forhold mellom komponenter for å forstå dypere (Analysere).
 - Kritisk Vurdering: Evaluere og bedømme ideer og løsninger basert på definerte kriterier (Evaluere).
 - Innovasjon og Skapelse: Kombinere kunnskap og erfaringer for å skape nye ideer og produkter (Skape).
 
Prompts Samlet:
- Huske: "Hva er en programstruktur? Beskriv kort de grunnleggende komponentene i en programstruktur."
 - Forstå: "Forklar forskjellen mellom en liste og en stakk, og gi eksempler på bruksområder."
 - Anvende: "Hvordan strukturerer du et program for å sikre lesbarhet og vedlikehold? Gi et konkret eksempel."
 - Analysere: "Hvordan kan du analysere ytelsen til forskjellige datastrukturer for å velge den mest effektive for et gitt problem?"
 - Evaluere: "Vurder fordeler og ulemper ved bruk av ulike datastrukturer i en applikasjon."
 - Skape: "Utvikle et bibliotek for å håndtere spesifikke oppgaver i ditt prosjekt, og gi eksempler på bruken."
 
Ved å følge denne modellen, kan studenter og yrkesutøvere i 20TD02U Programmering utvikle en dyp og anvendbar forståelse av emnet, samtidig som de utnytter logiske metoder for å oppnå hver fase av Blooms taksonomi.