CS: ZERO TO HERO PT. 5
Early on the path to becoming a Software developer nearly everyone asks the same question “which programming language should I learn first?”. If you follow that link you will find literally thousands of pages of heated debate.
The truth is that unless you try to learn how to program with an obscure language like “Whitespace” or “Befunge” you’ll be fine.
What your first language is supposed to teach you is how to think like a programmer.
Enter c++ (ES)
I will lead you to resources that will help you master beginning programming concepts using c++, but you should feel free to choose any language that you’d like. As long as you hit my checklist of topics you’ll be fine.
A boring textbook:
“C++ How to Program” is a very very thorough book that explains core CS concepts as well as C++ with tremendous depth, mastery, and tedium. I do recommend having this book around as a reference but please don’t try to read it cover to cover.
cplusplus.com provides an excellent introduction to object oriented programming with c++. You can blast through this tutorial in a number of days and start applying for jobs in the valley. JK. But barely.
Seriously if you work through this tutorial making sure that you can run all the code on your own computer and understand every line then you really are equipped to start working on projects and getting some real world experience.
At this point in your training I would go through the following modules:
- Basics of C++
- Program structure
- Compound data types
That’s all for now. Join me next time as we get deeper into c++, OOP (object oriented programming), and other CS second semester of junior year courses.
How to use this guide
This guide is divided into posts. Each post represents 1 college semester or, as in this case, 1 very important topic. There will be a description of each topic you should master before moving on to the next “semester” or topic. Each topic will be labelled as
- AC — Academic. Only necessary if you want a college education equivalent. 95% of programming jobs will not require this skill set.
- BC — Boot-camp. This topic is a must if you want to work in software development.
- ES — Essential. The bare minimum required so that that you can participate in tech meetings and seem knowledgeable.