Learning to code is very easy.
But before learning to code, you must learn to learn.
Coding requires enough cognitive load. This requires a certain level of logic and an ability to think about any kind of eventuality but also to be able to make quick diagrams in the head. What will help you in this adventure are the algorithms.
Forget the coding. I will come back to it.
What you will know now will allow you to code more easily and quickly what some people take days to achieve.
Well, let's continue.
Algorithms, what is it?
In a simple way, it is a sequence of instructions, generally to solve a class of problems or to perform a calculation. And you use it every day!
A cooking recipe for example.
- inputs (ingredients, equipment used).
- simple elementary instructions (frying, flaming, browning, braising, blanching, etc.), whose executions in a precise order lead to the desired result.
- a result: the prepared dish.
Like the cooking recipe, the ways to achieve the same result can be many. This may require more time, or more resources or a slight modification of the result.
It's the same way the computer is waiting for your instructions. However, writing an algorithm is not yet coding. This is a task that is often done with paper and pencil after a little time of analysis and reflection.
If you have a good base in algorithm writing, you must now choose your programming language. You will simply translate the algorithm you wrote on your paper so that the computer can run it.
To make video games? Realize websites or mobile applications? Can you create a mini-robot?
Why these questions? They will guide you to the choice of your first language.
Motivation or discipline?
It's very easy to be motivated to learn how to code, as it's also very easy to lose that motivation. You know what, motivation is good: but discipline is better. Discipline is the new motivation.
Take a paper and write down your motivations and why you want to learn how to code. Then put your action plan on it; ie how do you plan to get there and stick to this plan. If it does not work, change it.
20 min daily
Being consistent is very important in learning especially if you are learning to code.
Give time, often 4 hours a day to let 1 or 2 days before returning to the course is very confusing. You will never evolve and you will be very quickly discouraged.
I know what I'm talking about, I made the same mistake.
Give yourself a 20min time at least and that's enough. 20 min at the same time if possible. Thus, you train your brain to prepare for these learning hours and you memorize easily.
Practice, Practice ... Have fun
The best way to practice? Enjoy. You have just learned to ask for the username, do calculations and conditions? Make a simple guessing game.
Did you just learn how to put colors on a web page? Create your portfolio site.
In short, have fun while practicing. The more you practice, the better you will become.
Paper, pencil ... your best friends
No, no and no. The best coders as in Hollywood movies are not those who sit in front of their pc with coffee and start typing like machines on ... the machine. (Good coffee, it's not that bad.)
Before coding, you must know what you want to do, the problem to be solved. Take the time to think about this, write the steps you will follow for the resolution and finally try your solution now.
Know how to do research is very important. If you are stuck and need help, then the community is here to help. And if you are lucky, you will not have anything to ask since someone would have already had the same problem and would have found a solution.
Have a mentor, make your life easier
Having a mentor is having someone passively help you stay on track to reach your goal.
With a mentor, you always have an expert at your side who can help you stay on track, hold you accountable, and report any weaknesses in your because you can not solve a problem. It happens and these are the things that experience if you overcome them with courage and zen.
Just take a break, go for a walk to get some fresh air or even sleep and wake up later: the solution can come to you alone.