20TD02U_Repos - itnett/FTD02H-N GitHub Wiki

Programmering

Emnets innhold

Programstrukturer

  • Beskrivelse: Grunnleggende strukturer for å organisere kode, inkludert prosedyrer, funksjoner, moduler, og klasser.
  • Eksempel: Bruk av hovedfunksjon (main()) for å kontrollere programflyt i C++ eller Python.

Datastrukturer

  • Beskrivelse: Ulike måter å organisere og lagre data på, som lister, stakker, køer, trær, og grafer.
  • Eksempel: Implementering av en lenket liste i Java eller Python.

Bibliotek

  • Beskrivelse: Bruk av forhåndsdefinerte biblioteker for å øke produktiviteten og gjenbruke kode.
  • Eksempel: Bruk av NumPy for numeriske beregninger i Python.

Funksjoner og metoder

  • Beskrivelse: Funksjoner og metoder for å utføre spesifikke oppgaver eller operasjoner.
  • Eksempel: Skrive en funksjon i JavaScript for å sortere en liste med tall.

Objektorientert programmering (OOP)

  • Beskrivelse: Programmeringsparadigme basert på objekter og klasser.
  • Eksempel: Definere klasser og objekter i Python.

Debugging, testing og unntaksbehandling

  • Beskrivelse: Metoder for å finne og fikse feil i koden, samt teste funksjonaliteten.
  • Eksempel: Bruk av pytest for testing i Python.

API

  • Beskrivelse: Application Programming Interface, sett med verktøy og protokoller for å bygge programvare og applikasjoner.
  • Eksempel: Bruke REST API for å hente data fra en webtjeneste.

GUI (Graphical User Interface)

  • Beskrivelse: Utvikling av grafiske brukergrensesnitt.
  • Eksempel: Bruk av Tkinter for å lage GUI i Python.

UML (Unified Modeling Language)

  • Beskrivelse: Standardisert modellingsspråk for å visualisere design av systemer.
  • Eksempel: Lage UML-diagrammer for å designe et objektorientert system.

Filbehandling

  • Beskrivelse: Metoder for å lese fra og skrive til filer.
  • Eksempel: Bruke filbehandlingsmetoder i Python for å lese en CSV-fil.

Datasikkerhet

  • Beskrivelse: Praktikker for å sikre applikasjoner og data.
  • Eksempel: Implementere kryptering for å beskytte sensitive data.

Læringsutbytte

Kunnskap

Kandidaten har kunnskap om:

  1. Grunnleggende programmering og programmeringsverktøy:

  2. Grunnleggende programmeringsteknikker:

    • Variabeldeklarasjoner, kontrollstrukturer, løkker og funksjoner.
    • Learning Python
  3. Utvikling av brukergrensesnitt:

  4. Kommunikasjon mellom ulike programgrensesnitt:

    • Forståelse av API-er og hvordan de brukes til å koble sammen ulike systemer.
    • REST API
  5. Sikkerhet i applikasjoner:

    • Grunnleggende sikkerhetsteknikker for å beskytte applikasjoner.
    • OWASP Top Ten
  6. Grunnleggende sikkerhet relatert til programmering:

  7. Innsikt i egne utviklingsmuligheter innenfor programmering:

Ferdigheter

Kandidaten kan:

  1. Utvikle et brukergrensesnitt ved hjelp av kode og utviklingsverktøy:

  2. Skrive kode med variabeldeklarasjoner, kontrollstrukturer, løkker og funksjoner:

  3. Lese og tolke kode:

  4. Vedlikeholde og forbedre eksisterende applikasjoner:

  5. Drøfte grunnleggende sikkerhet i en applikasjon:

Generell kompetanse

Kandidaten kan:

  1. Vedlikeholde og utvikle sin egen kompetanse innenfor emnet:

  2. Delta aktivt i prosjekter:

  3. Utføre arbeid etter oppdragsgivers behov, etablere fagnettverk og samarbeide med mennesker på kryss av fagfelt:

  4. Utveksle bransjerelaterte synspunkter og informasjon:

  5. Bygge relasjoner, både internt, eksternt og på tvers av fagfelt:

Anbefalte GitHub Repositories og Ressurser

Grunnleggende Programmering

Datastrukturer og Algoritmer

Objektorientert Programmering

Debugging og Testing

API-utvikling

  • REST API: Ressurser for å bygge og bruke RESTful API-er.
  • GraphQL: Verktøy og eksempler på å bruke GraphQL.

GUI-utvikling

UML og Systemdesign

  • UML Diagrams: Verktøy og eksempler for å lage UML-diagrammer.

Filbehandling

Disse ressursene gir en omfattende oversikt over programmeringsemnet og hjelper deg med å utvikle nødvendige ferdigheter og kunnskaper for å bli en dyktig programmerer.