Kursplan för

Effektiv C
Efficient C

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

Gäller för: 2024/25
Fakultet: Lunds tekniska högskola
Beslutad av: Programledning C/D
Beslutsdatum: 2024-02-21
Ikraftträdande: 2024-03-15

Allmänna uppgifter

Fördjupning: Grundnivå, kurs/er som inte kan klassificeras
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

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: För godkänt betyg krävs godkänd muntlig tentamen, godkända datorlaborationer samt godkänt projekt. För att få delta i tentamen krävs att laborationerna är fullgjorda. Slutbetyg i kursen grundar sig på resultatet av den muntliga 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.

Moduler
Kod: 0120. Benämning: Tentamen.
Antal högskolepoäng: 4.5. Betygsskala: TH - (U, 3, 4, 5). Prestationsbedömning: Godkänd tentamen. Modulen omfattar: Muntlig tentamen.
Kod: 0220. Benämning: Laborationer.
Antal högskolepoäng: 2.0. Betygsskala: UG - (U, G). Prestationsbedömning: Godkända laborationer. Modulen omfattar: Datorlaborationer.
Kod: 0320. Benämning: Projekt.
Antal högskolepoäng: 1.0. Betygsskala: UG - (U, G). Prestationsbedömning: Godkänt projekt.

Antagningsuppgifter

Förkunskapskrav:

Begränsat antal platser: Nej
Kursen överlappar följande kurser: EDAG01 EDAF15 EDAA25

Kurslitteratur

Kontaktinfo

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