=== Formal studies === * [[http://www.extension.harvard.edu/ | Harvard Extension School]] -- Undergraduate courses of **Mathematics** and **Educational Technologies**. * [[http://www.unifi.it/ | Unviersità degli Studi di Firenze]] -- I attended only one term of **Software Engineering** (computer Science exam **30/30 cum laude**). In 1995, I dropped out to work for a startup in the emerging field of enterprise networking. * [[http://www.itcvolta.it/it/default.asp | Istituto Tecnico-Commerciale Alessandro Volta]] -- High-school diploma in **Mathematics and Computer Science** with a rating of **56 out of 60**. This course included a good amount of **Electronic Engineering**. === Non-formal studies and self-teaching === To compensate for the lack of good formal education, I became a good customer of the local libraries: * **Compilers**, reading plenty of textbooks such as CompilersPrinciplesTechniquesAndTools, and many others. * **Algorithms** -- many, including classics such as DonaldKnuth's bible TheArtOfComputerProgramming, CambridgeUniversityPress's NumericalRecipes and NicholasWirth's ancient, but still brilliant, "Algorithms + Data Structures = Programs". * **Operating Systems** -- Too many to mention here, most of which quite theoretical and boring. Of course, my favorite will always be AdvancedProgrammingInTheUnixEnvironment. * **Networking** -- Several books, including TcpIpIllustrated, several RFCs and technical papers. * **Programming Languages** -- All the obvious textbooks such as BjarneStroustrup's SeePlusPlusProgrammingLanguage, and many others like the old SeeProgrammingLanguage, ThinkingInJava, and dozens of C++ books. * **Programming Techniques** -- Countless. Such as SeePlusPlusTemplateMetaprogramming and the controversial ModernSeePlusPlusDesign by AndreiAlexandrescu. My absolute favourite is BrianKernighan's and RobPike's ThePracticeOfProgramming. * **Software Architecture and Design** -- All the "must-read" classics such as GangOfFour's DesignPatterns, UmlDistilled and UmlDesignPatterns. * **Project Management** -- My favourite certainly is TheMythicalManMonth, but I've read a few others such as ExecutionPlainAndSimple. * **Technical Writing** -- TheElementsOfStyle and DonaldKnuth's TheTexBook are my favourites on the topics of stylish writing and typesetting. * **Numerical Methods** -- I'm sorry to have quite a thin mathematical background. Nevertheless, I enjoyed reading DonaldKnuth's ConcreteMathematics and CambridgeUniversityPress' NumericalRecipes. * **Database** -- Relational algebra, principles of schema normalization, SQL.