20TD02U Logiskemetoder_v2 - itnett/FTD02H-N GitHub Wiki

Modell for Logisk Metode Anvendt på 20TD02U Programmering og Blooms Taksonomi

Emnets Naturlige Underkomponenter

  1. Programstrukturer
  2. Datastrukturer
  3. Bibliotek
  4. Funksjoner og metoder
  5. Objektorientert programmering
  6. Debugging, testing og unntaksbehandling
  7. API
  8. GUI
  9. UML
  10. Filbehandling
  11. 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:

  1. Identifisere Kunnskap: Start med å huske og forstå grunnleggende konsepter og terminologi (Huske, Forstå).
  2. Anvendelse og Praktisk Erfaring: Bruk kunnskapen i praktiske situasjoner og prosjekter (Anvende).
  3. Dekomponering og Analyse: Analyser data og forhold mellom komponenter for å forstå dypere (Analysere).
  4. Kritisk Vurdering: Evaluere og bedømme ideer og løsninger basert på definerte kriterier (Evaluere).
  5. 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

  1. Sekvens: Hvordan sekvensiell utførelse av instruksjoner fungerer.
  2. Valg: If-setninger, switch-case og andre kontrollstrukturer.
  3. Løkker: For-løkker, while-løkker, do-while-løkker.
  4. Nesting: Innleiring av kontrollstrukturer og løkker.
  5. Rekursjon: Bruk av rekursive funksjoner.
  6. Modularitet: Oppdeling av kode i moduler og funksjoner.
  7. Scope: Lokale og globale variabler.
  8. Error Handling: Grunnleggende feilbehandling.
  9. Flow Control: Kontroll av programflyt og unntakshåndtering.
  10. Concurrency: Grunnleggende parallellitet og tråder.

Datastrukturer

  1. Arrays: Statisk og dynamisk arrays.
  2. Lister: Enkeltlenkede og dobbeltlenkede lister.
  3. Stakker: LIFO-strukturer og bruksområder.
  4. Køer: FIFO-strukturer og bruksområder.
  5. Trær: Binære trær, AVL-trær, og B-trær.
  6. Grafer: Adjacency lists og adjacency matrices.
  7. Hash-tabeller: Hashing-algoritmer og kollisjonsløsning.
  8. Heaps: Maks-heap og min-heap.
  9. Sets: Unike samlinger og operasjoner på sett.
  10. Map/Dictionary: Nøkkel-verdi par strukturer.

Bibliotek

  1. Standardbibliotek: Bruk av språkets standardbibliotek.
  2. Tredjepartsbibliotek: Integrasjon av eksterne biblioteker.
  3. Egendefinerte bibliotek: Opprettelse av egne biblioteker.
  4. Versjonshåndtering: Håndtering av bibliotekversjoner.
  5. Pakkebehandling: Bruk av pakkebehandlere som npm, pip, etc.
  6. Dokumentasjon: Skriving av dokumentasjon for biblioteker.
  7. Testbibliotek: Integrasjon av testbiblioteker.
  8. Optimalisering: Forbedring av bibliotekytelse.
  9. Sikkerhet: Sikker bruk og oppdatering av biblioteker.
  10. Distribusjon: Publisering og distribusjon av biblioteker.

Funksjoner og Metoder

  1. Definisjon: Definere funksjoner og metoder.
  2. Overlasting: Funksjon og metode overlasting.
  3. Rekursjon: Rekursive funksjoner.
  4. Return Types: Forskjellige typer returverdier.
  5. Parameter Passing: Passering av parametere (by value, by reference).
  6. Høyere-ordens funksjoner: Funksjoner som tar funksjoner som argumenter eller returnerer funksjoner.
  7. Lamda-funksjoner: Anonyme funksjoner.
  8. Scope og Lifetime: Variabel scope og levetid.
  9. Pure Functions: Rene funksjoner og immutability.
  10. Asynkrone funksjoner: Asynkron programmering og løfter.

Objektorientert Programmering

  1. Klasser og Objekter: Definere klasser og opprette objekter.
  2. Inheritance: Arv og polymorfisme.
  3. Encapsulation: Innkapsling og databeskyttelse.
  4. Abstraksjon: Abstrakte klasser og grensesnitt.
  5. Metode Overriding: Overriding av metoder.
  6. Sammensetning: Bruk av objekter som medlemsvariabler.
  7. Design Patterns: Grunnleggende designmønstre.
  8. Constructors: Konstruktører og destructors.
  9. Access Modifiers: Private, public, og protected.
  10. Static Members: Statisk variabler og metoder.

