Kursplan för

Effektiv C
Efficient C

TFRG70, 7,5 högskolepoäng, G2 (Grundnivå, fördjupad)

Gäller för: LTH:s fristående kurser HT2020
Beslutad av: Programledning C/D
Beslutsdatum: 2020-06-25

Allmänna uppgifter

Undervisningsspråk: Kursen ges på svenska

Syfte

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.

Mål

Kunskap och förståelse
För godkänd kurs skall studenten

 

Färdighet och förmåga
För godkänd kurs skall studenten

Värderingsförmåga och förhållningssätt
För godkänd kurs skall studenten

skapa fördelaktig implementation i C med hänsyn taget till tillämpningens krav.

Kursinnehåll

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.

Kursens examination

Betygsskala: TH - (U,3,4,5) - (Underkänd, Tre, Fyra, Fem)
Prestationsbedömning: Skriftlig tentamen. För godkänt betyg krävs godkänd tentamen, godkända datorlaborationer samt godkänd inlämningsuppgift. För att få delta i tentamen krävs att laborationerna är fullgjorda. Slutbetyg i kursen grundar sig på resultatet av den skriftliga tentamen.

Om så krävs för att en student med varaktig funktionsnedsättning ska ges ett likvärdigt examinationsalternativ jämfört med en student utan funktionsnedsättning, så kan examinator efter samråd med universitetets avdelning för pedagogiskt stöd fatta beslut om alternativ examinationsform för berörd student.

Delmoment
Benämning: Tentamen.
Antal högskolepoäng: 4,5. Betygsskala: TH. Prestationsbedömning: Slutbetyg på kursen baseras på resultatet av den skriftliga tentamen. Delmomentet omfattar: Skriftlig tentamen. För att få delta i tentamen krävs att laborationerna är fullgjorda.
Benämning: Laborationer.
Antal högskolepoäng: 2. Betygsskala: UG. Prestationsbedömning: För godkänt betyg krävs att laborationerna fullgjorts. Delmomentet omfattar: Laborationer.
Benämning: Projekt.
Antal högskolepoäng: 1. Betygsskala: UG. Prestationsbedömning: För godkänt betyg krävs att projektuppgiften fullgjorts Delmomentet omfattar: Projekt.

Antagningsuppgifter

Förkunskapskrav:

Kursen överlappar följande kurser: EDAG01

Kurslitteratur

Kontaktinfo och övrigt

Kursansvarig: Jonas Skeppstedt, jonas.skeppstedt@cs.lth.se
Hemsida: http://cs.lth.se