I have not written a blog post in a long time but that does not mean I have not been working on my computer science skills. Actually I have significantly advanced my programming skills. I just have not taken the time to blog about it. While I used to focus exclusively on web development and databases, I have now ventured into pure computer science with a heavier focus on math. For example, I have studied Boolean Algebra, Graph Theory, Linear Algebra (matrix math), Combinatorics with Permutations, and Statistics. Much of that was inspired by my interest in machine learning and artificial intelligence which requires you to be familiar with a lot of advanced math.
Currently I am reading three books to further my programming skills. The Nature of Code by Daniel Shiffman is a great book about how to simulate aspects of nature through code. It covers such topics as vectors, forces, oscillation, particle systems, physics libraries, autonomous agents, cellular automata, fractals, genetic algorithms, and neural networks. This book is a virtual master class in computer science! What I like about this book is that everything is implemented in Processing with a visual representation. I have invested heavily in learning Processing because I am interested in expressing my creative side through creative coding. Many of my art experiments can be found at Open Processing. Currently I am excited by isometric grids so I will be exploring ways to create art that resembles retro video game designs, although I don’t intend to create full games.
Another book I am reading is Statistical Inference via Data Science: A ModernDive into R and the Tidyverse by Chester Ismay and Albert Y. Kim. I found this book online and I have been reading the online version at ModernDive for free, adding all of its material to my notes. This is a book on statistics and data science for the R programming language and R Studio. I am studying statistics because it is a huge component of machine learning and artificial intelligence. But statistics in general is a useful skill for a programmer to learn. It gets me more into data science. This book has a lot of math formulas. I have learned how to add math formulas to my notes using the MathJax JavaScript library which can handle the various types of notation. In addition to this book, I also read Bayesian Statistics The Fun Way by Will Kurt which also gave examples for R Studio.
The final book I am reading is Mathematics for the Digital Age and Programming in Python by Maria Litvin and Gary Litvin. This is more of a high school text book on math which uses Python to implement math theory. It is a little heavy on the math theory and the math is not very advanced. I am just extracting what useful knowledge I can from this book. I would recommend Doing Math with Python by Amit Saha over this book. I am now quite an expert on Python with extensive notes on this programming language. Python is the most popular programming language for machine learning and artificial intelligence so I have studied it extensively.