Hi, I am Alberto Franco, an Italian computer scientist. I am interested in formal methods, concurrency, operating system design, programming languages and computer graphics. If you want to contact me send me a mail at afranco87 [at] gmail [dot] com. Almost all of the projects that are listed here are academic projects done across my master degree. If you want to check out a more detailed curriculum click here.

Projects on GitHub

Work experience

Freelance Software Engineer - Valis.io

From January 2015 to Present
I am working as a freelancer for several companies such as Adidas and 3D Excite developing plugins and automation for industrial designers for applications such as Rhinoceros 3D, MODO, Deltagen and Illustrator among the others. I use extensively Python, C++ and C# as the SDK and development toolkits of these applications allow the usage of such lanaguages. We are trying to build up a better infrastructure for software development for product engineering. We want to bring the best software to product engineers and industrial designers and bend it to their needs. We develop plugins and automation that allows designers and product managers to interact better and deliver faster. Our aim is to remove the obstacles that step in your way when developing a product.

Software Engineer - Dassault Systemes 3D EXCITE (formerly RealTime Technology AG)

From December 2012 to January 2015
Deltagen is a professional high-end 3D visualization platform. It allows to create and deploy persuasive 3D visuals. The application offers a powerful plug-in mechanism to adapt it to customer's use cases. As a member of team core, our resposibility are to extend and maintain system-level features such as scene graph and material management, distributed rendering, metadata handling and plugin infrastructure. My duties ranges from the development of new modules to maintainance of legacy code and bug fixing. I am, together with Deltagen Architect in charge of the SDK that allows customers or RTT developers to extend the application's functionality through plugins that could be written in C++, Python and ActionScript.
At RTT I learned the importance of team work and quality assurance in a large product used by customers with high expectations such as the automotive firms are. Begin such a big product built out of several millions of lines of C++ code, I learned the discipline of diving in a large codebase built across more than a decade and the importance of the communication between developers.

Freelance Software Consultant - Metaverso

From September 2010 to October 2012.
I helped Metaverso developing various projects for their customers and for internal use. As Metaverso is not a software company they needed someone that filled thier software needs when a customer asked them to design an innovative marketing solution. Here I used C++, C#, Adobe Actionscript, Lua for the creation of real-time 2D/3D interactive desktop, web and mobile applications. The projects included the creation of augmented reality and Unity3D prototypes, kinect data acquisition tools and various interactive exhibit for firms and museums. This was the first time where I had to manage projects on my own, in an industrial environment. I was able to learn how important is clear communication with the customer and co-workers that does not understand anything about software development.

Intern/Software Engineer - Alestea srl

From April 2010 to Septemper 2010.
Internship for my Bachelor graduation. Development of CAE software with FEM processing in C/C++ and CUDA. My Bachelor thesis has focused on the development of a solver for linear symmetric sparse matrices. This solver has been developed using Nvidia CUDA technology.

Intern/Programmer - Alestea srl

From June 2009 to October 2009.
Internship. Development of a Spline module in C/C++ for internal use in CAE applications. Use of Microsoft Foundation Class library together with an internally developed CAE module for FEM and computer-aided drawing for software creation.

Intern/Programmer - WebTinTin snc

From June 2008 to October 2009.
This was my first work experience as a software developer, at Web TinTin I developed various web components in Adobe Actionscript, Javascript, PHP, MySQL, HTML and CSS for customers operating mainly in the sport system. There I learned how to start a project from scratch and how to read and understand code written by other people.

Education

M.Sc, Computer Science - University of Padua

From October 2010 to October 2012
Graduated summa cum laude (110 with honors over 110). Thesis Title: True concurrency and atomicity: a model-checking approach with contextual Petri nets. My master degree focused on the study of the theoretical basis of computer science. This choice was driven by a personal need for deeper understanding of what is under the hood rather than acquiring practical skills as I did in the bachelor degree.

B.Sc, Computer Science - University of Padua

From October 2007 to July 2010
Graduated 100 over 110. Thesis Title: Solution strategies for linear sparse matrices with GPGPU and multi-core technologies. Thesis project consisted in the creation of a sparse linear solver with CUDA and C++ to use in FEM applications. I decided to attend computer science after quitting physics to further my passions for computer graphics and programming languages.

B.Sc, Physics - University of Padua

From October 2006 to September 2007
I quit the course after the first year, having passed four exams out of eight. I decided to quit the course due to a greater interest in computer science rather then in physics. It was a hard choice but, probably, the best of my life. The year I spent studing there taught me a lot about dedication, discipline and math.