compsci
compsci copied to clipboard
Lecture notes, projects, and more resources on the courses I attended for my Bachelor's and Master's degrees in Computer Science
compsci
Lecture notes, projects and various resources on the courses I attended at Università degli Studi di Milano Bicocca for my Bachelor's and Master's degrees in Computer Science.
You're welcome to contribute and send feeback opening Issues or proposing modifications with Pull Requests.
Contents
- General resources
-
Master's
- Probabilistic Models for decision making
- Data Analytics
- Complex Systems
- Cloud Computing
- Data and Text Mining
- Software Design Lab
- Theory of Computation
- Concurrent Models
- Data Technology and Machine Learning
- Informatics for industrial applications (Digital systems)
- Methods of Scientific Computing
-
Bachelor's
- Internship/Thesis
- Operations Research
- Information Security
- Databases
- Bioinformatics
- Operative Systems
- Programming Paradigms
- Embedded Systems
- Building
General resources
Master thesis guidelines:
More courses notes:
- C. Baldi (Bachelor's)
Some theses I appreciated and used as examples for the graduating students I advised:
- M. Rota - Rilevamento di elementi testuali in immagini digitali - Fully convutional networks. Advisors: R. Schettini, M.Buzzelli.
- L. Soligo - Generazione di reti Bayesiane a partire da ontologie - Advisors: F. Stella, G. Sottocornola.
- R. Pozzi - Aggiornamento e ripristino delle funzionalità in sistemi Linux Embedded - Advisors: L. Mariani, A. Vivace.
Master's
2018-2020
Thesis
Probabilistic Models for decision making
- Course project: kalman2d - Interactive 2D simulation of the Kalman Filter (LQE) in use to reduce (statistical) input noise.
Data Analytics
- Course project: Amazon Reviews Analytics - Data exploration, Analytics, Sentiment Analysis, Topic Analysis (LDA) and a web demo exposing the ML trained models.
- Notes, definitions and solved questions
- Unbalaced data: Survey of resampling techniques for improving classification performance in unbalanced datasets
- Community Detection approaches: Web Structure Mining: Community Detection and Evaluation
- Spectral Clustering:
Complex Systems
- Course project: Physarum - Final course project. Physarum polycephalum slime mould computing simulations.
Cloud Computing
- Cloud Computing and Distributed Systems - Afternotes by Antonio E. Cinà from the course at University Ca' Foscari of Venice, master in Computer Science - Data Management and Analytics.
- Cambridge - Concurrent and Distributed Systems
Data and Text Mining
- Course Project: Cervical Cancer - Exploratory study on Cervical Cancer: verifying known causal relations and assessing risk factors from women medical history datasets.
Software Design Lab
- Course project: Smart Home Automation - A Rasberry Pi integrated domotic solution with MQTT supporting sensors, actuators and a thermostat. Controllable from a fancy web application, smart speakers or a basic SMS interface. Documentation (Software Requirements Specification, Software Architecture, Testing, Deploy and Implementation) and a software implementation in Connexion (OpenAPI 3) and VueJS.
Theory of Computation
Concurrent Models
- Axiomatic semantics solved exercises (Hoare triples)
- Paolo Mancarella (Università degli studi di Pisa) - Note di semantica assiomatica
- Luca Aceto - Reactive Systems: Modelling, Specification and Verification
- Linear Temporal Logic examples
Data Technology and Machine Learning
- Course project: Basket Shots - Predicting Basket Shots outcomes using Suppor Vector Machines (documentation).
- Course project: pokemon-fights - Predicting Pokèmon fights outcomes with decision trees.
- Notes: Introduction to non-centralized DBMSs, Data Quality dimensions.
Informatics for industrial applications (Digital systems)
- Course project: VHDLtrafficlights - Implement a semaphore with a Xilinx FPGA.
- Elementi di Programmazione Logica
Methods of Scientific Computing
Final course projects:
- MSC1-SparseMatrix - Comparing open source and propetary solvers for sparse matrices.
- MSC2-DCT - Comparing naïve and scipy implementations of Discrete Cosine Transform 2 (and its inverse) and exposing the scipy implementation on a web appplication allowing to apply it on user provided images (BMP format).
Bachelor's
2014-2017
Internship/Thesis
- DNA Recombination. Approaching a Computational Biology problem with integer linear programming tools.
Operations Research
Information Security
Databases
Bioinformatics
- Theory: Pattern Matching, Suffix Trees and Alignment
- Final project: scripts, final PR. Add a method to compare sequence graphs to the RGFA library (Ruby).
Operative Systems
Programming Paradigms
- Theory: Functional Programming and Lisp
- Final project. Two libraries (Prolog and Common Lisp) to manipulate multivariate polynomials. Available predicates allows parsing, sorting, operations(sum, product), evaluating and printing polynomials.
Embedded Systems
-
Final Project. Implement in C, on a Silicon Labs C8051F020 board (and an additional board driven via SMBus):
- continuos detection of the inclination and the temperature,
- continuos display of the value on the LCD display,
- LCD controls (turn on, off, backlight intensity) with an hardware button.
Using interrupts and PWM techniques.
Building
Markdown files are compiled to PDF using pandoc.
pandoc $file_base_name.md -o $file_base_name.pdf template.tex
The LaTeX template used is hosted here.