- Parallel and Distributed Systems (paradigms and models) (2018). C++ and FastFlow implementation of the parallel scan Blelloch algorithm with a master-worker architecture schema and tests.
Code
- Programming Tools for Parallel and Distributed Systems (2018). Collection of exercises on MPI, TBB and OpenCL. In particular, a C++ implementation of the Mandelbrot set computation using the Intel Threading Building Blocks library has been implemented.
Code
- Networks and Technologies for Telecommunications – FPGA part (2018). Implementation of Adders, Subtractors and Multipliers in Verilog HDL. The tests have been conducted on both the Quartus University Program Waveform Simulator and on the DE2-115 series FPGA board.
Code
- Networks and Technologies for Telecommunications – SDN part (2018). Portion of an In-Band Telemetry application to monitor the latency of packets traversing a certain path/tunnel established between two switches. Programming language/framework: Java, P4, P4 Runtime, ONOS, Mininet.
Code
- Packet Switching and Processing Architectures (2018). C++ monitoring application that captures traffic with libpcap and identifies and analyses different flows.
Code
- Advanced Software Engineering (2017). Collection of exercises on web services, business process modeling and containerization with Docker.
Code
- Advanced Programming (2016). Collection of four projects:
- OCaml Domain Specific Language for a Software Defined Network model and a simulation of the behavior of the network.
- Python API for a Software Defined Network model and a simulation of the behavior and state of the network.
- Multiset data structure implemented in Java using different concurrency policies.
- Simple Scala IRC-style chat program.
Code
- Network Management (2014). Lua script that monitors system events with Sysdig to measure the performance of an application and the amount of resources required.
Code
- Programming Languages 2 (2014). Collection of two projects:
- OCaml implementation of an interpreter for a functional language.
- Java project oriented to programming by contract approach.
Code
- Computer Networks (2014). Java implementation of a distributed chat system where users in a WAN can register and exchange messages with each others. The architecture of the application is composed by a Java RMI registry, a server, a set of user agents that manage the requests inserted by connected users, a set of proxies that manage the messages addressed to offline users.
Code