Edit page TwoHundredDollarLaptop
[wiki.git] / PersonalEducation
index 1054feee6334ef16a0a12d2d7db07fd55912c413..33528e6b94d44fc56ac7588958b5525803ef933a 100644 (file)
@@ -8,33 +8,47 @@
  * 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.