Formal studies ¶
Reading List ¶
My favorite books of CS and engineering:
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 Advanced Programming In The Unix Environment by Richard Stevens.
I also recommend The Art of Unix Programming.
Networking — My favorite is the immortal TCP/IP Illustrated trilogy.
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.