Search for contacts, projects,
courses and publications

Programming Fundamentals 3

Description

This course teaches concepts and methods of object-oriented programming as well as concurrent programming techniques. The object-oriented programming features of Java are presented in detail, focusing on the proper use of polymorphism. The course also teaches design by contract, UML, as well as selected design principles and patterns. Moreover, the course gives an introduction to concurrent programming in Java. It covers multi-threading, safety and liveness hazards, and synchronization. The presented techniques enable the development of scalable Java software capable of exploiting modern multicore hardware.

 

REFERENCES

  • Design Patterns: Elements of Reusable Object-Oriented Software (1994), by E. Gamma, R. Helm, R. Johnson, J. Vlissides. ISBN-13: 078-5342633610
  • Java Concurrency in Practice (2006), by B. Goetz, T. Peierls, J. Bloch, J. Bowbeer, D. Holmes, D. Lea. ISBN-13: 978-0321349606

People

 

Binder W.

Course director

Schiavio F.

Assistant

Additional information

Semester
Fall
Academic year
2019-2020
ECTS
6
Language
English
Education
Bachelor of Science in Informatics, Core course, Lecture, 2nd year