Kursplan för Datornätverk

Kursplan fastställd 2021-02-26 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnComputer networks
  • KurskodEDA387
  • Omfattning7,5 Högskolepoäng
  • ÄgareMPCSN
  • UtbildningsnivåAvancerad nivå
  • HuvudområdeDatateknik, Informationsteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 12114
  • Max antal deltagare90
  • Blockschema
  • Sökbar för utbytesstudenterJa

Poängfördelning

0111 Laboration 1,5 hp
Betygsskala: UG
1,5 hp
0211 Tentamen 6 hp
Betygsskala: TH
6 hp
  • 27 Okt 2022 fm J
  • 04 Jan 2023 em J
  • 24 Aug 2023 em J

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Behörighet

Grundläggande behörighet för avancerad nivå
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Särskild behörighet

Engelska 6
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

Du ska ha klarat av minst en kurs i programmeringsteknik. Du förväntas också ha kunskaper motsvarande en grundläggande kurs från något av områdena: Datakommunikation, Operativsystem, Algoritmer, programmering (C eller C ++) och matematik (diskret matematik).

Syfte

Datornätverk täcker en rad underliggande områden så som: själv-stabiliserande algoritmer för datornätverk, programmering med användandet av BSD socket API, samt diverse kommunikationskoncept och protokoll. För att kunna bemästra datornätverk krävs både teoretiska och praktiska kunskaper om utformning, genomförande och användande av nätverksprotokoll och tjänster. Syftet med kursen är att lära sig att utforma och analysera själv-stabiliserande algoritmer för nätverksprotokoll, att få erfarenhet av socket programmering och att inhämta kunskap om befintliga kommunikationsnät inklusive stödsystem och protokoll grundläggande funktioner och metoder i datakommunikationsnät.

Kursen, som bygger på grundläggande TCP/IP kurser, syftar också till att ge fördjupade kunskaper om utformning och analys av fel-toleranta nätverksinriktade algoritmer och att ge kunskaper om befintliga kommunikationsnät, som exempelvis tekniker som används i "Internet" så som grundläggande kommunikationsprotokoll.

Erfarenhet av nätverksorienterad programmering ges som en väsentlig del av kursen.


Lärandemål (efter fullgjord kurs ska studenten kunna)

Kunskap och förståelse

Du ska kunna beskriva och analysera grundläggande protokoll, och deras begränsningar i nätverk som Internet. Du ska också kunna analysera och diskutera nätverksproblem, som software-defined networks (SDN), TCP-anslutningar, "contention", prestanda och flödeskontroll.

Färdighet och förmåga

Du kan visa förmåga att systematiskt definiera och analysera ett datornätverk i form av kommunikationsgrafer och som ett distribuerat system. Du har förmågan att kritiskt analysera effekten av olika feltyper, såsom tillfälliga fel, förlorade meddelanden och förändringar i nätverkstopologin, och hur sådana fel kan propagera i, och påverka datornätverket.

Under kursen utvecklar studenterna småskaliga nätverksapplikationer med hjälp av grundläggande nätverkstekniker. Du måste därför kunna konstruera och utveckla ett eget nätverk och därefter testa och demonstrera det i laboratoriet.

Färdigheter i skriftlig kommunikation redovisas i form av laborationsrapporter och som formella bevis av protokollegenskaper där studenten förklarar och demonstrerar riktigheten av det studerade protokollet och dessutom tydligt beskriver självständigt författade nätverksalgoritmer.

Efter genomgången kurs ska du skickligt kunna demonstrera mjukvaruutveckling för feltoleranta "client-server" och "peer-to-peer" arkitekturer. Du kan också utforma distribuerade algoritmer för datornätverk och att visa varför de fungerar.

Värderingsförmåga och förhållningssätt

Förmåga att beskriva, konstruera (nya) och analysera (nya och befintliga) algoritmer för nätverksprotokoll med en mycket stark betoning på självstabiliserande algoritmer för datornätverk.

Innehåll

Kursen innehåller praktiska experiment med analyser som avser att öka studentens förståelse för centrala begrepp och dessas återspeglingar i verkliga problem. Under laborationer tränas API programmering för feltoleranta nätverk, Internet konfigurationer med tjänster ur praktiska perspektiv, samt protokoll med stark betoning på självstabiliserande algoritmer. Kursens innehåll ger därför förståelse för grundläggande frågor som uppkommer under utformning av datornätverk och olika datornätverksprotokoll.

Organisation

Föreläsningar, övningar, hemuppgifter och laborationer.

Litteratur

W. Stevens, Bill Fenner, Andrew M. Rudoff, Unix Network Programming, Volume 1: The Sockets Networking API, 3rd edition, Addison-Wesley Professional, ISBN-10: 0-13-141155-1.

S. Dolev, Self-Stabilization, 1st edition, The MIT Press, ISBN-10: 0-26-204178-2.

Läroboken kompletteras med föreläsningsanteckningar och vetenskapliga artiklar.

Examination inklusive obligatoriska moment

Kursen avslutas med en skriftlig tentamen. För att bli godkänd på kursen krävs, utöver godkänd tentamen, att alla inlämningsuppgifter och laborationer är godkända.

Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.