Syllabus academic year 2011/2012
(Created 2011-09-01.)
PROGRAMMING - SECOND COURSEEDAA01
Credits: 7,5. Grading scale: TH. Cycle: G1 (First Cycle). Main field: Technology. Language of instruction: The course will be given in Swedish. EDAA01 overlaps following cours/es: EDA020, EDA025, EDA026, EDA027, EDA035, EDA510 and EDA690. Compulsory for: C1, D1, E2, Pi2. Alternative for: I3, L3, M3. Optional for: F2, N2, W4. Course coordinator: Univ.lektor Eva Magnusson, Eva.Magnusson@cs.lth.se and Univ.adj. Anna Axelsson, Anna.Axelssoncs.lth.se, Computer Science. 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 a passing grade from EDAA20 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://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.