Becoming a programmer

in #programming8 years ago

With the ongoing digitalization of life many say that is becoming more imperative to be able to do at least some computer programming. But if you want to learn how to program, where do you begin?


There are a lot of resources on the internet about programming. So much resources actually that it can become difficult to see where to start. If you just want to test the waters you could start by looking at the available lessons on codeacademy. Now if you want to become someone that does webdevelopment you should take the html/css courses and probable javascript and jquery. If this fits your needs the next step should probably be the freecodecamp, which has a complete step-by-step course on becoming a full-stack webdeveloper. The great thing about freecodecamp, besides you learning to become a developer, is that you will help to code for a non-profit of your choosing in the process. This will also help build your resume.


I am not a webdeveloper and the rest of this post will focus on plain-old programming. One of the first questions is often 'what programming language should I learn (first)?'. There is (and 'always' has been) a heated discussion about this (about 6 million hits on google for that question). If you are serious about becoming a programmer you will want to learn multiple languages, or better yet, multiple programming paradigms. But you have to start somewhere and I suggest beginning with the python programming language. It has a course on codecademy which will help you get started. After you get your feet wet with the codeacademy course I suggest you take the plunge and jump straight into 'How to Think Like a Computer Scientist - Learning with Python'. This book will not only give you more experience on writing code in python but will also help you think like a computer scientist (as the name implies). This will greatly help you in your journey of becoming a qualified programmer. The book works nicely in combination with the edx course 'Introduction to Computer Science and Programming Using Python'. If you master this mindset, learning other languages will mostly be a matter of learning the syntax and semantics, for now at least.


After finishing this part you want to get more experience in actually writing code in python and perhaps learn more about object-oriented design. I suggest you read the 285 page book 'Building Skills in Object-Oriented Design'.


If you have followed these steps you will have become reasonaly capable programmer. But as it is said: 'to become a good programmer, program everyday for a year. To become an excellent programmer, take an algorithms class'. So the logical next step would be to do this; take an algorithms class.

Coursera offers some great algorithms classes. For example 'Algorithms: Design and Analysis, Part 1'  and 'Algorithms: Design and Analysis, Part 2'.

You might also want to look at the book 'Algorithms' by S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani. This book is available online. The website http://rosalind.info/ has a so called 'online judge' so you can test the algorithms you devise and see if they are actually correct.


One last thing that I think will help you in your journey is learning different programming paradigms. All of the above has mostly been about python and its incarnation of object-oriented programming. But there are other paradigms such as functional programming, and learning about them will help you become an even better programmer. Once again there is a great course on coursera about this: 'Programming Languages'.

The book 'Structure and Interpretation of Computer Programs' is a great resource as well.


I hope you enjoyed this compilation of some of the available resources and wish you all the best in your efforts in becoming a programmer.


Happy Coding,


-Kaj

Coin Marketplace

STEEM 0.21
TRX 0.13
JST 0.030
BTC 67164.91
ETH 3518.77
USDT 1.00
SBD 2.71