62558 Linux og C Programmering

2022/2023

Kursusinformation
Linux and C Programming
Engelsk
5
Diplomingeniør
Kurset udbydes som enkeltfag
E2B (tors 8-12)
Campus Ballerup
Klasseundervisning og øvelser.
13-uger
E2B
Mundtlig eksamen og bedømmelse af rapport(er)
Den mundtlige eksamen gennemføres i projekt udarbejdet i kurset. Projektet vælges ved lodtrækning fra de 6 projekter, der udarbejdes i kurset.
30 minutter pr. studerende.
Alle hjælpemidler er tilladt
7-trins skala , intern bedømmelse
Minimum 6 Maksimum: 70
John Aasted Sørensen
Bhupjit Singh (Primær kontaktperson)
62 Institut for Ingeniørteknologi og -didaktik
I studieplanlæggeren
Dette kursus giver den studerende en mulighed for at lave eller forberede et projekt som kan deltage i DTUs studenterkonference om bæredygtighed, klimateknologi og miljø (GRØN DYST). Se mere på http://www.groendyst.dtu.dk
Overordnede kursusmål
Kurset er opdelt i en Linux del, og på basis af den, en C programmeringsdel, der retter sig mod anvendelser i et Linux miljø. Den første del fokuserer på de konstituerende Linux elementer: kerne, shell, processer, programmer Linux filsystemet, kataloger og stier.
Start, stop og afslutning af Linux proces. Linux terminal, input/output, make filer og pipes.
Linux system vedligeholdelse, oversættelse, system variable, shell variable. Kort introduktion til Linux familien af Unix lignende open source operativsystemer, der anvendes på en bredt spektrum af hardware platforme, der inkluderer laptoppe og microcontrollere. Kursets C programmeringsdel fokuserer på C sprogelementerne pointer, function, module, public og private variable, header og body. Anvendelse af C programmeringssproget til at implementere et system i et Linux miljø. Opdeling af et task i moduler, specifikation af task og moduler for givne anvendelsesekesempler. Test og dokumentation af verifikationen af implementeringen af et task i et C program.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • Redegøre for og anvende Linux file systemet, kataloger, stier, adgangsrettigheder, effektiv deling i et multibruger system og udførelse af bruger og file administration.
  • Redegøre for og anvende Linux operativ system kommandoerne start, stop og sletning af processer, der kører batch jobs.
  • Redegøre for og anvende en Linux terminal, input/output processer, make filer og pipes til at simplificere udførelsen af programmer i en pipeline.
  • Redegøre for og anvende de konstituerende elementer i Linux kerne, shell, process management og udførelse af et program i et Unix lignende miljø.
  • Redegøre for og anvende dele af Linux system administration, compiling af application og konfigurering af system og shell variable.
  • Redegøre for og anvende C programmeringssprogets elementer pointer og function.
  • Redegøre for og anvende C programmeringssprogets elementer modul, public og private variable, header og body.
  • Anvende C programmeringssproget i programmering af anvendelses tasks og opdeling af task i moduler for en givne anvendelseseksempler.
  • Anvende og dokumentere metode til verifikation af korrekt funktion for algoritme i programmeringssproget C.
Kursusindhold
De konstituerende elementer i Linux kerne, shell, processer, programmer. Linux file system, kataloger, stier. Linux operativsystem kommandoerne start, stop og afslut processer. Linux
terminal, input/output, make filer, pipes og adgangsrettigheder. Linux system vedligeholdelse, compiling, system variable og shell variable. C programmeringssprog elementerne pointer, function, modul, public og private variable, header og body. Specifikation af task og opdeling af task i moduler. Anvende og dokumentere en metode til verifikation af anvendelsesalgoritme programmeret i C.
Litteraturhenvisninger
[1] Linux Pocket Guide, 3rd Edition, by Daniel J. Barrett, O´Reilly, 2016.
[2] Evi Nemeth, Garth Snyder, Trent R. Hein, Ben Whaley, Dan Macklin
“Unix and Linux System Administration”, 5th Ed., 2017.
[3] Steve Oualline, “Practical C Programming”, 3rd Edition, O’reilly, 2011.
[4] Brian W. Kernighan, Dennis M. Ritchie, “C Programming Language” 2Ed.
Prentice-Hall, 1988.
Referencerne [2] og [4] er anbefalet og således ikke obligatoriske.
Bemærkninger
Faggruppe: AI, matematik og software.
IT-Elektronik: 1. semester.
Sidst opdateret
17. februar, 2023