Syllabus academic year 2008/2009
(Created 2008-07-17.)

Higher education credits: 4,5. Grading scale: TH. Level: G2 (First level). Language of instruction: The course will be given in Swedish. Compulsory for: Pi3. Optional for: D3, F3, F3tvb. Course coordinator: Jonas Skeppstedt,, Inst f datavetenskap. Prerequisites: EDA027 Algorithms and Data Structures or EDAA01 Programming - Second Course. Assessment: Written exam. To pass the course, the exam, laboratory exercises, and a programming assignment must be passed. Home page:

The main purpose of the course is that the students should learn a methodology to find a suitable version of an algorithm and to maximise its performance when implementing it. To reach this main purpose, there are two other purposes of the course, that students shall have knowledge about (1) the C99 programming language with focus on which language features that often become efficient and/or affect portability, and (2) modern computer architecture from the view of the programmer, with focus on microprocessors and cache memories.

Knowledge and understanding
For a passing grade the student must

Skills and abilities
For a passing grade the student must

ISO C99, the GNU GDB debugger, Valgrind, the profiling tools GPROF and GCOV, pipelined microprocessors, cache memories, using simulation tools for performance analysis, implementation of mathematical functions on processors with and without hardware support for floating-point arithmetic.

Samuel P. Harbison/Guy L. Steele: "C A Reference Manual", 5th edition, 2002, Prentice-Hall, ISBN 0-13-122560-X. Material from the Department.