Gäller från och med: Spring 2021
Beslutad av: Professor Thomas Johansson
Datum för fastställande: 2021-03-08
Avdelning: Computer Science (LTH)
Kurstyp: Gemensam kurs, avancerad nivå och forskarnivå
Kursen ges även på avancerad nivå med kurskod: EDAG01
Undervisningsspråk: English
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.
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
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.
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: Two courses in computer programming including elementary data structures such as lists and trees.
Förutsatta förkunskaper: None
Kursansvariga:
Hemsida: https://cs.lth.se/edag01/