Skip to content

Commit 2b1f145

Browse files
author
codebasics
committed
coding roadmap
1 parent 529517a commit 2b1f145

File tree

3 files changed

+142
-0
lines changed

3 files changed

+142
-0
lines changed
25.5 KB
Loading
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
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+
![11 Step Process To Learn Programming](11_steps_learn_programming.png)
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+
![Effective Learning](nishant_effective_learning.png)
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
157 KB
Loading

0 commit comments

Comments
 (0)