Edit page memo/benchmark/compression-algorithms
[wiki.git] / PersonalEducation
1 === Formal studies ===
2
3  * [[http://www.extension.harvard.edu/ | Harvard Extension School]] -- Undergraduate courses of **Mathematics** and
4  **Educational Technologies**.
5
6  * [[http://www.unifi.it/ | Unviersità degli Studi di Firenze]] -- I attended only one term of
7  **Software Engineering** (computer Science exam **30/30 cum laude**).
8  In 1995, I dropped out to work for a startup in the emerging field of
9  enterprise networking.
10
11  * [[http://www.itcvolta.it/it/default.asp | Istituto Tecnico-Commerciale Alessandro Volta]] -- High-school diploma
12  in **Mathematics and Computer Science** with a rating of **56 out of 60**. 
13  This course included a good amount of **Electronic Engineering**.
14
15 === Non-formal studies and self-teaching ===
16
17 Over the years, I compesated for lack of university-grade education by
18 being a good customer of the local libraries:
19
20  * **Compilers**, reading several textbooks such as CompilersPrinciplesTechniquesAndTools,
21  and many others.
22
23  * **Algorithms** -- many, including classics such as DonaldKnuth's bible TheArtOfComputerProgramming,
24  CambridgeUniversityPress's NumericalRecipes and NicholasWirth's ancient, but still
25  brilliant, "Algorithms + Data Structures = Programs".
26  
27  * **Operating Systems** -- Too many to mention here, most of which quite
28  theoretical and boring.  Of course, my favorite will always be AdvancedProgrammingInTheUnixEnvironment.
29
30  * **Networking** -- Several books, including TcpIpIllustrated, several RFCs and
31  technical papers.
32
33  * **Programming Languages** -- All the obvious textbooks such as BjarneStroustrup's
34  SeePlusPlusProgrammingLanguage, and many others like the old SeeProgrammingLanguage,
35  ThinkingInJava, and dozens of C++ books.
36
37  * **Programming Techniques** -- Countless.  Such as SeePlusPlusTemplateMetaprogramming
38  and the controversial ModernSeePlusPlusDesign by AndreiAlexandrescu.
39  My absolute favourite is BrianKernighan's and RobPike's ThePracticeOfProgramming.
40
41  * **Software Architecture and Design** -- All the "must-read" classics such as
42  GangOfFour's DesignPatterns, UmlDistilled and UmlDesignPatterns.
43
44  * **Project Management** -- My favourite certainly is TheMythicalManMonth, but I've
45  read a few others such as ExecutionPlainAndSimple.
46
47  * **Technical Writing** -- TheElementsOfStyle and DonaldKnuth's TheTexBook are my
48  favourites on the topics of stylish writing and typesetting.
49
50  * **Numerical Methods** -- I'm sorry to have quite a thin mathematical background.
51  Nevertheless, I enjoyed reading DonaldKnuth's ConcreteMathematics and
52  CambridgeUniversityPress' NumericalRecipes.
53
54  * **Database** -- Relational algebra, principles of schema normalization, SQL.