X-Git-Url: https://codewiz.org/gitweb?p=wiki.git;a=blobdiff_plain;f=PersonalEducation;h=33528e6b94d44fc56ac7588958b5525803ef933a;hp=1054feee6334ef16a0a12d2d7db07fd55912c413;hb=9aff9699b28465ec5b148d8f1f88ec5ac870358d;hpb=4f73774331ca881b7e784b4b3134246610234c14 diff --git a/PersonalEducation b/PersonalEducation index 1054fee..33528e6 100644 --- a/PersonalEducation +++ b/PersonalEducation @@ -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.