learning programming is like learning any other skills such as learning how to
cook or learning how to swim you don't need to have computer science background
or a computer science degree if you want to start learning programming let's say
you are from Bachelor of Commerce or Bachelor of Arts on biomedical
background and you want to start learning how to code the major challenge
that people face most of the time is there are so many online resources so
many programming tutorials and it's easy to get confused in this video I'm going
to show you a step-by-step approach on how you can approach programming so that
you can spend minimum amount of time and get the maximum output out of it also I
will go over many online free resources in this video which you can use to learn
yourself programming this is something you can do on your own by watching those
tutorials and following those online courses and practicing the problems on
your own step number one is to understand the principles of effective
learning I'm going to show you a video by Nisha and Cassie Butler who talks
about how we can learn anything very effectively I have this video link in
the video description below but if you don't want to watch that video I will
just quickly summarize what he means to say here is the slide that I had taken
from his presentation what he says is basically when you learn something there
are two aspects one is input and the other one is output in the input you are
watching programming tutorials you are reading coding books and all of that and
in the output part you are practicing how to code you are also reflecting on
whatever you have learned and then you also want to share with others whatever
you have learnt because they say the best way of learning something is to
start teaching the issue is majority of the time people spend a lot of time in
input which is watching so many coding tutorials online but they don't spend
much time in practicing those coding problems and exercises
and even reflecting on whatever they have learnt so we need to fix this
balance we need to spend more time in output than input which is you watch a
programming tutorial then you spend more time on reflecting whatever you have
learnt and then practice coding problems practice is the most important thing and
also then share with your friends and try to help your friends in the problem
that they are facing once you have understood the principles of effective
learning step number two is to understand what is code for that also I
have a nice video so please go watch it again video description has all the
lengths that I am going to talk about during this video code is basically a
language that you use to communicate with a computer when you want to
communicate with any human being you use a human language such as English in the
or all do similarly to work with a computer we use programming language
such as Python Java JavaScript etc anyways in that video I have more
information so now let's say you have understood what is the code the third
step is to understand computer science principles the program that you learn it
uses CPU RAM input/output device different components on the computer
also the data is stored in a binary formats in bits ones and zeros so it's
important that you understand all this underlying computer science principle
for this we have a nice for this we have a nice Khan Academy course or explaining
you the computer science principles Khan Academy is totally free you don't have
to pay anything so please go and finish that course this course will be
applicable no matter what programming language you are trying to learn step
number four after you have finished going through the computer science
principle is to choose a career track being a programmer is more like being a
doctor where you have different specializations such as lung doctor
heart doctor anesthesiologist similarly in programming you can become
either a web developer mobile developer or back-end developer data science
etcetera so you have to choose a particular track that you are interested
in if you decide to go for a web development career track you have to
learn HTML CSS and JavaScript these are called Holy Trinity of web development
and you have to have a good understanding of these three then you
can learn any JavaScript frameworks such as reactors or UJS or nodejs
these are very popular frameworks which allows you to do web development very
fast if you decide to become a mobile app developer then again you need to
have a good understanding of HTML CSS and JavaScript but for mobile app
development you can now do either a native mobile app development or a
hybrid in the native for iOS there is a Swift programming language that you need
to learn if you decide to go with Android then you need to learn Java for
hybrid you need to learn frameworks such as a reactive native there is a flutter
from Google there are so many frameworks but react native from Facebook is very
popular nowadays if you decide to do back-end programming and numerical
computing data science etc Python is the language to go for the good thing about
Python is it can be used as a full stack development language where if you want
to do less of web development then you can use Django framework which
is written in Python for doing machine learning AI numerical computing there
are so many libraries available in Python you can also learn Java 4 back in
programming if you are doing something like big data computing then there Java
is very popular step number 5 is to start level 1 programming tutorials here
is the stage where you are getting your hands dirty and you are writing your
first program the idea here is at this stage of your programming journey you
want to get basic understanding of writing code such as using variables
data types how to run your core be big file operations etc if you have
chosen a web and mobile app development career track you can follow HTML CSS and
JavaScript tutorials from Khan Academy so the good thing about Khan Academy is
first of all it is free the tutorials are explained in a very simple language
and there are exercises and quizzes there is another great resource called
code Academy on code Academy you can create a free account which allows you
to watch 180 hours of content per month of course you will not get access to
some of the premium features but let's see if you can afford money you can go
for the pro account just a little disclaimer by the way none of the online
courses that I'm mentioning in this video are sponsored this is based on my
own research and my opinion the way code Academy works is there are different
they will be very very interactive they will ask you to write code from the very
first step so watch those online courses on HTML CSS and JavaScript some of them
are free ok and some of them require Pro account so whatever I am linking in the
video description below those are all the free courses so all you need to do
is just create an account and start following those courses if you decide to
pursue data analyst data science scientist type of career track and let's
see if you want to learn Python then I have a nice Python tutorial playlist
which I have designed for let's say you know how high schoolers even a high
school student can understand these tutorials really well in this playlist I
recommend you watch first 14 tutorials only because at this tee you want to
just get basic understanding and after that there will be some steps you'll be
following and then you can watch remaining tutorials Python is a great
language if you are just beginning your coding journey right if you are not sure
which programming language want to learn I would say just go for
Python because python is very very easy to learn
it's like English like it's so easy that even a high school student can learn it
easy for Python tutorials I also have Hindi tutorials so if you're not
comfortable with English and if you want what them in Hindi I have a separate
Hindi channel where you can watch those Hindi tutorials the exercises in Hindi
tutorials are much better actually so even if you are doing English tutorials
I will say do the exercises from my Hindi tutorials and I'm gonna provide my
github link where you can get access of all the exercises and there is a link to
all the solutions as well alright now you have completed level one coding
tutorials you have some understanding of how to write code and run it Excel
etcetera at this stage you should now learn debugging skills debating skills
is extremely important if you want to become a good programmer for this also I
have a complete playlist I have three tutorials where I have explained how you
can debug the code in Python code editor you can use the concepts in this
tutorials for pretty much any code editor beat Visual Studio code or even
eclipse and if any any any IDE idea is basically integrated development
environment or your code editor where you are writing your code now thinking
about code editor visual studio code today as of 2020 is the most popular IDE
so if you are confused on which coded code editor to choose just go for visit
studio code because you can do JavaScript programming Python
programming any type of programming in that are for Python specifically there
is pycharm Community Edition that is freely available to download from jet
trains website so you can use PyCharm as well but that will be more for Python I
have this another great tutorial link for how to do debugging in chrome if you
are doing web programming you be doing debugging in Chrome or any
other browser for that the good thing is browsers have inbuilt
a code debugger which you can use you can set a breakpoint you can execute
your code you can step through step in your court etcetera this tutorial is
from Google so please watch it again let me remind you having good debugging
skills is extremely important especially in your early phase because early phase
what will happen is you will write code and it will give the output that you are
not expecting and you'll be wondering why this is happening at that time you
can debug your course step by step and you can know what's going on inside your
code step number seven is data structures guys data structure is
extremely important there is not a single programming interview that I have
seen in my life where they don't ask about data structures data structures
are basic building blocks of any program doesn't matter which programming
language you are using Java Python whatever it is you will be using data
structure for sure for that also I have another tutorial playlist so go watch
that once you have sound understanding of data structures you can be a really
good programmer and this tutorials have exercises as well so remember the
fundamentals of effective learning which is watching less tutorials and
practicing more okay so even after you watch those native structure tutorials
make sure you practice all the exercises that I have given and I have the
solution of those exercises on my github page as well after that the next step is
to learn estimate if you want to become a good programmer you need to have sound
understanding of SQL okay even for a data scientist or data analyst SQL is a
must for that I have a link of a Khan Academy course on SQL this course again
is very very basic you are just starting on SQL for the first time and it will
walk you through all the basic concepts like relational database
is the primary key for Enki the joints between the tables at so there is a
great playlist on YouTube by CUDA of anchored on SQL and now this playlist
contains lots of videos I would suggest you watch only first twelve videos for
the basics now if you are interested in gaining additional skills in SQL you can
watch it remaining tutorial step number nine is level two programming tutorials
so at this stage you have done some basic programming you know how to do
debugging you have good understanding of data structures SQL assets now you are
ready for level two or intermediate programming tutorial on Python
programming playlist now you can watch the tutorial number 15 onwards on my
channel because that will be little advanced if you are doing web
programming then I have a link of kind academic courses I have two courses here
one is - how to do dynamic web pages and how to do jQuery step number ten is to
learn about algorithm algorithms are again a very important concept other
than data structure and it applies to any programming language that you are
learning for this I have a Khan Academy course link where you know you go over
basic algorithms like binary search and more sort and different types of sword
mechanisms and all of that this way you get good understanding of inner workings
of your program how your program performs the bigger complexity and so on
so any good programmer will have sound understanding of algorithm after you are
done with this step the next step would be to start working on projects now
until now whatever steps you followed or you can do project-based learning or I
call it like a target targeted learning and what I mean by that is whenever
you're learning let's say level one coding tutorials 11 to coding tutorials
you need to have a concrete project in mind that you're working on
let's say you are doing web development in that case you should target to finish
one simple website at list and that is a target now to finish the target you are
learning all this different concepts such as TM LCA since in JavaScript right
after you have followed all the steps now the your goal should be to work on
more and more projects okay so if you are a web developer initially you build
less a static website now you build dynamic website you build an e-commerce
website similarly for Python you wrote simple
program which will do some simple file manipulation now you write programs that
can do less a data visualization for example now if you want to do data
visualization you need to learn matplotlib
or less the Seabourn library and now you can go and watch matplotlib tutorials or
a seaborne tutorials if you are doing numeric computing you will watch numpy
tutorials let's say you pick a project for machine learning in that case you
can watch now machine learning tutorial so see after following this first ten
steps now you're learning train is kind of on the track and it has started
accelerating so now what you're doing is you are working on more and more
projects and to finish particular projects whatever new skills you require
you learn them on demand okay as in when there is a need you now learn new skills
such as numpy Escalon Seabourn and so on and as you practice more and more
projects you will become more and more better at programming so this diagram
highlights the 11 steps approach where you begin as a zero and then become hero
in programming I want to repeat this again that anyone can learn coding you
don't need to have computer science background you don't need to be genius
nowadays all this programming languages Python JavaScript etc they are high
level programming languages and they are very easy to code like here I live in US
and he they teach this programming languages in
the middle school and middle schooler can also do programming really well I
was going to a library to teach programming and there were like eight
year old kid and he was very good in programming okay
so just keep this in mind that you can also do it all you need to do is follow
a discipline approach and follow the approach which gives you maximum ROI
which is your return on investment okay so if you follow this 11 step approach
you will spend minimum time and get the maximum output for your effort and
programming is something that is nowadays required in any field doesn't
matter what a profession is if you are a mechanical engineer electrical engineer
even in HR if you have programming skills then that will separate you out
from the crowd okay and you can get better job you can make a fast progress
in your career also if you want to switch a career
let's say you want to go in data science or programming having these skills will
really help you to make a transition in that field and being a programmer has so
many benefits for example right now we are in coronavirus era where we are in a
lockdown but if you're a programmer most likely you are not going to lose your
job you can work from home all you need is internet connection also programmer
gets paid really high okay so financial reward is also amazing and the future is
also very bright for programmers I have created a github page with all the
information that I discussed in this video along with the links of all the
courses so you can see that there are links of all the courses here and
whatever I described in the video is available in a text form so the link of
this github MD page is available in video description so please check the
video description go to this link and explore all the useful links that I have
given here so that's all I had for this video I hope it clears some confusion in
case you are confused about where to begin and if you have any question
please post in the comment below I try to
answer as many comments as possible so any confusion don't hesitate no question
is a stupid question you can ask the question in the