Syllabus academic year 2009/2010
(Created 2009-08-11.)
PROGRAMMING - SECOND COURSEEDAA01

Higher education credits: 7,5. Grading scale: TH. Level: G1 (First level). Language of instruction: The course will be given in Swedish. EDAA01 overlap following cours/es: EDA020, EDA025, EDA026, EDA027, EDA035, EDA510, EDA690, EDA020, EDA025, EDA026, EDA027, EDA035, EDA510, EDA690, EDA020, EDA025, EDA026, EDA027, EDA035, EDA510, EDA690, EDA020, EDA025, EDA026, EDA027, EDA035, EDA510 och EDA690. Compulsory for: C1, D1, E2, Pi2. Alternative for: I3. Optional for: F2, F2sfm, L4gi, M4, N2, W3. Course coordinator: Univ.lektor Eva Magnusson, Eva.Magnusson@cs.lth.se och Univ.adj. Anna Axelsson, Anna.Axelssoncs.lth.se, Inst f datavetenskap. Prerequisites: Completed compulsory course items from a first course in programming (EDA011/EDA016/EDA017) or a passing grade from the written examination in any of these courses or EDA501. Assessment: Written examination. The final grade of the course is based on the result of the written examination. Compulsory course items: Laboratory exercises and assígnments. Parts: 2. Home page: http://www.cs.lth.se/EDAA01.

Aim
Constructing program components which are easy to change, reusable and resource-aware requires good knowledge of advanced language constructs and programming techniques as well as data abstraction, data structures and algorithms. The aim of the course is to give students increased knowledge of object oriented programming techniques and a selection of fundamental algorithms and data structures and to give them the ability to understand and use APIs for classical data structures and algorithms in modern object oriented program libraries.

Knowledge and understanding
For a passing grade the student must

Skills and abilities
For a passing grade the student must

Judgement and approach
For a passing grade the student must

Contents
Object oriented concepts and language constructs such as interface, inner classes, exceptions and generics. Important general interfaces such as Iterator, ListIterator, Comparable and Comparator. Overview of graphical interfaces. Recursion as a technique to construct and implement algorithms. Common abstract data types: Set, Queue, Stack, List and Dictionary and their corresponding classes in the Java API. Data structures which can be used to implement common abstract data types as arrays, linked lists, trees and hash tables. Simple algorithms for efficient sorting. Introduction to techniques for analysing the time complexity of algorithms.

Literature
Koffman, E. B., Wolfgang P. Objects, Abstraction, Data Structures and Design using Java 5.0.Wiley 2005. . ISBN: 0-471-69264-6.

Parts

Code: 0108. Name: Compulsory Course Items.
Higher education credits: 3. Grading scale: UG. Assessment: For a final grade the laboratory exercises and the assignments must be completed.

Code: 0208. Name: Written Examination.
Higher education credits: 4,5. Grading scale: TH. Assessment: The final grade of the course is based on the result of the written examination.