Kursplan för

Efficient C
Effektiv C

EDAG01F, 7.5 högskolepoäng

Gäller från och med: Spring 2021
Beslutad av: Professor Thomas Johansson
Datum för fastställande: 2021-03-08

Allmänna uppgifter

Avdelning: Computer Science (LTH)
Kurstyp: Gemensam kurs, avancerad nivå och forskarnivå
Kursen ges även på avancerad nivå med kurskod: EDAG01
Undervisningsspråk: English

Syfte

The purpose of the course is that the students should learn how to write efficient programs in the C language. In order to achieve this main purpose, three other purposes of the course are that the students should learn about (1) the ISO C18 language, (2) modern computer architecture, from the perspective of the programmer, with focus on microprocessors and cache memories, and (3) modern tools to evaluate C programs in terms of correctness and efficiency.

Mål

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 create a suitable implementation in C based on the requirements of the application

Kursinnehåll

The ISO C18 standard, the principles of the C language, comparison between Java and C, struct, pointer, array, memory allocation, global variables, static storage duration, the C standard library, C compiler, implementation defined behaviour, unspecified behaviour, undefined behaviour, storage class specifiers, type specifiers, C preprocessor, GDB, Valgrind, the profiling tools GPROF, OPROFILE and GCOV, pipelined microprocessors, cache memories, using simulation tools for performance analysis, and a methodology to maximize the performance of a C program.

Kurslitteratur

Jonas Skeppstedt, C.: Writing Efficient C Code --- A Thorough Introduction. Amazon, 2020. ISBN 1530414156.

Kursens undervisningsformer

Undervisningsformer: Föreläsningar, laborationer, projekt

Kursens examination

Examinationsform: Muntlig tentamen
Betygsskala: Underkänd, godkänd
Examinator:

Antagningsuppgifter

Förkunskapskrav: Two courses in computer programming including elementary data structures such as lists and trees.
Förutsatta förkunskaper: None

Kurstillfällesinformation

Kontaktinformation och övrigt

Kursansvariga:
Hemsida: https://cs.lth.se/edag01/


Fullständig visning