Datorsystem med projektarbete
Kursplan, Grundnivå, 1DT003
- Kod
- 1DT003
- Utbildningsnivå
- Grundnivå
- Huvudområde(n) med fördjupning
- Datavetenskap G2F, Teknik G2F
- Betygsskala
- Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
- Fastställd av
- Teknisk-naturvetenskapliga fakultetsnämnden, 6 mars 2018
- Ansvarig institution
- Institutionen för informationsteknologi
Behörighetskrav
60 hp inom teknik/naturvetenskap. Datorarkitektur. Imperativ och objektorienterad programmeringsmetodik ska vara genomgången.
Mål
Efter godkänd kurs ska studenten kunna:
- redogöra för hur operativsystem växelverkar med maskin- och programvara.
- förklara och använda algoritmer och tekniker för schemaläggning och synkronisering i olika system.
- redogöra för principerna för olika programmeringsmodeller av flerkärniga system, till exempel processer, trådar, meddelandeöverföring och "software transactional memory", och konstruera program som använder dessa.
- genomföra ett strukturerat projektarbete tillsammans med andra studenter samt, under processen, reflektera över och utveckla gruppens samarbete.
- planera ett projekt så att det kan genomföras inom givna ramar.
- presentera och diskutera kursens innehåll muntligt och skriftligt med för utbildningsnivån lämplig färdighet.
- förklara övergripande hur Internet är konstruerat och fungerar.
- använda grundläggande verktyg för att undersöka ett nätverk och arbeta på ett distribuerat sätt.
- redogöra för grunderna inom data- och nätverkssäkerhet.
- resonera om olika typer av begränsningar i ett Internetbaserat distribuerat system.
Innehåll
Processer, minnesmodeller och middleware. Synkronisering mellan processer inom samma dator samt på olika datorer. Namnhantering inom datorer samt i ett nätverk. In- och utmatningssystem. Filsystem. Olika typer av informationsskydd. Problem som kan uppkomma vid samtidighet, exempelvis data race, dödlägen, ömsesidigt uteslutande. Avbrottshantering. Pålitlig informationsöverföring. Routing och Forwarding. TCP/IP. DNS. Några fysiska teknologier, exempelvis Ethernet och WiFi. Säkerhetsaspekter, grundläggande kryptologi och nätverkssäkerhet. Begränsningar som uppstår p.g.a. värdmaskiner, nätverk och skyddsmekanismer i ett distribuerat system.
Programmering av system som inbegriper kommunikation i olika former såväl inom en dator som mellan olika kärnor i en dator eller mellan olika datorer över ett nätverk. Praktisk användning av kunskaperna i genomförande av projektarbete i grupp. Verktyg för dokumenthantering, versionshantering, felsökning, testning, hantering av programbibliotek och dylikt. Agila projektmetodiker.
Undervisning
Föreläsningar, laborationer, uppgifter och projektarbete i grupp i ett större projekt (omfattande c:a 8hp).
Examination
Skriftlig tentamen samt muntlig och skriftlig redovisning av uppgifter (12 hp). Konstruktivt deltagande, muntlig och skriftlig redovisning av projekt (8 hp).
Övriga föreskrifter
Kan ej ingå i examen tillsammans med 1DT049 Processorienterad programmering eller 1DT044 Operativsystem I, 1DT089 Operativsystem och multicoreprogrammering eller 1DT096 Operativsystem och processorienterad programmering.