Course syllabus

Effektiv C
Efficient C

EDAG01, 7,5 credits, G2 (First Cycle)

Valid for: 2020/21
Decided by: PLED C/D
Date of Decision: 2020-03-30

General Information

Elective for: C4-pv, D4-is, D4-pv, D4-hs, E4, F4, F4-bs, I4, M4, N4, Pi4-pv
Language of instruction: The course will be given in Swedish

Aim

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.

Learning outcomes

Knowledge and understanding
For a passing grade the student must

 

 

Competences and skills
For a passing grade the student must

Judgement and approach
For a passing grade the student must

create a suitable implementation in C based on the requirements of the application

Contents

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.

Examination details

Grading scale: TH - (U,3,4,5) - (Fail, Three, Four, Five)
Assessment: Written exam. To pass the course it is required to pass the exam, computer labs, and a project. To be allowed to write the exam all labs must be passed. The final grade of the course is the grade of the written exam.

The examiner, in consultation with Disability Support Services, may deviate from the regular form of examination in order to provide a permanently disabled student with a form of examination equivalent to that of a student without a disability.

Parts
Code: 0120. Name: Written Exam.
Credits: 4,5. Grading scale: TH. Assessment: The final grade of the course is based on the result of the written examination. Contents: Written examination. To qualify for the written exam, the laboratory exercises must be completed.
Code: 0220. Name: Laboratory Sessions.
Credits: 2. Grading scale: UG. Assessment: To qualify for a passing grade the laboratory work must be completed. Contents: Laboratory work
Code: 0320. Name: Project.
Credits: 1. Grading scale: UG. Assessment: To qualify for a passing grade the project work must be completed. Contents: Project.

Admission

Admission requirements:

The number of participants is limited to: No
The course overlaps following course/s: EDAF15, EDAA25

Reading list

Contact and other information

Course coordinator: Jonas Skeppstedt, jonas.skeppstedt@cs.lth.se
Course homepage: http://cs.lth.se