IDATT2104
Nettverksprogrammering
Vår
Trondheim
Norsk
Om emnet
Faglig innhold
Datakommunikasjon: Standardisering og lagdelt kommunikasjon. Protokoller på applikasjonslag, transportlag, nettverkslag, lenkelag og overføringsteknologi på fysisk lag. Om nettverksstrukturer og virkemåten til nettverkskomponenter.
Programmering: Tråder og synkronisering. Sockets (UDP og TCP). Asynkrone løsninger. Høyerenivå nettverks API (er). Sikkerhet.
Læringsmål
Kunnskap
Kandidaten skal:
- kunne forklare grunnleggende prinsipper og arkitektur for datakommunikasjon
- kunne redegjøre for protokoller og deres funksjonalitet i lagdelt datakommunikasjon
- kunne redegjøre for nettverksstrukturer og nettverkskomponenter
- kunne redegjøre for hvorfor man bruker trådede programmer samt nødvendigheten av synkroniseringsmekanismer mellom disse
- kunne redegjøre for fordeler og ulemper ved utvalgte nettverks API-er og kan gjøre en begrunnet vurdering av hva som er mest hensiktsmessig i gitte sammenhenger
Ferdigheter
Kandidaten skal:
- kunne analysere datatrafikk og bruke et utvalg hjelpeverktøy for å analysere tilstanden til maskiner og nettverk (D)
- kunne lage velfungerende trådede programmer (D)
- kunne lage både forbindelsesløse og forbindelsesorienterte nettverksløsninger (D)
Generell kompetanse
Kandidaten skal kunne kommunisere med fagpersoner om nettverksprotokoller og nettverksløsninger
Læringsformer og aktiviteter
Forelesninger/workshops, datakomøvinger og programmeringsoppgaver. Programmeringsoppgavene skal forevises øvingslærer for godkjenning, de øvrige skal innleveres. Emnet er delt i to deler:
- Datakommunikasjon: I denne delen må alle øvingene være godkjent for å få gå opp til eksamen. Øvingene skal leveres inn for vurdering.
- Nettverksprogrammering: I denne delen er det hovedsakelig praktiske programmeringsoppgaver. Alle må være godkjent og godkjenning skjer ved framvisning for øvingslærer i øvingstimer på datalab.