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.