The First Step
This Blog Is to Document Interesting Aspects of IT That I Learn and Want to Share with the Community
I am writing about my journey through the programming world from a position of someone who waited a long while to start doing it. You can start at any age. As long as you keep training like you mean it you will get better really fast. I hope I can motivate you to carry on and become a programmer as well.
Every skill must be practised.
Every act rehearsed.
A blade is only a blade when it cuts.
in “Broken Angels”
by Richard Morgan
My advice to anyone beginning their programming studies is to keep coding every day. Even if it is just 30 minutes you will quickly notice that because of the repetition you remember more and more. I have gone through “How to Think Like a Computer Scientist” book from first to last page doing all the exercises and I recommend that approach to anyone.
When working on the examples do not copy/paste code – always type it in. I know we are in 21st century but you would be surprised how much you can learn by engaging yourself in manually entering all the code.
What majority of the books are missing a bit is to teach you to synthesise your skills early on. They don’t force you to build something bigger – a fully working application. It is hard at beginner level but not impossible.
Thats why I am going to concentrate more on a beginner-intermediate stuff but some basics will get covered. As always though you will learn more if you use more sources of information and cross-check them all.
Books That I Used When Learning the Absolute Beginner Stuff
- How to Think Like a Computer Scientist: Learning with Python 3 by Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers
- Learn Python The Hard Way by Zed Shaw
Why Python 3 as the First Programming Language Then?
- It is super beginner friendly.
- It does not impose any particular coding style on you.
- It is dynamically typed and interpreted making it very easy to test things on the go without any compiling madness.
- It is very popular and gaining ground.
- It can be used for desktop and web applications and if you are crazy even for mobile (you better not :)).
- It has gazillion of frameworks and libraries for any task one can imagine.
- It is cross platform – works for Windows / Linux / Mac so your program should (there will be some hiccups) work on those platforms without much adaptation.
Convinced now? I hope so. It took me 3 weeks to learn enough to create a silly “Hangman” game for my daughter. Python is really easy and anyone can master it.
I believe in learning through action but without the idiocy of foo() & bar() / baz() kind of explanations that proliferate the internet. They make you feel like you are wasting your time trying to understand the examples that have absolutely no relation to anything remotely tangible in real life situations.
Therefore I will put a lot of effort to explain things in the most simple and direct way possible.
Ok, enough foreplay and let’s set the computer up for some coding! Go on and read the next post Setup Day.