Skriv ut som pdf om du vill ha en pdf! Om du vill ha en snyggare utskrift, klicka bort webbläsarens automatiskt tillagda sidhuvud och sidfot.

Blekinge Tekniska Högskola
Institutionen för datavetenskap

Revision: 1
Dnr: BTH-4.1.14-0193-2026


Kursplan

Programmering i Unix

Programming in Unix

7,5 högskolepoäng (7.5 credits)

Kurskod: DV1734
Huvudområde: Datavetenskap, Programvaruteknik
Utbildningsområde: Tekniska området
Utbildningsnivå: Grundnivå
Fördjupning: G1F - Grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav

Undervisningsspråk: Engelska
Gäller från: 2026-03-04
Fastställd: 2026-03-04

1. Beslut

Denna kurs är inrättad av dekan 2025-12-16. Kursplanen är fastställd av prefekten vid institutionen för datavetenskap 2026-03-04 och gäller från 2026-03-04.

2. Förkunskapskrav

För tillträde till kursen krävs 12 avklarade hp i programmering, 6 avklarade hp i algoritmer och datastrukturer, 6 avklarade hp i operativsystem, och 3 avklarade hp i datakommunikation. Engelska 6

3. Syfte och innehåll

3.1 Syfte

I kursen introducers studenten i programmering och systemutvecklin g inom Unix-miljö genom att kombinera teori med djupgående praktiska tillämpningar; samt historia, struktur och filhierarkier i Unix- och Linux-system. I kursen introduceras grundläggande systemkoncept som virtuella maskiner, containers och systemåtkomst via autentisering. Kursen fokuserar på skalskriptning med Bash och avancerad C-programmering i Unix-miljö, där moment som hantering av I/O, minnesallokering, filsystemsanrop, föräldra-/barnprocesser och implementering av nätverkskommunikation via TCP/IP behandlas ingående.

3.2 Innehåll

Kursen omfattar följande ämnen:

  • Unix/Linux-systemens historia och arkitektoniska struktur samt standardiserade filhierarkier.
  • Grundläggande systemkoncept, inklusive virtualisering, containerisering och systemåtkomstkontroll.
  • Skriptspråk och skalmiljöer för systemuppgifter och automatisering av utvecklingsprocesser.
  • Procedurell programmering i Unix-miljö, inklusive I/O-hantering, kontrollstrukturer och minneshantering med pekare.
  • Systemnära programmering som täcker processhantering, interaktion med filsystem och nätverksprotokoll.
  • Utvecklingsverktyg för kompilering, byggautomatisering, felsökning och minnesanalys.
  • Versionskontrollsystem och industriella metoder för dokumentation och testning av programvara.
  • Introduktion till lågnivåprogrammering och assemblerspråkets roll i systemprogramvara och kärnrelaterade uppgifter.

4. Lärandemål

Följande lärandemål examineras i kursen:

4.1. Kunskap och förståelse

Efter genomförd kurs ska studenten kunna:

  • Beskriva principerna för skalmiljöer och syntaxen i skriptspråk som används för att automatisera komplexa systemadministrativa uppgifter och utvecklingsprocesser.
  • Förklara interaktionen mellan C-program och Unix-kärnan, inklusive användning av byggautomatisering (Makefile), kompilering (gcc), strategier för minneshantering och felsökning för både system- och applikationsprogramvara.
  • Definiera assembler språkets roll och översättningsprocessen från högnivå kod till maskininstruktioner.

4.2. Färdighet och förmåga

Efter genomförd kurs ska studenten kunna:

  • Skriva, felsöka och åtgärda komplexa skalskript för systemadministration och automatisering, inklusive att identifiera och lösa logik- och exekveringsproblem.
  • Utveckla, kompilera och felsöka C-program som använder systemanrop, nätverksprotokoll och automatiserade byggverktyg (Makefiles), samt hantera versionshantering och mjukvarukvalitet.
  • Konvertera och kombinera C-kod med assemblerspråk för att bygga programvara på systemnivå och utföra mjukvaruanalys på låg nivå.

5. Läraktiviteter

Kursens innehåll behandlas genom föreläsningar som introducerar centrala koncept inom Unix-system och utvecklingsmetodik. Studenterna kompletterar lärandet genom självstudier av litteratur. Kursen innehåller tre laborationstillfällen. Vidare erbjuds tre handledningstillfällen för att stödja studenterna i deras praktiska inlämningsuppgifter (skriptuppgift, C-programmering och assembleruppgift)

6. Bedömning och examination

Examinationsmoment för kursen

Kod Benämning Omf. Betyg
2610 Inlämningsuppgift 1 2,5 hp AF
2620 Inlämningsuppgift 2 2,5 hp AF
2630 Inlämningsuppgift 3 2,5 hp AF

Kursen bedöms med betygen A Utmärkt, B Mycket bra, C Bra, D Tillfredställande, E Tillräckligt, FX Underkänd, något mer arbete krävs, F Underkänd.

Examinator har möjlighet att muntligen följa upp skriftliga examinationer.

I kurstillfällets information inför kursstart framgår i vilka examinationsmoment som kursens lärandemål examineras samt gällande bedömningsgrunder.

Examinator kan, efter samråd med högskolans FUNKA-samordnare, fatta beslut om anpassad examinationsform för att en student med varaktig funktionsvariation ska ges en likvärdig examination jämfört med en student utan funktionsvariation.

7. Kursvärdering

Kursvärdering ska göras i enlighet med BTH:s beslut om frågeställning i kursvärderingar och beslut om process för hantering och uppföljning av kursvärderingar.

8. Begränsningar i examen

Kursen kan ingå i examen men inte tillsammans med annan kurs vars innehåll, helt eller delvis, överensstämmer med innehållet i denna kurs.

9. Kurslitteratur och övriga lärresurser

[1] R. W. Stevens and S. A. Rago, Advanced Programming in the UNIX Environment, 2nd ed. Boston, MA, USA: Addison‑Wesley Professional, 2005. ISBN: 978‑0‑201‑43307‑4.

[2] A. Hoover, System Programming with C and Unix. Boston, MA, USA: Addison‑Wesley Publishing Company, Feb. 2009. ISBN: 978‑0‑13‑606712‑2.

Material såsom forskningsartiklar och annat kursmaterial tillhandahålls på kursens lärplattform, tillsammans med rekommendationer för vidare läsning.