My Skills
I consider my fast learning of new things one of my points of strength that led me to experiment in various fields related to Computer Science.
Following my interests, I have gained hands-on experience during Cybersecurity classes at college with various tools and environments in the field of cybersecurity.
In particular, my experience revolves around the use of OpenSSL for various cryptographic tasks during my projects (ex. Cybersecurity exercises, but also the Vending Machines Project to ensure safety when someone connects to Mosquitto broker) and Bitwarden for password management (I have learnt by myself and integrated it into my daily workflow).
Some of the other cybersecurity areas I have experimented on include:
-
Virtual Machines and Simulated Environments such as Kali and Netkit;
-
Packet Analysis using Wireshark;
-
other tools such as Okteta.
I’m currently using Qiskit for Quantum computing projects, such as my exam about BB84 Protocol.
I’m experienced in using both Python and Java to program using various programming paradigms: Imperative, Functional, Object Oriented and Event Driven.
In particular:
-
During many projects of my college study path, I used both Java, including many libraries, and the GUI related libraries (java.awt and javax.swing);
-
I used OpenSSL and I also worked using Java in Criptography and Cybersecurity fields;
-
I attended a Python course at college, starting from scratch;
-
I delved further into Python in my free time by experimenting with libraries, including, in particular, Pygame (learning by myself to use the Object Oriented programming paradigm in Python), as an alternative to the RPGMaker Vx Ace I used at the beginning of highschool (scripts were in Ruby). I did it as an hobby, as Pygame could give me more freedom in game making;
-
During highschool, I used Choregraphe scripts (Python) to program the robot NAO. Me and my team took part to more than one edition of the national robotics competition NaoChallenge and in 2019 we won in the semifinals and took part to the final in Rome with our project;
-
About big data management and process mining: during college I used Pm4py during a Support To Decisions and Processes Management course.
I’m also experienced in C and C++ since highschool, as, apart from Scratch and MIT App Inventor, they have been the first language I started learning. I used C a lot in college, especially during Algorithms 1 laboratories, while during Algorithms 2 ones we used Java.
I’m also proficient in web developing, as I learnt a lot while working on my Web Programming Methodologies project. I used HTML and CSS, using Bootstrap when needed.
I used JavaScript to program events from the client side, calls to the server and the server side itself. For the latter, I used Node.js, Express (ex. for the validators) and Passport (for the authentication with username and password). During highschool, instead, I used JQuery a lot.
For documentation, I learnt basic Markdown by myself.
For gamemaking, I also tried Phaser library in JavaScript.
In both cases, I had to use databases to store and organize data and have it ready to retrieve when needed. I’m experienced in SQL and relational databases. During my projects, I have become proficient in SQLite, PostgreSQL and MySQL.
I usually work on Windows and Linux (in particular, Ubuntu).
IDEs and Editors I used during the years:
-
Pycharm
-
Eclipse
-
Intellij
-
NetBeans
-
CodeBlocks
-
DevC++
-
VSCode
-
Atom
-
VSStudio (beginner)
-
PostgreSQL and PgAdmin4
-
DBeaver
-
SQLite
-
MySQL
Tools (Version control, debug, testing, documentation...) I used during the years:
-
Javadoc
-
JUnit
-
Jupyter
-
Gradle
-
Maven
-
Git
-
GitHub
-
GitLab
-
BitBucket
-
Postman
-
Mosquitto
-
Visual Paradigm for UML Diagrams
-
GDB to debug from terminal
-
Zotero for cataloguing books at volounteering
-
Wix
-
Choregraphe for NAO robot (highschool)
-
Ozoblockly (highschool)
-
Scratch (highschool)
-
MBlock for Arduino (highschool)
-
MIT App Inventor (highschool)
