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).*