A mind needs books as a sword needs a whetstone, if it is to keep its edge. – A Game Of Thrones (George R. R. Martin)
I want to spend a little bit of time covering what I’ve been learning about in the past several months.
C#
One of my current goals is to become a C# “expert”. A Programmer’s Guide to C# 5.0 is the first step in a long series of steps aimed at making this a reality.
I had to think long and hard to decide between C++ (which was my main area of expertise as a student) and C#. In the end, I opted for C# since it’s more aligned with several of my projects (e.g. Unity).
I’ve studied (I’ll cover how in a later post) about 70% of the material in this book and I’m eager to learn more!
Core Computer Science
But why become a C# expert if my fundamentals do not keep up? Another of my goals is to take my CS fundamentals and make them world-level. That is a humongous goal in and of itself, so The Algorithm Design Manual is only my first step.
I’m about 40% done with this one.
Math
“Why didn’t I go with a more traditional book like Introduction to Algorithms for my fundamentals goal?” you might be wondering about.Well, I discovered that my mathematical foundations were weak. The last time a did SERIOUS math was when I took calculus back in my home country university (circa 2006…).
Weak mathematical foundations were unacceptable. After all…what is computer science if not applied math?. I decided to re-start from the beginning of the road (Arithmetic) with Khan Academy and re-build my knowledge without any holes. More importantly, this time I won’t let my math rust away.
I started with Arithmetics. I’m currently on Algebra one, and I’m planning on going to calculus and beyond…so I would say I’m barely scratching 10% on this one (probably less).
While the previous 3 goals were my main current learning goals, I have two minor learning goals as well:
Javascript
I’ve been using code fellows since last year to quickly gain familiarity with some interesting technologies (e.g. Jquery, Bootstrap, CSS, .NET MVC, Regular Expressions, etc), but my main focus has been Javascript. I’ve completed 3 of the 5 main Javascript courses, and I’m currently in the middle of the last two: ES2015 and Javascript best Practices.
I love how code school’s “hands-on” approach helps me quickly gain familiarity with new technologies. I don’t expect the website to make me an expert in anything, but it’s a solid first step.
Python
As they say “hindsight is 20/20”. It might have been a good idea to code my main side-project with the technologies I’m currently planning on becoming an expert on.
Unfortunately, I started working my indie-rpg-db (my main side project at the moment) before I decided to become an expert in C#, and I already had about a year worth of development with Python + Django for indie-rpg-db.
I’ve been studying Python + Django on the side as much as I can using code school, a few scattered books, and Learn Python in Y minutes.
That’s it for today. I’ll be back in a few months with a learning update, and in another series of posts, I’ll get more in-depth about the reasons behind selecting these particular topics and my exact study strategies