Course Syllabus for

Programming - Second Course
Programmeringsteknik - fördjupningskurs

EDAF30F, 7.5 credits

Valid from: Autumn 2019
Decided by: Professor Thomas Johansson
Date of establishment: 2019-06-05

General Information

Division: Computer Science (LTH)
Course type: Course given jointly for second and third cycle
The course is also given at second-cycle level with course codes: EDAA01, EDAF30
Teaching language: Swedish


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 doctoral student must

Competences and Skills

For a passing grade the doctoral student must

Judgement and Approach

For a passing grade the doctoral student must

Course 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.

Course Literature

B., Koffman E. & P., W.: Data Structures: Abstraction and Design using Java. Wiley, 2010. ISBN 9780470128701.
The book is optional, but recommended.

Instruction Details

Types of instruction: Lectures, laboratory exercises, self-study literature review

Examination Details

Examination formats: Written exam, written assignments. Written examination. Compulsory course items: Laboratory exercises and assignments.
Grading scale: Failed, pass

Admission Details

Admission requirements: Passing grade from one of EDAA45, EDAA20, EDAA50, EDAA55, EDAA65
Assumed prior knowledge: Object-oriented programming in Java

Course Occasion Information

Contact and Other Information

Course coordinators:
Web page:

Complete view