High Performance Computing
This course covers the fundamental principles and practical aspects of high-performance computing, including HPC systems and the key concepts and practices of parallel programming, with a focus on the shared-memory and message-passing paradigms.
This course discusses the principles of concurrent programming, synchronization, and access to shared data in multi-threaded applications.
Distributed Systems and Cloud/Edge Computing for the Internet of Things
This course discusses the main concepts behind Edge and Cloud computing, introducing the available tools and frameworks for modeling, simulating, and implementing interoperable IoT applications.