Last edit: 13/11/2018
Approved: 13/11/2018

Development of computer networks and communication technology provides a new technological foundation for designing software systems. The systems become distributed, reconfigurable and adaptive and their components employ a high degree of autonomy. The set of devices where distributed software applications may operate ranges from workstations to Personal Digital Assistants (PDA). Distributed computer environments also assume that information sources and control can be decentralized over the network. All this makes the process of developing distributed software systems significantly more complex than for centralized systems.

New technological developments create a great demand from industry in engineers who are able to design software systems utilizing these developments. Our Master program is intended to be an educational response to such industrial demand.

The program emphasizes combination of fundamental principles of distributed computing with modern methods of software systems design.

The program gives the students state-of-the-art knowledge of the field and develops their practical skills in order to meet current industrial requirements as well as ability to adapt to new developments of tomorrow technology.

Knowledge and understanding

Upon successful completion of the program the students shall

  • know basic methods of modern software development and data analysis
  • understand a variety of approaches to software development and discuss their applicability boundaries, benefits, restriction and complementarities
  • know basic Distributed AI methods for solving problems with decentralized control
  • know basic concepts and principles of distributed systems
  • understand distributed algorithms and have orientation about distributed architectures and middleware
  • identify and describe examples of sustainability aspects related to distributed software systems
  • Have in-detph knowledge in the chosen area of specialization
  • explain social, ethical and environmental aspects of sustainable development in the area of distributed software systems.

Skills and abilities

Upon successful completion of the program the students are able to

  • use modern software development and data analysis methods and techniques in practical system development
  • apply distributed AI methods in providing solutions to inherently distributed problems and to problems where expertise is distributed
  • design, implement and maintain distributed software systems for a wide range of applications including, systems for peer-to-peer and cloud computing, systems with services oriented architecture, big data systems and internet-based systems
  • based on various definitions of sustainable development illustrate and point out perspectives where progress within distributed software systems can be relevant for sustainable development in society.

Ability to make judgments and adopt a standpoint

The student shall

  • show ability to make assessments taking into account relevant scientific, societal and ethic aspects as well as show awareness of ethical aspects of research and development work
  • show insight into the possibilities and limitations of science, its role in society and the responsibility of humans for its use also from a sustainability perspective
  • show ability to identify her/his need for additional knowledge and take responsibility for the development of his/her own knowledge
  • show ability to compare and evaluate possibilities and limitations of distributed software systems in the society and how they are used from a sustainability perspective.