This site is a collection of Massimo Nocentini’s papers, notes, memos and source code up to July 27, 2020.



  •’s Deep Learning Specialization completed on July 27, 2020 (certificate).
  • PhD degree in Mathematics, Computer Science and Statistics, thesis title An algebraic and combinatorial study of some infinite sequences of numbers supported by symbolic and logic computation (pdf), advised by prof. Donatella Merlini and affiliated to the Dipartimento di Statistica, Informatica e Applicazioni (DiSIA), University of Florence, from 2015 to 2019.
  • Master Laurea degree in Computer Science, voting 110/110 cum laude, thesis title Patterns in Riordan arrays, supervised by prof. Donatella Merlini, University of Florence, 2015.
  • Laurea degree in Computer Science, voting 110/110, thesis title Analysis of metabolic networks based on connection properties, supervised by prof. Pierluigi Crescenzi, University of Florence, 2012.
  • Maturity exam on Computer Science, voting 100/100, Meucci Technical Institute, ABACUS project, Florence, 2005.



  • ESUG2019, August 2019, Cologne, Germany: contributed the talk Dancing Links: an educational pearl (pdf).
  • ESUG2018, September 2018, Cagliari, Italy: volunteer student and contributed the talk Relational Programming in Smalltalk (pdf).
  • <Programming>, April 2018, Nice, France: participant.
  • ICFP, September 2017, Oxford, UK: volunteer student.
  • EuroPython, July 2017, Rimini, Italy: participant.
  • AORC winter school, February 2017, Suwon, Korea: contributed a talk Algebraic generating functions for languages avoiding Riordan patterns (pdf) and EOIS tools (slides).
  • ECOOP, July 2016, Rome, Italy: volunteer student.
  • Second International Symposium on Riordan Arrays and Related Topics, July 2015 Lecco, Italy: contributed a talk about modular Catalan triangle C≡2.

Teaching and work in the academia

  • During Spring 2020, he (co)teaches the course Algorithms and Programming for Massive Data at the University of Florence (slides: Introduction, Jupyter notebooks, NumPy, Pandas, Matplotlib, NetworkX, gotchas and generators, respectively).
    A note about copyright: all the content has been taken from Jake Vanderplas, therefore I have no merits for it; I just put notebooks into slides for my own educational needs.
  • From April 2019 to March 2020 he received a contract to collaborate with prof. Daniele Vignoli in a scholarship titled Rilevamento dell’incertezza economica attraverso stampa e social media. This research requires that machine learning techniques should be employed to perform Natural Language Processing on a selection of articles appeared on Italian newspapers; he trained word embeddings based upon the Wikipedia snapshot at 1st of July 2019 and have started the training of a model for the NLP Python package Spacy concerning the Italian language.
  • He did two classes about SymPy to introduce symbolic manipulations on top of the Python language, within a course on Analysis of Algorithms taught by Donatella Merlini at the University of Florence; in addition, he translated lab sessions code from Maple to Python collected in notebooks available online (link).
  • He collaborated with prof. Enrico Vicario under a scholarship titled Architetture e metodi per la cooperazione applicativa; the collaboration took two years where he worked on a simulator for gas and water networks.

Work outside academia

After his PhD dissertation he have opened a VAT and currently he collaborate with Schmidt company using Smalltalk technologies.

During his studies he worked in software houses localized in Florence, Italy; formerly at Commit and lately at Negens, developing mainly client-server applications using industrial-strength languages such as Java and C#, for about eight years, part-time relationships in parallel with his studies; in short,

  • a software to generate bet systems for the Italian circuit Sisal, written in C#; precisely, the software allows a group of lotteries to authenticate using a secure channels and personal tokens with a server that regularly fetched odds from the Sisal provider. Then, it generates reports with tables containing a subset of events that satisfies the lotteries’ constraints.
  • a software that takes into account VAT registers and economic transactions for small bussnesses. Again, written in C# interfacing with MSSQL servers, using advanced SQL features about pivot tables, cursors, views and stored procedures; this software were developed in a joint effort with a group in Milan, Italy.
  • little projects about sensors, microcontrollers and home automation using Linux boxes and the RaspberryPi, interfacing with C code while scripting in Python; heavy use of shell and network protocols for messages exchange.

Github repositories