Step-0: Select any programming language
No more than a day can be wasted on which language to learn. And once the decision is made, no one else's opinion can be taken in the next six months. To give this related knowledge, one would actually press the two ears with both hands and cut out the tongue.
Step-1: Just YouTube
Step-2: Don't Learn Just Watch
I assume you are a super genius, not a super talented person. So when you start programming, you will not become a huge thing in a day or a week. Or there is no reason to expect to be able to understand everything you see. Rather, the first four days of learning programming will be your target. I will not learn anything. I do not understand anything.
Just watch the video for a minimum of 4 hours every day. No programming language or anything needs to be installed on the computer. Just watch the video. Watch the video whether you understand it or not. Even if it looks bad, you will see. If you like it, you will see. When you fall asleep, you will stand and watch. If you can't sleep, you will see the wall leaning. Just look. That means your job is just to watch the video. It will work only if you can see it. No need to understand.
The reason for asking to watch Just Video for four days in a row is- in the maximum case, we spend 10-12 hours a day learning something and there is no news the next day. Being a programmer doesn't have to be this way.
Step-3: Write a little before practicing
When it comes to learning programming, especially tutorials, we spend most of our time installing software. In 30-40% of cases, the software is not installed. We tried three or four times and gave up. So, for the next three days, it will be your job not to install anything. Or you don't even have to practice anything.
Just open a notebook next to it to watch the videos. And the things you see in one of the previous videos may have been said differently by another in another video. That is what you will hear from the two of you and write it down like yourself. Writing it down on paper without running the first code will help you a lot to understand or feel the things inside. Which you can't fill by typing two line codes and pressing the run button.
Practice this thing for a week.
Step-4: Don't make a plan, make an outline
I will learn this today and finish it. I will fry it tomorrow. There is no need to make such a plan to turn the world upside down the day after tomorrow. Rather make an outline that I need to learn this thing. Today, whether it is one end of the day or five ends, I am giving four hours. Must give four hours time. If there is such a solid commitment. Even if you are stuck with one thing for two days, you will not be disappointed.
Step-5: Build your own road by patching other people's roads
You will find many suggestions on different videos, different tutorials. You will even get many suggestions on the way. There will be more suggestions like this answer in ‘Kora'. But nothing will work for you. You can take two to four hints from different suggestions. But as you work, a road will be built for you. That's exactly what you do. So, there is nothing to be disappointed if you do not follow someone else's guidelines.
One week later you need to install an IDE to code the programming language you are learning. If it is not installed repl.it Practices writing code on a website like it.
Now let's learn what to do.
Step-6: Basic concept of programming
No matter what programming language you learn. You must learn some basic things. The first five of them are the most common. What I call – the five gems of programming. These are– variable (variable types), conditionals (if-else), array (list), loop (for loop, while loop) and function.
Along with learning these five things, you have to solve some problems with these. So that you can understand how you can apply these five gems of programming. These include Swap two variables, Convert Celsius to Fahrenheit, Sum of all digits in a number, Check a prime number, Generate a random number, Remove duplicate from a list, Reverse a string (Check palindrome), Calculate GCD, Merge two sorted Array, Number guessing game, Calculate the age, etc.
Learning to solve this problem well means you have brick cement sand. If you don't know how to build a house, road, or bathroom with these. Then you will not understand the implementation of these. Can't make the right decision when and where to use a thing.
Step-7: Data Structure, Algorithm, and OOP
When it comes to software or programming, you have to play with data. That's why you need to know a few basic data structures. You need to know about Stack, Queue, Dictionary, Tuples, Tree, Linked List. You must also have an idea about trees and graphs. In addition to the data structure, you need to know about the algorithm. Especially Linear Search, Binary search. Also need to know about sorting. Which will include Bubble sort, Selection Sort, etc. Besides, you have to learn about the Recursive function (factorial, Fibonacci series), Time Complexity (Linear, Quadratic, and Constant).
You also need to know about the object and object-oriented programming. Object what thing. How to declare a class. How to write property, method, constructor inside the class. Also need to take ideas about object-oriented programming.
These things are someone's two months. It may take four months for someone. Some may take up to a year. But it doesn't matter who is learning for how long. The issue is who is learning.
Step-8: Life without love/friends is useless
Learning programming is a long journey. As this journey goes on you will often get stuck in a lot of things. You may not even understand how things work. Or will become bored a lot of the time. In these cases, you have to decide how to get out of the situation if you get stuck somewhere. Maybe you can take the help of StackOverflow. Or go to GitHub issues and ask questions. There are many Facebook groups these days that help. You can go there and ask for help.
You may even have some friends. You will learn by sharing with them. This thing is very important.
You need to know about GitHub to learn to program. Need to know about the database. What is the SQL query with this thing? How to make a table. How to select data from the table Update or delete.
There are also some functions of SQL such as Avg, Max, Count they need to know. Learn about Inner Join, Outer Join, etc. Then you need to know how to use MySQL with the programming language you are learning. Maybe SQLite or Pandas or something else. But at least one thing to know.
Also what API thing. What is a microservice? Need to know about JSON, Rest API.
Two great weapons for learning programming. Either learn by competitive programming. Or you will learn by making projects. Most People are afraid of problem-solving or competing programming. So their job will be to make at least 3 professional projects. A complete project. Maybe an e-commerce website. Maybe an authentication project. Maybe data science or machine learning project.
But whatever the type of project. This project has to be done manually. You don't have to watch the video anywhere. 100% automatically with the help of Google, StackOverflow, or GitHub issues, the rest has to be done manually. And after the completion of the project, the project code should be left in GitHub and deployed in project Heroku or AWS or digital ocean.
Being the last step in learning anything. Getting a job or an internship by showing that. Or make money by freelancing online with it. Making money is very important. Someone is paying you for your work. This means that he is making you work with money because you can do a little bit. However, you can also do an unpaid internship to learn before getting a paid job.
There is nothing to be afraid of seeing such a long list. Not too much work. DAILY DAILY 4 hours a day Dili most of the things will become fluffy to you. And you're not the first person in the world to learn these things. Millions of programmers around the world are learning these things. There are thousands of them. So, if they can, why can't you?