|
| 1 | +# Step by step guide on how you can learn programming |
| 2 | + |
| 3 | +Below is the 11 step process of how you can start with zero knowledge and no computer science background and master coding skills **for FREE** by following online resources and self study |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | +### Step 1. Understand principals of effective learning |
| 9 | + |
| 10 | +Please watch this video to understand how you can learn effectively so that you can get maximum output by investing minimum amount of time. |
| 11 | + |
| 12 | +https://www.youtube.com/watch?v=ZVO8Wt_PCgE |
| 13 | + |
| 14 | +Quick summary of this video is in the image below, |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | +Here nishant talks about spending less time in input (which is watching coding tutorials, reading programming books etc) and spending more time in reflecting, practicing coding problems and sharing with your friends. |
| 19 | + |
| 20 | +### Step 2. What is Code? |
| 21 | + |
| 22 | +At this step you want to understand what exactly is code. It is a language that you use to communicate with the computer (hence it is called programming ***language***). This video goes elaborates what exactly is code. |
| 23 | + |
| 24 | +https://www.youtube.com/watch?v=hYws-CDXA7k |
| 25 | + |
| 26 | +### Step 3. Computer Science Principals |
| 27 | + |
| 28 | +Program or code runs on a computer and uses CPU,RAM, input/output devices. This khan academy course goes over all these basic principals of computer science. Data is stored as bits (1s and 0s) in RAM and disk. The course will also go over fundamentals of binary numbers. |
| 29 | + |
| 30 | +https://www.khanacademy.org/computing/ap-computer-science-principles/computers-101 |
| 31 | + |
| 32 | +### Step 4. Choose Career Track |
| 33 | + |
| 34 | +Being programmer is like being a doctor where there are many different specializations. Doctor can be a heart specialist, a lung doctor |
| 35 | +or a general physician. Similarly you can become a web programmer, mobile app developer or backend developer. Here I have outlined |
| 36 | +few popular career tracks along with programming languages required for that particular career track, |
| 37 | + |
| 38 | +1. Web Development |
| 39 | + 1. HTML/CSS/Javascript - Holy trinity of web programming |
| 40 | + 1. Frameworks: node js, react js, vue js etc |
| 41 | +1. Mobile App Development |
| 42 | + 1. HTML/CSS/Javascript |
| 43 | + 1. Native Apps |
| 44 | + 1. IOS: Swift programming language |
| 45 | + 1. Android: JAVA |
| 46 | + 1. Hybrid Apps |
| 47 | + 1. React Native |
| 48 | + 1. Flutter |
| 49 | +1. Data Science, Machine Learning, Backend Development |
| 50 | + 1. Python |
| 51 | + 1. JAVA |
| 52 | + |
| 53 | + |
| 54 | +### Step 5. Level 1 Coding Tutorials |
| 55 | + |
| 56 | +At this stage you are ready to write your first program and explore coding tutorials. The idea is to get basic understanding |
| 57 | +of programming such as variables, data types, file operation, writing static web pages etc. Below is information on courses |
| 58 | +based on career track, |
| 59 | + |
| 60 | +##### 5.1. Web and mobile app development |
| 61 | + |
| 62 | +Here are the links of html/css courses. For codecademy you can create free account and get access of 180 hr |
| 63 | +of content per month. All courses listed below are free. |
| 64 | + |
| 65 | +https://www.khanacademy.org/computing/computer-programming/html-css |
| 66 | +https://www.codecademy.com/learn/learn-html |
| 67 | +https://www.codecademy.com/learn/learn-css |
| 68 | + |
| 69 | +##### 5.2. Data Science, machine learning, backend development |
| 70 | + |
| 71 | +For python, I've build a tutorial playlist for absolute beginners. Watch **first 14** |
| 72 | +tutorails from this playlist. Remaining you can watch at step # 9 |
| 73 | + |
| 74 | +Python playlist: https://www.youtube.com/playlist?list=PLeo1K3hjS3uv5U-Lmlnucd7gqF-3ehIh0 |
| 75 | + |
| 76 | +Also I've similar playlist in Hindi as well (just in case you are more comfortable with hindi language) |
| 77 | + |
| 78 | +Python hindi tutorials: https://www.youtube.com/playlist?list=PLPbgcxheSpE1DJKfdko58_AIZRIT0TjpO |
| 79 | + |
| 80 | +I've many interesting exercises and their solutions at this place: https://github.com/codebasics/py/tree/master/Basics/Hindi |
| 81 | +(The folder name is hindi but exercise is for both hindi and english tutorials) |
| 82 | + |
| 83 | +### Step 6. Debugging skills |
| 84 | + |
| 85 | +All right, at this stage now you have practiced some basic programming. It is time now to develop debuggin skills. |
| 86 | +You can not become a good programmer without sound debugging skills, period. Especially in the early stage |
| 87 | +you will run a program and it won't give expected output and you will be wondering what's going on. |
| 88 | +At this point, debugging skills will save you. You can step through the code and find out the exact problem |
| 89 | +with your program. I've 3 part tutorial series on debugging skills using pycharm code editor but these |
| 90 | +concepts are applicable in any code editor (or IDE: Integrated Development Environment). |
| 91 | + |
| 92 | +Debugging tips playlist: https://www.youtube.com/playlist?list=PLeo1K3hjS3uu-0i4uha0_lZwh5PpIWB1T |
| 93 | + |
| 94 | +Debugging in chrome: https://www.youtube.com/watch?v=H0XScE08hy8 |
| 95 | + |
| 96 | +### Step 7. Data Structures |
| 97 | + |
| 98 | +There is not a single programming interview where they don't ask about data structures. Data structures are |
| 99 | +fundamental building blocks of any program (doesn't matter which programming language). Follow this playlist |
| 100 | +to get your data structure concepts clear. |
| 101 | + |
| 102 | +Data structures playlist: https://www.youtube.com/playlist?list=PLeo1K3hjS3uu_n_a__MI_KktGTLYopZ12 |
| 103 | + |
| 104 | +### Step 8. SQL Basics |
| 105 | + |
| 106 | +Doesn't matter which career track you choose, you need to have good understanding of relational databases |
| 107 | +and SQL (structured query language). Here are some course links for SQL. |
| 108 | + |
| 109 | +SQL basics on khan academy: https://www.khanacademy.org/computing/computer-programming/sql |
| 110 | +Kudavenkat SQL playlist (watch first 12 videos): https://www.youtube.com/playlist?list=PL08903FB7ACA1C2FB |
| 111 | + |
| 112 | +For kudavenkat playlist above, if you are interested in going little more deeper into SQL then you can |
| 113 | +watch tutorials beyond # 12. |
| 114 | + |
| 115 | +### Step 9. Level 2 Coding Tutorials |
| 116 | + |
| 117 | +At this stage, now you know some basic coding, data structures, SQL etc. You can now go through intermediate |
| 118 | +coding tutorials. Here are some online resources for the same, |
| 119 | + |
| 120 | +##### 9.1 Python |
| 121 | + |
| 122 | +Codebasics python tutorials (tutorial # 15 and onwards): https://www.youtube.com/playlist?list=PLeo1K3hjS3uv5U-Lmlnucd7gqF-3ehIh0 |
| 123 | + |
| 124 | +##### 9.2 Web and mobile app development |
| 125 | + |
| 126 | +Interactive weg pages: https://www.khanacademy.org/computing/computer-programming/html-css-js |
| 127 | +JQuery: https://www.khanacademy.org/computing/computer-programming/html-js-jquery |
| 128 | + |
| 129 | +### Step 10. Algorithms |
| 130 | + |
| 131 | +Algorithms are applicable to any programming language. Understanding algorithms will help you evaluate |
| 132 | +inner working of your program, performance measurement using Big O complexity etc. |
| 133 | + |
| 134 | +https://www.khanacademy.org/computing/computer-science/algorithms |
| 135 | + |
| 136 | + |
| 137 | +### Step 11. Projects, Projects, Projects |
| 138 | + |
| 139 | +Throughout your journey of step 1 to 11, you need to adhere to a principal of **project based learning** |
| 140 | +Which means have a project and then learn each of the skills required to finish that project step by step. |
| 141 | +Once you finished one project move onto another. As you work on more projects you will learn new skills |
| 142 | +and become better and better at programming |
0 commit comments