Edit page user/bernie
[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 industry of
9  enterprise networking.
10
11  * [[http://www.itcvolta.it/it/default.asp | Istituto Tecnico-Commerciale Alessandro Volta]] -- Diploma
12  in **Mathematics and Computer Science** with a rating of **56 out of 60**. The curriculum included good
13  amounts of **electric engineering**.
14
15 === Reading List ===
16
17 My favorite books of CS and engineering:
18
19  * **Compilers** -- textbooks such as CompilersPrinciplesTechniquesAndTools and several others.
20
21  * **Algorithms** -- many, including classics such as DonaldKnuth's bible TheArtOfComputerProgramming,
22  CambridgeUniversityPress's NumericalRecipes and NicholasWirth's ancient, but still brilliant,
23  "Algorithms + Data Structures = Programs".
24
25  * **Operating Systems** -- Too many to mention here, most of which were quite
26  theoretical and boring.  My favorite will always be [[http://www.apuebook.com/|Advanced Programming In The Unix Environment]] by Richard Stevens.
27  I also recommend [[http://catb.org/esr/writings/taoup/|The Art of Unix Programming]].
28
29  * **Networking** -- My favorite is the immortal [[http://en.wikipedia.org/wiki/TCP/IP_Illustrated | TCP/IP Illustrated]] trilogy.
30
31  * **Programming Languages** -- All the obvious textbooks such as BjarneStroustrup's
32  SeePlusPlusProgrammingLanguage, and many others like the old SeeProgrammingLanguage,
33  ThinkingInJava, and dozens of C++ books.
34
35  * **Programming Techniques** -- Countless.  Such as SeePlusPlusTemplateMetaprogramming
36  and the controversial ModernSeePlusPlusDesign by AndreiAlexandrescu.
37  My absolute favourite is Brian Kernighan's and Rob Pike's [[http://cm.bell-labs.com/cm/cs/tpop/ | The Practice of Programming]].
38
39  * **Software Architecture and Design** -- All the "must-read" classics such as
40  GangOfFour's DesignPatterns, UmlDistilled and UmlDesignPatterns.
41
42  * **Project Management** -- My favourites are TheMythicalManMonth and
43  [[http://c2.com/cgi/wiki?AntiPatternsBook|AntiPatterns]], but I've also read
44  [[http://www.amazon.com/Waltzing-Bears-Managing-Software-Projects/dp/0932633609|WaltzingWithBears]],
45  [[ExecutionPlainAndSimple]] and a few others.
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.