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 12119
- Max antal deltagare90 (minst 10% av platserna reserveras för utbytesstudenter)
- Blockschema
- Sökbar för utbytesstudenterJa
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0111 Laboration 1,5 hp Betygsskala: UG | 1,5 hp | ||||||
0211 Tentamen 6 hp Betygsskala: TH | 6 hp |
|
I program
- MPCSN - DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 1 (obligatorisk)
- MPHPC - HÖGPRESTERANDE DATORSYSTEM, MASTERPROGRAM, Årskurs 2 (valbar)
- MPICT - INFORMATIONS- OCH KOMMUNIKATIONSTEKNIK, MASTERPROGRAM, Årskurs 1 (obligatoriskt valbar)
- MPICT - INFORMATIONS- OCH KOMMUNIKATIONSTEKNIK, MASTERPROGRAM, Årskurs 2 (valbar)
- TIDAL - DATATEKNIK, HÖGSKOLEINGENJÖR - Allmän, Årskurs 3 (obligatoriskt valbar)
Examinator
- Elad Schiller
- Biträdande professor, Dator- och nätverkssystem, Data- och informationsteknik
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 6Sö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.