Saturday, 9 May 2015

1.0 - Introduction and Goals

I've always thought that coding/programming was fun and cool. But when I looked at code, I would get intimidated with how the wall of code looked and immediately gave up. How can I possibly understand something so foreign and alien?

However, I like to learn new things, and I've always considered myself a highly logical and systematic thinker. This sounds like a winning combination to start learning programming!

I decided to try to learn C/C++, since it seems like the most useful and powerful programming language to know. Who knows, maybe I can build some program or design an app next time? Haha. The first thing to do was to locate a resource to learn from. After some Googling, the best seemed to be http://www.learncpp.com/.

LearnCPP is structured in 18 chapters, and supposedly is very beginner friendly. This introductory paragraph on the LearnCPP website probably best describes it:

Welcome to the Learn C++ tutorials! Above all else, these tutorials aim to make learning C++ easy.
Unlike many other sites and books, these tutorials don’t assume you have any prior programming experience. We’ll teach you everything you need to know as you progress, with lots of examples along the way. So whether you’re interested in learning C++ as a hobby, or looking for additional material to reinforce your understanding of material from a college-level course, you’re in the right place!

Part of achieving anything is to set SMART goals - The goal has to be Specific, Measurable, Achievable, Realistic, and Time-bound. Saying 'I want to learn C++' is super vague and fails all of the SMART criteria. I initially wrote this section as short-mid-long term goals, but I after reading up some experiences of those who tried to learn the language, I realised this process is one that takes many, many years. Thus, perhaps I should list down my goals, and then add on the time-bound for some of them later on.

Goals of learning C++/C
- To be able to write a more complex program that can do something cool/useful
- To be able to write a simple program that can do something cool/useful
- To complete the LearnCPP tutorials. There are 18 chapters, but I've no idea how long I will take for each chapter. For some of the easier ones, such as the intro chapter, I can probably digest within a week. But I've a feeling some of the complex ones may take a month, or more. I shall challenge myself to complete all 18 in a year (by May 2016)
- Write a blog post every fortnight on my progress and what I've learnt. These posts will help me to consolidate my knowledge as it forces me to articulate what I know in a concise, understandable manner.

That's all I can think of right now. I'm sure I will add more goals along the way. Will include a sub-goal sidebar to indicate my progress.