Education

Here is a biased review on a selection of more than 30 textbooks and tutorials I have gone through. In the order of most recent first.

Regardless of my rating I am aware of the great effort the authors have put into their work for which I am endlessly thankful. Every previous book that a student has read makes the success of the next book more certain.

Pandas Cookbook: Practical recipes for scientific computing, time series, and exploratory data analysis using Python, 3rd Ed. book cover
Pandas Cookbook: Practical recipes for scientific computing, time series, and exploratory data analysis using Python, 3rd Ed.

Author: William Ayd, Matthew Harrison

65%

Theory volume

65%

Theory presentation

0%

Practical exercises

Overall: good

An introduction and reference guide to data frames.

A comprehensive guide to introduce yourself to working with data in python. It contains a lot more material than is necessary for a first dive into data manipulation. “Hello World” from Jupyter Lab.

Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software, 2nd Ed. book cover
Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software, 2nd Ed.

Author: Eric Freeman, Elisabeth Robson

40%

Theory volume

45%

Theory presentation

15%

Practical exercises

Overall: OK

Head first, don't bring the legs.

I was looking for any guidance on planning a project and a database schema. I am amazed that non of the textbooks or tutorials mentioned so far teaches to plan a software. We just roll our sleeves and do. However when faced with a task of starting a more substantial project, like a Django app, the lack of guidance is surprising. Not less important is planning the database structure, creating the entities diagram and converting it to tables or ORM models. However neither an SQL textbook, nor Django textbooks cover that.

While Head First Design Patterns do not teach the above mentioned topics, the course rather introduces to the patterns that will help you build a project with a better maintainability in mind.

Django in Action book cover
Django in Action

Author: Christopher Trudeau

65%

Theory volume

80%

Theory presentation

65%

Practical exercises

Overall: very good

Strikes a good balance between theory and practicality. Thus not to overwhelm the reader and equip with the ability to build concrete projects.

Cons: The book does a lot of corner cutting. More complicated patterns like a commenting system get dropped after barely starting. Instructions on getting the project ready for production are virtually non existent. There is some general advice in the appendix. But knowing the topic by now from other sources this section is poorly covered. The topic of user management seemed messy. The way to integrate bootstrap is hardly acceptable, via a CDN. No email backend setup.

Pros: Manning Books are beautiful. And as to matching with that scholar friendly design, the author is doing a very good job to teach some necessary milestones of a Django project. The chapters on templates, forms, forms with Bootstrap, extending Admin, working with REPL in Django are excellent. The testing part is comprehensive and not merely decorative. The well presented topics that go beyond the basics are htmx and media files management.

Build Websites with Hugo: Fast Web Development with Markdown book cover
Build Websites with Hugo: Fast Web Development with Markdown

Author: Brian Hogan

65%

Theory volume

100%

Theory presentation

85%

Practical exercises

Overall: excellent

Gives you the idea and the tools, all you have to do is build.

A disclaimer: before reading the book I have gone through the official Hugo documentation and two external tutorials and built and deployed a Hugo website using a theme. Also had some prior knowledge of HTLM, CSS, JavaScript.

So I don’t know how it would have gone without it. But at that point the book could not have been a more natural next step. The book is as practical as it can get.

C++ Primer (5th Edition) book cover
C++ Primer (5th Edition)

Author: Stanley Lippman, Josée Lajoie, Barbara Moo

80%

Theory volume

70%

Theory presentation

15%

Practical exercises

Overall: good

Enough to get you solving Leetcode in C++ (if you know a solution in another language).

Why C++. First of all, I have stumbled upon a tutorial on algorithms and leetcode problems that was teaching in C++. I wanted to understand that tutorial series.

Secondly, I heard people saying “learn C or C++ even if you will never use it afterwards because it will increase your understanding of how lower level programming works”.

The book gives you the fundamentals to understand the material for solving algorithmic problems, and the knowledge of the syntax to sort of translate your understanding acquired elsewhere to solve leetcode in C++ on your own. You would have to practice outside of the book too, say on leetcode.

Comments

Do you have a different or the same opinion about a book? Or even better: you can recommend a learning material not listed here. Do not hesitate to share.

comments powered by Disqus