On Learning Mathematics for Computer Science

In my shouting to the void on this blog I’ve mainly been writing about infra, development, and the intersection of the two. However, for the last year, I’ve been bootstrapping my Mathematical knowledge for reading Concrete Mathematics; learning about topics as I encounter them to fully understand what the book is conveying. I want to understand the mathematical underpinnings of computer science so I can write simple, efficient, and maintainable code. Not only that, but what I’ve found over the last year, is that learning mathematics has cultivated a clearer way of thinking about computing problems.

While working through the Algorithms Part 1 Coursera course there were some minor forays into Maths, e.g. telescoping series. While my mathematical understanding was imperfect I could see the representation of the mathematical function in the code; which was magic. This has motivated me to learn more about the mathematics underpinning of computer science.

On a personal level understanding the underlying CS mathematics will (and is starting to although early days) give me a level of confidence in understanding and designing algorithms that I’d not get reading purely coding books. No doubt it’ll improve my programming interview skills far more than just reading something like Cracking the Coding Interview.

Finally, I’ve been enjoying this mathematical adventure much more than I expected. The more effort I put in (as much as one can with a toddler at home haha) the more I enjoy it. I suspect I’ll be doing mathematics for its own sake and branching out from CS topics.