Syllabus academic year 2009/2010
(Created 2009-08-11.)
ALGORITHM IMPLEMENTATIONEDAF15

Higher education credits: 5. Grading scale: TH. Level: G2 (First level). Language of instruction: The course will be given in Swedish. EDAF15 overlap following cours/es: EDA115 och EDA115. Compulsory for: Pi3. Optional for: D4, F3, F3tvb. Course coordinator: Jonas Skeppstedt, Jonas.Skeppstedt@cs.lth.se, Inst f datavetenskap. Prerequisites: EDAA01 Programming - Second Course or EDA027 Algorithms and Data Structures. Assessment: Written exam. To pass the course, the exam, laboratory exercises, and a programming assignment must be passed. Home page: http://www.cs.lth.se/Education/LTH/.

Aim
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

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

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