Material regarding my Bachelor's and Master's degree in Computer Science. In this repo you can find some notes, always double check and don't trust them, there could be mistakes.
Below you can find the link to some projects I did for various courses.
- MIPS-multicycle-datapath: implementation of the MIPS multicycle datapath in Logisim Evolution. I actually made this project during my first Master's year, as part of my tutoring job for the course "Architettura Degli Elaboratori".
- languages-and-computability: playing around with jflex and byaccj, assignments for the course "Linguaggi e Computabilità".
- little-man-computer: little man computer implementation in Prolog and LISP, for the course "Linguaggi di Programmazione".
- brain-jobs: small REST APIs in Java and ajax frontend. Made for the course "Sistemi Distribuiti".
- bachelor-thesis: my bachelor's thesis, working on microcontrollers to implement the control system for a differential drive robot.
- robotics-and-automation-exercises exercises and projects in MATLAB for the coures Robotica e Automazione, for the robotics part I developed some script to deal with rototranslation, for the automation part I developed a control system using Simulink. Note: this repo is private since the exercises are part of the final mark and are used each year, please send me a message if you need the access.
- tcdm-exercises: assignments for the course Trattamento e Codifica di Dati Multimediali. MATLAB scripts to deal with various signals, ranging from audio filtering to image processing. Note: this repo is private since the exercises are part of the final mark and are used each year, please send me a message if you need the access.
- exoplanet: project for the course "Machine Learning". Applying SVM, NN, and Naive Bayes models to predict if a exoplanet candidate will be classified as exoplanet.
- Assignments for the course "Processo e Sviluppo Software":
- pypeline: small Gitlab pipeline for Python projects.
- elicitation-strategy: requirement elicitation, analysis and report.
- spring-paper: using Java with Spring framework for a small demo.
- electronics-experimentations: electronics lab, programming a microcontroller and experimenting with basic electronics circuits (e.g. OPAMPs). The course "Esperimentazioni di Elettronica" is actually part of the Physics Bachelor's, but I really liked the syllabus and I added it to my "piano studi".
- Projects for the course "Metodi del Calcolo Scientifico":
- linear-solver-comparison: comparison of linear solvers for sparse matrixes in MATLAB, Octave and Python.
- DCT-comparison-and-JPEG: comparison of scipy dct vs. custom implemented dct and implementing a custom JPEG compression algorithm.
- Multi-Operation-ALU-VHDL: project for the course Informatica Industriale. Developing a small FSM and ALU in VHDL.
- Project and assingments for the course Advanced Machine Learning:
- Point Cloud Classification using Deep Neural Networks: in-depth study about the methods deep neural networks use to classify 3D data.
- advanced-ml-assignments: Jupyter notebooks about deep neural networks using Keras. Note: this repo is private since the exercises are part of the final mark and are used each year, please send me a message if you need the access.
- Project and assignments for the course Visual Information Processing and Management:
- Plate2Art: Python + MATLAB processing of food images and retrivial of art paintings with similar features.
- visual-information-processing: MATLAB scripts to process images, ranging from traditional filters to deep neural networks used for classification. Note: this repo is private since the exercises are part of the final mark and are used each year, please send me a message if you need the access.
- computer-and-robot-vision: assignments and lab code for the course Computer and Robot Vision. During the course I implemented EFK and particle filters in MATLAB, used SLAM algorithms on point clouds and developed Jupyter Notebooks for camera calibration and stereo reconstruction. Note: this repo is private since the exercises are part of the final mark and are used each year, please send me a message if you need the access.
- smart-booklet: project for the course Laboratorio di Progettazione. We developed a Telegram bot to handle a university booklet. The development was focused on using agile methods such as Trello boards and git flow.
- home-monitor: project for the course Internet of Things. During the project we developed a smart monitoring system using ESP866 boards, MQTT, REST APIs, InfluxDB, ReactJS.