Search for contacts, projects,
courses and publications

Advanced Programming & Design

Description

This course teaches concepts and methods of object-oriented and concurrent programming that help create complex software systems that are extensible and scalable. It covers principles of object-oriented programming and design, inclusion polymorphism, single and multiple dispatch, parametric polymorphism, design patterns, functional programming, concurrent programming, and aspect-oriented programming. These concepts are explained in the context of the Java programming language.

 

 

REFERENCES

  • Design Patterns: Elements of Reusable Object-Oriented Software (1994), by E. Gamma, R. Helm, R. Johnson, J. Vlissides. ISBN-13: 078-5342633610.
  • Java Generics and Collections (2006), by M. Naftalin, P. Wadler. ISBN-13: 978-0596527754.
  • Java 8 Lambdas: Pragmatic Functional Programming (2014), by R. Warburton. ISBN-13: 978-1449370770.
  • Java Concurrency in Practice (2006), by B. Goetz, T. Peierls, J. Bloch, J. Bowbeer, D. Holmes, D. Lea. ISBN-13: 978-0321349606.
The course is not offered in the academic year 2017/18

People

 

Binder W.

Course director

Le L. H.

Assistant

Additional information

Semester
Fall
Academic year
2017-2018
ECTS
6
Education
Master of Science in Informatics, Core course, Lecture, 1st and 2nd year