Formal studies ¶
Non-formal studies and self-teaching ¶
To compensate for the lack of good academic institutions in the '90s, I became a good customer of the local bookstores:
Compilers — textbooks such as CompilersPrinciplesTechniquesAndTools and several others.
Algorithms — many, including classics such as DonaldKnuth's bible TheArtOfComputerProgramming,
CambridgeUniversityPress's NumericalRecipes and NicholasWirth's ancient, but still brilliant,
"Algorithms + Data Structures = Programs".
Operating Systems — Too many to mention here, most of which were quite
theoretical and boring. My favorite will always be AdvancedProgrammingInTheUnixEnvironment.
Networking — Several books, including TcpIpIllustrated. RFCs and technical papers.
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 — Countless. Such as SeePlusPlusTemplateMetaprogramming
and the controversial ModernSeePlusPlusDesign by AndreiAlexandrescu.
My absolute favourite is Brian Kernighan's and Rob Pike's The Practice of Programming.
Software Architecture and Design — All the "must-read" classics such as
GangOfFour's DesignPatterns, UmlDistilled and UmlDesignPatterns.
Project Management — My favourites are TheMythicalManMonth and
AntiPatterns, but I've also read
ExecutionPlainAndSimple and a few others.
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
Database — Relational algebra, principles of schema normalization, SQL.