Third-Cycle Courses

Faculty of Engineering | Lund University

Details for the Course Syllabus for Course EDAF30F valid from Autumn 2019

Printable view

  • 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.
  • 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.
Knowledge and Understanding
  • For a passing grade the doctoral student must
  • For a passing grade the student must

    be able to define and explain important object oriented concepts and techniques in addition to what has been covered in the first programming course
    be able to describe common abstract data types and their applications
    be familiar with existing library classes for common abstract data structures and algorithms
Competences and Skills
  • For a passing grade the doctoral student must
  • For a passing grade the student must

    be able to apply advanced object oriented concepts and techniques and advanced language constructs in Java in her/his own programming
    be able to use frameworks for graphical user interfaces in Java
    be able to use modern object oriented standard libraries
    be able to identify appropriate algorithms and data types for solving a given problem
    be able to implement fundamental abstract data types and algorithms in an object oriented language
    be able to formulate and implement recursive algorithms
    be able to apply simple techniques for analysing the time complexity of algorithms
Judgement and Approach
  • For a passing grade the doctoral student must
  • For a passing grade the student must

    be able to construct programs which are easy to understand and to modify
    be able to evaluate proposed solutions and data representations for given problems with respect to usability and efficiency
Types of Instruction
  • Lectures
  • Laboratory exercises
  • Self-study literature review
Examination Formats
  • Written exam
  • Written assignments
  • Written examination. Compulsory course items: Laboratory exercises and assignments.
  • Failed, pass
Admission Requirements
Assumed Prior Knowledge
  • Object-oriented programming in Java
Selection Criteria
  • B., Koffman E. & P., W.: Data Structures: Abstraction and Design using Java. Wiley, 2010. ISBN 9780470128701.
  • The book is optional, but recommended.
Further Information
Course code
  • EDAF30F
Administrative Information
  • 2019-06-05
  • Professor Thomas Johansson

All Published Course Occasions for the Course Syllabus

No matching course occasions were found.

0 course occasions.

Printable view