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:
-
Grunnleggende programmering og programmeringsverktøy:
- Kjennskap til programmeringsspråk som Python, Java, C++.
- Bruk av utviklingsverktøy som IDEer og versjonskontrollsystemer.
- Python Programming
- Java Programming
-
Grunnleggende programmeringsteknikker:
- Variabeldeklarasjoner, kontrollstrukturer, løkker og funksjoner.
- Learning Python
-
Utvikling av brukergrensesnitt:
- Bruk av verktøy og rammeverk for å utvikle GUI.
- Tkinter Documentation
-
Kommunikasjon mellom ulike programgrensesnitt:
- Forståelse av API-er og hvordan de brukes til å koble sammen ulike systemer.
- REST API
-
Sikkerhet i applikasjoner:
- Grunnleggende sikkerhetsteknikker for å beskytte applikasjoner.
- OWASP Top Ten
-
Grunnleggende sikkerhet relatert til programmering:
- Prinsipper for å skrive sikker kode.
- Secure Coding Practices
-
Innsikt i egne utviklingsmuligheter innenfor programmering:
- Metoder for kontinuerlig læring og kompetanseutvikling.
- Continuing Education
Ferdigheter
Kandidaten kan:
-
Utvikle et brukergrensesnitt ved hjelp av kode og utviklingsverktøy:
- Lage GUI ved bruk av rammeverk som Tkinter eller JavaFX.
- Tkinter Examples
-
Skrive kode med variabeldeklarasjoner, kontrollstrukturer, løkker og funksjoner:
- Utvikle funksjonell kode i et valgt programmeringsspråk.
- JavaScript Basics
-
Lese og tolke kode:
- Forstå og analysere eksisterende kodebaser.
- Code Reading Techniques
-
Vedlikeholde og forbedre eksisterende applikasjoner:
- Gjøre endringer og forbedringer i eksisterende programvare.
- Refactoring Code
-
Drøfte grunnleggende sikkerhet i en applikasjon:
- Identifisere og diskutere potensielle sikkerhetsproblemer.
- Security Discussions
Generell kompetanse
Kandidaten kan:
-
Vedlikeholde og utvikle sin egen kompetanse innenfor emnet:
- Delta i kurs og workshops for å lære nye ferdigheter.
- Online Programming Courses
-
Delta aktivt i prosjekter:
- Samarbeide i teamprosjekter og bidra til felles mål.
- Collaborative Projects
-
Utføre arbeid etter oppdragsgivers behov, etablere fagnettverk og samarbeide med mennesker på kryss av fagfelt:
- Forstå og møte krav fra oppdragsgivere og samarbeide effektivt.
- Professional Networking
-
Utveksle bransjerelaterte synspunkter og informasjon:
- Delta i faglige diskusjoner og dele erfaringer.
- Technical Discussions
-
Bygge relasjoner, både internt, eksternt og på tvers av fagfelt:
- Skape og vedlikeholde profesjonelle relasjoner.
- Building Professional Relationships
Anbefalte GitHub Repositories og Ressurser
Grunnleggende Programmering
- Python for Beginners: Samling av ressurser for nybegynnere i Python.
- JavaScript Basics: Grunnleggende ressurser for å lære JavaScript.
Datastrukturer og Algoritmer
- Data Structures and Algorithms: Implementeringer og eksempler på datastrukturer og algoritmer.
Objektorientert Programmering
- Object-Oriented Programming: Ressurser og eksempler på OOP i ulike språk.
Debugging og Testing
- Testing in Python: Verktøy og eksempler på testing i Python.
- Debugging Tools: Verktøy for å finne og rette feil i kode.
API-utvikling
- REST API: Ressurser for å bygge og bruke RESTful API-er.
- GraphQL: Verktøy og eksempler på å bruke GraphQL.
GUI-utvikling
- Tkinter GUI Examples: Eksempler på GUI-utvikling med Tkinter i Python.
- JavaFX: Ressurser for å utvikle GUI i Java.
UML og Systemdesign
- UML Diagrams: Verktøy og eksempler for å lage UML-diagrammer.
Filbehandling
- File Handling in Python: Eksempler på filbehandling i Python.
Disse ressursene gir en omfattende oversikt over programmeringsemnet og hjelper deg med å utvikle nødvendige ferdigheter og kunnskaper for å bli en dyktig programmerer.