Relevante kompetansemål
Ressursene gir trening i selvstendig læring og valg av programmeringsspråk.
- Vurdere fordeler og ulemper ved ulike programmeringsspråk og velge og anvende relevante programmeringsspråk og algoritmer i eget arbeid.
Relevante kompetansemål
Nettverksoppgavene handler om arkitektur, tjenester og protokoller.
- Utforske og beskrive komponenter i en driftsarkitektur.
- Utforske og beskrive relevante nettverksprotokoller, nettverkstjenester og serverroller.
- Planlegge, implementere og drifte fysiske og virtuelle løsninger med segmenterte nettverk.
1. Ressurs: Komponentene i et datanettverk (NDLA)
Modem, ruter, brannmur, svitsj, wifi og aksesspunkt.
2. Ressurs: Nettverkstjenester og protokoller (NDLA)
For at nettverk skal fungere, har vi en rekke sentrale tjenester og protokoller som det er viktig å kjenne til.
3. Wireshark: Utforsk nettverkstrafikk
Første møte med pakker, IP-adresser, DNS, ping og Flask-trafikk.
Webutvikling
Relevante kompetansemål
Grunnleggende weboppgaver trener struktur, layout og brukergrensesnitt.
- Vurdere brukergrensesnitt til IT-tjenester og designe tjenester som er tilpasset brukernes behov.
- Vurdere fordeler og ulemper ved ulike programmeringsspråk og velge og anvende relevante programmeringsspråk i eget arbeid.
Relevante kompetansemål
GitHub-oppgavene trener særlig versjonskontroll, dokumentasjon og samarbeid.
- Beskrive og anvende relevante versjonskontrollsystemer i utviklingsprosjekter.
- Gjøre rede for hensikten med teknisk dokumentasjon og utarbeide teknisk dokumentasjon for IT-løsninger.
- Planlegge og dokumentere arbeidsprosesser og IT-løsninger.
- Forenkle og automatisere arbeidsprosesser i utvikling av IT-løsninger.
- Bruke og administrere samhandlingsverktøy som effektiviserer samarbeid og deling av informasjon.
5. Versjonskontroll: Visual Studio Code + Git
Klon eksisterende repo, rediger, commit/push
6. GitHub: Tilbakerulling til tidligere versjon
Rull tilbake commit eller tidligere deployment
Relevante kompetansemål
JavaScript-oppgavene trener interaktivitet, dataflyt og praktisk problemløsing.
- Vurdere fordeler og ulemper ved ulike programmeringsspråk og velge og anvende relevante programmeringsspråk og algoritmer i eget arbeid.
- Anvende relevant testmiljø og utføre testing tilpasset IT-løsningen som utvikles.
- Vurdere brukergrensesnitt til IT-tjenester og designe tjenester som er tilpasset brukernes behov.
7. Intro til JavaScript
Bruk JavaScript til å erstatte innehold i et HTML-element med variabler og getElementById.
8. JavaScript 2.0
Videreutvikler dashboardet fra 7. Intro til JavaScript med Arrays, API og Event Listener
9. JavaScript 3.0
Lær deg å bruke funksjoner, objekter og localStorage – og lage en mini To-Do-app.
10. JavaScript 4.0
Lær deg å bruke API'er, lese JSON – og bruke dette til å hente inn data fra en ekstern kilde.
Relevante kompetansemål
Supabase-oppgavene handler om databaser, autentisering, roller og sikker dataflyt.
- Modellere og opprette databaser for informasjonsflyt i systemer.
- Designe og implementere IT-tjenester med innebygget personvern.
- Analysere digitale trusler, verdier og sårbarheter og utvikle applikasjoner med innebygget sikkerhet.
- Gjøre rede for prinsipper og strukturer for skytjenester og virtuelle tjenester.
- Planlegge, drifte og implementere IT-løsninger som ivaretar informasjonssikkerhet og gjeldende regelverk for personvern.
- Administrere brukere, tilganger og rettigheter i relevante systemer.
Supabase 2.0: Innlogging og roller
I denne guiden lager vi et innloggingssystem i enkel HTML og JavaScript, som snakker med Supabase.
Supabase 3.0: Adminportal
Opprett en modul for å administrere brukere, håndtere innhold og se hvem som er pålogget.
Relevante kompetansemål
Flask-oppgavene viser hvordan frontend, backend, database og nettverk henger sammen.
- Vurdere fordeler og ulemper ved ulike programmeringsspråk og velge og anvende relevante programmeringsspråk og algoritmer i eget arbeid.
- Beskrive ulike datalagringsmodeller og metoder for å hente ut og sette inn bestemte data fra databaser som brukes av andre systemer.
- Utforske og beskrive relevante nettverksprotokoller, nettverkstjenester og serverroller.
Flask 1.0: Intro til Flask og SQLite
Start med Flask og lag en enkel webapp med Python.
Flask 2.1: Tredelt arkitektur over LAN
Bygg en Flask-app med frontend, backend og SQLite-database på lokalt nettverk.
Flask 2.2: Flask + MySQL Workbench
Bytt ut SQLite med en MySQL-database som opprettes i Workbench.
Relevante kompetansemål
React/Next-oppgavene handler om moderne webapper, komponenter og brukergrensesnitt.
- Vurdere brukergrensesnitt til IT-tjenester og designe tjenester som er tilpasset brukernes behov.
- Vurdere fordeler og ulemper ved ulike programmeringsspråk og velge og anvende relevante programmeringsspråk og algoritmer i eget arbeid.
1. Hva er Next.js og React?
React brukes til å lage interaktive nettsider. Du bygger siden av komponenter (f.eks. knapp, kort, meldingsboks).
2. Kom i gang med Next.js + React
Next.js er et åpen kildekode-rammeverk for React (Javascript bibliotek) som brukes til å bygge fullstendige (full-stack) webapplikasjoner.
3. React 2.0: Videreutvikle din webapplikasjon
Bygger videre på my-first-app og gjøre det til en liten nettside med flere sider, komponenter, bilder og navigering.
4. Meldingsvegg: Next.js + React + Supabase
Lag din første meldingsvegg som lagrer data i Supabase.
Relevante kompetansemål
Sikkerhetsoppgavene trener trusselforståelse, sårbarheter og tryggere applikasjoner.
- Analysere digitale trusler, verdier og sårbarheter og utvikle applikasjoner med innebygget sikkerhet.
- Utforske trusler mot datasikkerhet og gjøre rede for dagens trusselbilde.
- Gjennomføre risikoanalyse av nettverk og tjenester i en virksomhets systemer og foreslå tiltak for å redusere risikoen.
2. OWASP Juice Shop
"The application contains a vast number of hacking challenges of varying difficulty where the user is supposed to exploit the underlying vulnerabilities."
Relevante kompetansemål
Terminaloppgavene gir grunnlag for feilsøking, drift og automatisering.
- Feilsøke og rette feil ved hjelp av feilsøkingsstrategier og relevante rammeverk.
- Utøve brukerstøtte og veilede i relevant programvare.
3. Viktige kommandoer i Terminalen
Her finner du alle kommandoene du trenger for å navigere i Terminalen.
Relevante kompetansemål
Python-oppgavene trener algoritmisk tenkning og grunnleggende programmering.
- Vurdere fordeler og ulemper ved ulike programmeringsspråk og velge og anvende relevante programmeringsspråk og algoritmer i eget arbeid.
- Anvende relevant testmiljø og utføre testing tilpasset IT-løsningen som utvikles.
3. Øvingsoppgaver på ulike nivåer - med fasit
Repetisjon av grunnleggende Python:
Relevante kompetansemål
Databaseoppgavene handler om datamodeller, SQL og informasjonsflyt.
- Modellere og opprette databaser for informasjonsflyt i systemer.
- Beskrive ulike datalagringsmodeller og metoder for å hente ut og sette inn bestemte data fra databaser som brukes av andre systemer.
2. LearnER
Øv deg på å lage ER-diagrammer. OBS: Bruk anonymt brukernavn og passord når du registrerer deg.
For riktig notasjon: Instillinger - Velg faser: "Logisk fase" & Velg notasjon for logisk fase: "Kråkefot"
3. DbPersist
SQL-quiz og spørringer. OBS: Bruk anonymt brukernavn og passord når du registrerer deg.
4. Oppsett av MySQL og din første database
Installer, koble til, lag database og tabell
5. "How to Import a CSV in MySQL Workbench"
Når du har sett videoen, last ned og kjør .SQL-filen, så importerer du .csv-filen.
1. Oppretter tabell: elev.sql
2. CSV-fil med elevdata: elevdata.csv
6. Samling av oppgaver
Øv deg på SQL-spørringer, opprettelse av databaser og import av .csv-filer i MySQL Workbench.
Relevante kompetansemål
Java-oppgavene trener programmeringsspråk, algoritmer og enkel testing.
- Vurdere fordeler og ulemper ved ulike programmeringsspråk og velge og anvende relevante programmeringsspråk og algoritmer i eget arbeid.
- Anvende relevant testmiljø og utføre testing tilpasset IT-løsningen som utvikles.
3. AvansertMal.java
Fremover bruker vi alltid denne malen. Java bruker en del ulike biblioteker, malen sørger for at vi importerer disse. Start alltid et nytt prosjekt med denne.
4. Oversikt over slideshow
Her finner du noen slideshow fra undervisningen.
5. Øv deg i Java
Øvingsoppgaver inspirert av arbeidet vårt med Python + litt nytt stoff (Switch & HashMap).
Relevante kompetansemål
IntelliJ-oppgavene kobler Java-programmering med et mer profesjonelt utviklingsmiljø.
- Vurdere fordeler og ulemper ved ulike programmeringsspråk og velge og anvende relevante programmeringsspråk og algoritmer i eget arbeid.
- Anvende relevant testmiljø og utføre testing tilpasset IT-løsningen som utvikles.
1. Installer og test IntelliJ
IntelliJ IDEA er en intelligent, kontekstbevisst IDE for arbeid med Java.
2. Første prosjekt i IntelliJ
Du skal lage ditt første Java-prosjekt i IntelliJ IDEA og kjøre et program som skriver ut tekst i konsollen.