This course provides an introduction to the design and implementation of operating systems, and operating system concepts that appear in modern distributed systems. We will discuss various operating system concepts, including process management, threads and concurrency, scheduling, synchronization, memory management, virtual memory, and file systems. We will also discuss other topics, such as UNIX programming, storage systems, networked and distributed systems, and virtual machines.
This course is structured to present fundamental computing concepts with a holistic problem-driven approach. In this way, we motivate the concepts and illustrate their application. It will be using the Arduino concrete-computing platform so that students will both become familiar with the typical screen-keyboard-mouse style of computing, but also the kind of embedded computing that is behind the scenes in the many devices that surround us. Delivery is hands on, with the classes taking place in a lab environment.
This course covers several cross-cutting topics and recent papers in the areas of IoT, Edge and Mobile Computing, and Cyber-Physical Systems. These topics include energy harvesting, backscattering communication, energy and performance optimization, TinyML, sensor fusion networks, privacy preserving techniques, and federated learning.
This course is structured to present fundamental computing concepts with a holistic problem-driven approach. In this way, we motivate the concepts and illustrate their application. It will be using the Arduino concrete-computing platform so that students will both become familiar with the typical screen-keyboard-mouse style of computing, but also the kind of embedded computing that is behind the scenes in the many devices that surround us. Delivery is hands on, with the classes taking place in a lab environment.
This course will provide an introduction to topics that are essential for understanding and addressing performance issues in modern computer systems, in particular stochastic processes, Markov chains, and queueing theory. It is appropriate for undergraduate and graduate students interested in the broad area of systems. At the completion of this course you will be able to model, analyse, and design software/hardware systems with good performance at low cost.
This course is structured to present fundamental computing concepts with a holistic problem-driven approach. In this way, we motivate the concepts and illustrate their application. It will be using the Arduino concrete-computing platform so that students will both become familiar with the typical screen-keyboard-mouse style of computing, but also the kind of embedded computing that is behind the scenes in the many devices that surround us. Delivery is hands on, with the classes taking place in a lab environment.
Sensors and control nodes with computing and communication capabilities are becoming integral parts of modern systems and structures. The network of these intelligent and connected devices, dubbed as the Internet of Things (IoT), has significant potential to enable various applications and presents new energy savings and revenue generation opportunities in different domains, from smart cities to healthcare and energy systems. This course covers several cross-cutting topics and important papers from the literature on IoT and Cyber-Physical Systems (CPS). These topics include sensor fusion, distributed control, energy and performance optimization, time synchronization, and privacy-preserving data analysis.
This course is structured to present fundamental computing concepts with a holistic problem-driven approach. In this way, we motivate the concepts and illustrate their application. It will be using the Arduino concrete-computing platform so that students will both become familiar with the typical screen-keyboard-mouse style of computing, but also the kind of embedded computing that is behind the scenes in the many devices that surround us. Delivery is hands on, with the classes taking place in a lab environment.
This course is intended to provide an introduction to the mathematical foundations of networks and distributed systems, covering topics that are necessary for modeling and performance evaluation of various types of computing systems. Furthermore, it aims to discuss several applications, such as traffic modeling, capacity planning, resource allocation, and congestion control.
This course provides an introduction to the design and implementation of operating systems, and operating system concepts that appear in modern distributed systems. We will discuss various operating system concepts, including process management, threads and concurrency, scheduling, synchronization, memory management, virtual memory, and file systems. We will also discuss other topics, such as UNIX programming, storage systems, networked and distributed systems, and virtual machines.
This course is structured to present fundamental computing concepts with a holistic problem-driven approach. In this way, we motivate the concepts and illustrate their application. It will be using the Arduino concrete-computing platform so that students will both become familiar with the typical screen-keyboard-mouse style of computing, but also the kind of embedded computing that is behind the scenes in the many devices that surround us. Delivery is hands on, with the classes taking place in a lab environment.
This course covers ways to leverage sensing, networking, machine learning, and control to make key physical infrastructure of our society, i.e., buildings, transportation systems, and power grids, smarter and more energy efficient. It aims to provide a high-level perspective on different topics, including systems for data acquisition, storage, and processing, algorithms for resource allocation, scheduling, and control federation, and different types of analytics.
This course is structured to present fundamental computing concepts with a holistic problem-driven approach. In this way, we motivate the concepts and illustrate their application. It will be using the Arduino concrete-computing platform so that students will both become familiar with the typical screen-keyboard-mouse style of computing, but also the kind of embedded computing that is behind the scenes in the many devices that surround us. Delivery is hands on, with the classes taking place in a lab environment.
This course covers ways to leverage networking, sensing, and computation to make key physical infrastructure of our society, i.e., buildings, transportation systems, and power grids, smarter and more energy efficient. We will also talk about techniques to improve the energy-efficiency of our computing infrastructure. The course is meant to provide a high-level perspective on different topics, including integration of networked sensors in built environments, analyzing energy consumption of software systems and mobile applications, energy optimization for data centre networks, load scheduling in the smart grid, urban planning, and big data analytics.