lunduniversity.lu.se

Third-Cycle Courses

Faculty of Engineering | Lund University

Details for the Course Syllabus for Course EDAP10F valid from Autumn 2020

Printable view

General
Aim
  • Concurrent programs combine parallel, asynchronous activities, frequently interacting with a physical environment. Applications include control systems, network communication, and interactive systems. The course aims to give students ability and skills to design robust, efficient, and well-structured concurrent programs.
Contents
  • Basic concepts: concurrent activities, busy-wait and polling, synchronization and communication, atomic operations such as test-and-set, and mutual exclusion.
    Synchronization and signaling in shared-memory applications: locks, monitors.
    Synchronization and signaling in message-passing applications.
    Concurrency in interactive systems with callbacks.
    Analysis of deadlock and livelock.
    Central aspects of the Java concurrent package, such as locks, semaphores, thread pools, atomics, and blocking queues.
    Overview of real-time operating systems, scheduling, multicore hardware, lock-free algorithms. Brief introduction to more advanced frameworks in the Java concurrent package.
Knowledge and Understanding
  • For a passing grade the doctoral student must
  • be familiar with and be able to describe how threads execute and are synchronized in a concurrent program;
    be familiar with causes for race conditions, and techniques for avoiding them;
    be familiar with causes for deadlock, and techniques for avoiding it.
Competences and Skills
  • For a passing grade the doctoral student must
  • be able to design concurrent reactive software based on application requirements and prescribed interfaces to the environment;
    be able to implement and debug multi-threaded software;
    be able to perform simple deadlock analysis for a small system of threads and resources
Judgement and Approach
  • For a passing grade the doctoral student must
  • be able to compare and discuss design and implementation options for concurrent programs;
    be able to make trade-offs between performance and implementation complexity in concurrent programs
Types of Instruction
  • Lectures
  • Laboratory exercises
Examination Formats
  • Written exam
  • Written assignments
  • Compulsory lab work and written examination. The final grade of the course is based on the result of the written examination.
  • Failed, pass
Admission Requirements
  • EDAA01 Programming - Second Course or EDAA30 Programming in Java - Second Course
Assumed Prior Knowledge
Selection Criteria
Literature
  • Goetz, B.: Java Concurrency in Practice. Addison-Wesley, 2006. ISBN 0321349601.
  • Additional materials provided by the department.
Further Information
Course code
  • EDAP10F
Administrative Information
  • 2020-09-24
  • Professor Thomas Johansson

All Published Course Occasions for the Course Syllabus

No matching course occasions were found.

0 course occasions.


Printable view