Software and data engineering

Testo in elaborazione

Testo in elaborazione

Software engineering

The institute has strong competences in software engineering and development methodologies.

We teach theoretical and practical aspects of software engineering and development, in particular object-oriented languages, architectures and design patterns, also emphasizing some practical elements related to agile methodologies, like refactoring, unit testing, automatic build and continuous integration. We are used to organize knowledge transfer in such fields and we have the experience and the competence to apply modern software engineering and development methodologies in our projects, as well as introduce and use the necessary toolchain to manage them in complex projects.

Advanced software architectures

Software technologies for parallel, distributed and cloud computing have recently evolved as a consequence of the strong innovation in computation units such as multi-core processors and massively-parallel processors (GPUs and MICs), available in personal computers, in embedded devices, and in the cloud.
ISIN competences in parallel, distributed and cloud computing span from system configuration, to application development and optimization.

Parallel and distributed computing

  • Development and optimization of parallel processing applications for multi-core processors and accelerators (GPUs and MICs) in embedded computers, workstations and servers.
  • Design and implementation of software architectures for distributed processing, including architectures for service-oriented systems, big-data processing and high-performance computing.
  • Implementation of development tools for modeling and prototyping of concurrent and parallel applications.

Cloud computing

  • Configuration of cloud computing software systems.
  • Development of cloud based infrastructures, services and applications.

Further information

Patrick Ceppi, Lecturer and Researcher