* Attended one term of Software Engineering course at Unviersita' degli
Studi di Firenze in 1994. Computer Science exam '''30/30 cum laude'''.
+In 1994 I dropped out of the university to accept a job as an EmployedWorker
+for a small company, and a few months later for SeacCompany.
=== Nonformal studies and self-teaching ===
+Over the years I tried to compensate for lack of proper university-grade
+education by making the local libraries much richer:
+
* '''Compilers''', reading several textbooks such as CompilersPrinciplesTechniquesAndTools,
and many others.
- * '''Algorithms''' - textbooks such as DonaldKnuth's TheArtOfComputerProgramming,
- CambridgeUniversityPress's NumericalReceips and even NicholasWirth's ancient
- "Algorithms + Data Structures = Programs".
+ * '''Algorithms''' - many, including classics such as DonaldKnuth's bible TheArtOfComputerProgramming,
+ CambridgeUniversityPress's NumericalRecipes and NicholasWirth's ancient, but still
+brillant, "Algorithms + Data Structures = Programs".
- * '''Operating Systems''' - Too many textbooks to mention here, most of
- which quite theoretical. My favourite is of course AdvancedProgrammingInTheUnixEnvironment.
+ * '''Operating Systems''' - Too many to mention here, most of which quite
+ theoretical and boring. Of course, my favorite will always be AdvancedProgrammingInTheUnixEnvironment.
- * '''Networking''' - Many, many books, including TcpIpIllustrated.
+ * '''Networking''' - Several books, including TcpIpIllustrated, several RFCs and
+ technical papers.
- * '''Programming Languages''' - Using the obvious textbooks such as BjarneStroustrup's
- SeePlusPlusProgrammingLanguage, and many others like SeeProgrammingLanguage,
- ThinkingInJava.
+ * '''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''' - Many. Such as SeePlusPlusTemplateMetaprogramming.
+ * '''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''' - Lots of titles such as GangOfFour's DesignPatterns,
- UmlDistilled and UmlDesignPatterns.
+ * '''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 TheTexBook are my favourite on
- the topics of stylish writing and typesetting.
+ * '''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.
+
+ * '''Databases''' - Basics of the relational database theory and relational algebra.
+ Know how to rewrite schemata into normal form.