Debugging, Testing og Unntaksbehandling

  1. Debugging Tools: Bruk av debugging-verktøy.
  2. Breakpoint: Sett av breakpoints og stepping gjennom kode.
  3. Unit Testing: Skriving av enhetstester.
  4. Integration Testing: Integrasjonstesting.
  5. System Testing: Systemtesting.
  6. Test Coverage: Mål og forbedring av testdekning.
  7. Exception Handling: Håndtering av unntak og feil.
  8. Logging: Logging og feilsøking.
  9. Automated Testing: Automatisering av tester.
  10. Test-Driven Development: Testdrevet utvikling (TDD).

API

  1. REST API: Opprette og bruke RESTful APIer.
  2. SOAP: SOAP-protokollen og bruksområder.
  3. GraphQL: Bruk av GraphQL for APIer.
  4. API Autentisering: OAuth, JWT og API nøkler.
  5. Rate Limiting: Begrenser API-kall.
  6. API Dokumentasjon: Opprette og vedlikeholde API-dokumentasjon.
  7. Versioning: Versjonering av APIer.
  8. Error Handling: Håndtering av feil i APIer.
  9. Throttling: Throttling teknikker.
  10. Security: Sikkerhet i APIer.

GUI

  1. Event Handling: Håndtering av brukerhendelser.
  2. Layout Management: Layout og plassering av GUI-elementer.
  3. Widgets: Bruk av forskjellige widgets.
  4. Styling: Styling av GUI med CSS eller lignende teknologier.
  5. Data Binding: Binding av data til GUI-komponenter.
  6. MVC Pattern: Model-View-Controller mønster.
  7. User Input Validation: Validering av brukerinput.
  8. Accessibility: Tilgjengelighet i GUI-design.
  9. Responsive Design: Responsiv GUI-design.
  10. GUI Testing: Testing av brukergrensesnitt.

UML

  1. Use Case Diagram: Opprettelse og tolkning av brukstilfeller.
  2. Class Diagram: Klassedigram og deres forhold.
  3. Sequence Diagram: Sekvensdiagram og interaksjoner.
  4. Activity Diagram: Aktivitetsdiagram for prosessflyt.
  5. State Diagram: Tilstandsdiagram og tilstandsoverganger.
  6. Component Diagram: Komponentdiagram.
  7. Deployment Diagram: Distribusjonsdiagram.
  8. Object Diagram: Objekt diagram.
  9. Package Diagram: Pakke diagram.
  10. Composite Structure Diagram: Sammensatt strukturdiagram.

Filbehandling

  1. File I/O: Grunnleggende filinput og output.
  2. File Streams: Bruk av filstrømmer.
  3. File Modes: Åpne filer i forskjellige moduser.
  4. File Parsing: Analysering av filinnhold.
  5. File Encryption: Kryptering og dekryptering av filer.
  6. File Compression: Komprimering og dekomprimering av filer.
  7. Error Handling: Håndtering av feil under filbehandling.
  8. Binary Files: Håndtering av binære filer.
  9. Text Files: Håndtering av tekstfiler.
  10. File Permissions: Innstilling av filrettigheter.

Datasikkerhet

  1. Encryption: Kryptering og dekryptering teknikker.
  2. Authentication: Autentisering og autorisasjon.
  3. Access Control: Tilgangskontroll mekanismer.
  4. Data Integrity: Sikring av dataintegritet.
  5. SSL/TLS: Bruk av SSL/TLS for sikker kommunikasjon.
  6. SQL Injection: Forebygging av SQL-injeksjon.
  7. Cross-site Scripting (XSS): Forebygging av XSS-angrep.
  8. Password Management: Sikker håndtering av passord.
  9. Secure Coding Practices: Sikre programmeringspraksis.
  10. 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:

  1. Identifisere Kunnskap: Start med å huske og forstå grunnleggende konsepter og terminologi (Huske, Forstå).
  2. Anvendelse og Praktisk Erfaring: Bruk kunnskapen i praktiske situasjoner og prosjekter (Anvende).
  3. Dekomponering og Analyse: Analyser data og forhold mellom komponenter for å forstå dypere (Analysere).
  4. Kritisk Vurdering: Evaluere og bedømme ideer og løsninger basert på definerte kriterier (Evaluere).
  5. 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.