Gäller från och med: Vårterminen 2021
Beslutad av: Professor Thomas Johansson
Datum för fastställande: 2021-03-08
Avdelning: Datavetenskap (LTH)
Kurstyp: Gemensam kurs, avancerad nivå och forskarnivå
Kursen ges även på avancerad nivå med kurskod: EDAG01
Undervisningsspråk: Engelska
Kursens syfte är att studenterna ska lära sig skriva effektiva program i språket C. För att nå detta huvudsyfte är tre andra syften med kursen att studenterna ska ha kunskaper dels (1) om programspråket ISO C18, dels (2) om modern datorarkitektur, ur programmerarens synvinkel, med fokus på mikroprocessorer och cacheminnen, och dels (3) om moderna verktyg för att utvärdera C program i termer av korrekthet och effektivitet.
Kunskap och förståelse
För godkänd kurs skall doktoranden
Färdighet och förmåga
För godkänd kurs skall doktoranden
Värderingsförmåga och förhållningssätt
För godkänd kurs skall doktoranden skapa fördelaktig implementation i C med hänsyn taget till tillämpningens krav.
ISO C18 standarden, C-språkets principer, jämförelse mellan språkkonstruktioner i Java och C, struct, pekare, array, minnesallokering, globala variabler, static storage duration, standardbiblioteket i C, C kompilator, implementationsdefinierat beteende, ospecificerat beteende, odefinierat beteende, storage class specifiers, type specifiers, C preprocessor, GDB, Valgrind, profileringsverktygen GPROF, OPROFILE och GCOV, pipelinade mikroprocessorer, cacheminnen, användning av simuleringsverktyg för prestandaanalys, samt en metodik för att maximera prestanda för C program.
Jonas Skeppstedt, C.: Writing Efficient C Code --- A Thorough Introduction. Amazon, 2020. ISBN 1530414156.
Undervisningsformer: Föreläsningar, laborationer, projekt
Examinationsform: Muntlig tentamen
Betygsskala: Underkänd, godkänd
Examinator:
Förkunskapskrav: EDAA01 Programmeringsteknik - fördjupningskurs ELLER EDAA30 Programmering i Java - fortsättningskurs
Förutsatta förkunskaper: Inga
Kursansvariga:
Hemsida: https://cs.lth.se/edag01/