MARCO SELVATICI
Italian student with a passion for technology and informatics.
Life
Hi! My name is Marco Selvatici and I am an Italian student from Imola (near Bologna).
I was born on the 19th of October 1998 in Lugo and I lived in Conselice until 2005. Then I moved to Imola where I attended the Alberghetti high school from 2012 to 2017.
Currently I am living and studying in London.
Hobbies and interests
Since I was a child I always loved doing sports, therefore in the previous years I played football and basketball. However, I liked also other sports like table tennis, frisbee, volleyball, beach volley and racketball.
I also really like to travel and meet new people from all over the world (places I have already visited).
In Italy I spent beautiful days with my friends at the riverside, the seaside or just in a park playing basketball and doing barbecues.
My favourite music genre is rock, but I also like pop and rap music.
As you can easily notice, I am really interested in informatics and other technological stuffs.
STUDIES

High School
The Liceo Scientifico F. Alberghetti is an high school where the main focus is on scientific subjects, like maths, physics or science.
In the last 3 years my average of marks was the higest among all the students of my year.
Studied at Alberghetti's high school in Imola from 2012 to 2017.
In 2017, I got the high school diploma with score 100/100.

University
Imperial College London is one of the best universities in the world, in particular for engineering.
Only a small number of students from all over the world are admitted after a long selection process.
Have a look at the rankings if you want more informations.
Got admitted at Imperial College London as a Computer Engineering student.
PROJECTS - ACTIVITIES - AWARDS

Google internship
After the first year of university, I got an internship at Google Zurich!
I will work with the Google Assistant team, so excited!

WASM Tutorial
While doing the Facebook Hack-a-Project I learned quite a lot about Webassmebly.
That technology allows you to run any languange (not only JavaScript!) on the browser with near native performance! This means that you can write desktop-like applications and simply run them on the browser (even 3D games will have no problem).
But since we are on the browser, your app will have two huge advantages:
- It will be absolutely cross platform.
- It will require no installation or setup.
Have a look at it: Webassmebly tutorial.

CaDo CMS
Together with some other Computer Science students, I am developing a system for competitive programming
contests in LAN.
You can see how it is going from the github page.

Facebook
Hack-a-Project
Facebook Hack-a-project is a sort of extended hackathon were some university students are tutored by Facebook software engineers and have to develop a project.
I am currently working on a web app that uses Webassmebly to compress files quickly and with no need to upload them to a server. Try it!

Fusion!
With a group of Imperial College engineering students we are trying to build a small fusion reactor!
The aim is not to produce usable energy, but just to trigger the fusion of hydrogenus atoms to get elium.
Between October and December 2017 we designed the voltage source (that has to provide around 220kV of voltage difference) and in January we started to build a prototype thanks to a scholarship we won.

Web developing
After having coded for a while in C++ and Python, in 2017, I started to learn HTML, CSS and JavaScript.
The simple snake game you see in the gif was my first project (see code
or
play)
and then I created this web page about me.
Have a look also at my fractal tree generator (code)
and at my clocks.

Telegram bots
In 2017 I started to create telegram bots in Python using the Telegram Bot API.
Bots are automatic users that can help you in several operations, making your life easier.
The most interesting one I created is the @ms_notification_bot
(code):
it sends you a message if you have new Instagram or Facebook notifications (very useful if you use web versions of the apps and therefore you should everytime manually check for new notifications by opening the broswer).
Other bots I built, instead, keep me updated about the currency (EUR-GBP) exchange or notify me when someone gives me a feedback about my websites.

Informatics Courses
Thanks to my silver medal at Individual Informatics Olympiads I had the opportunity to attend two full-immersion Informatics courses with the other top 20 Olympiads contestants in preparation and selection for the International Informatics Olympiads
Every course lasted 5 days and they were in October and November 2016.

Informatics Tutor
Because of my good results at Informatics Olympiads I volounteered as a tutor for students in my school that were interested in that kind of competition.
Together with a friend of mine (a volounteer too) we involved more than 50 students from 14 to 18 and started to teach them both the basics of programming and more advanced algorithms.
In that way, one of our teams managed to win 3 over 5 contests at national level and 5 students reached the final round at Individual Informatics Olympiads (to which are admitted around 100 contestants over the initial 20'000+).

Informatics Olympiads
OII Olympiads are national competitions both individual or in teams.
In the years 2015 and 2016 I competed in both of them achieving remarkable results:
• 6th position at national level at Informatics Olympiads for Teams(over 300+ initial teams);
• silver medal (13th overall position at national level) at Individual Informatics Olympiads (over 20'000+ initial contestants).
In these competitions you have to create your own algorithms in order to solve the task proposed with both time and memory limitations.
The language used was C++.

SpecialVideo Internship
In summer 2016 I got an internship at SpecialVideo, a company that deals with industrial vision systems.
I worked for them on the feasibility study of an important application for the pharmaceutical industry.
I had to develop a C++ code that used three Computer Vision libraries in order to test the performances of different OCR (Optical Charachter Recognition) algorithms.
Tests gave positive responses and in summer 2017 the complete system started working.

Natural Science Olympiads
Natural Science Olympiads are competitions in natural science and biology.
In 2014 I placed myself 12th at national level.
I also took part at several other competitions, performing quite well in physics (bronze medal at regional level) and chemistry.
ARTIFICIAL INTELLIGENCE

Neural Networks
Followed several tutorials and read a lot about feed-forward neural networks. Even my final high school project was about that topic.
I used both Tensorflow and Keras (with Theano backend) for creating feed-forward neural networks that were able to solve some environments on
OpenAI Gym.
Have a look at the implementations with:
• Keras;
• Tensorflow (with a genetic algorithm to get some good training samples).

Q-Learning
In 2017 I attended an Artificial Intelligence course on EDX.
The first midterm of this course had three parts with projects in which you had to implement:
• search algorithms (DFS, BFS, UCS, A*);
• multiagent algorithms (MiniMax, Expectimax, AlphaBeta pruning optimization);
• Q-Learning algorithms (Q-Learning, approximate Q-Learning).
I got the maximum score (tested with an autograder) on every of them.
The language used was Python.

MiniMax
Have a look at my four in a row game with an alpha-beta-pruning minimax (C++).
The gif you see was part of the projects of the AI course I attended.

Genetic
Algorithms
Genetic algorithms simulate the natural evolution process in order to get good AI.
Have a look at my genetic algorithm
(applied on an OpenAI Gym environment).