SlideShare a Scribd company logo
1 of 8
How To Learn Programming for BEGINNERS !
Presented by AMAN KUMAR programmingshark.com
Programming is the most sought-after skill today. “Software Engineer” is the top in-
demand position in the industry. Considering the huge demand for skilled programmers, it
makes sense for job-seekers to learn to programme.
Learning programming seems difficult to many. This is often because of the wrong
approach they apply to learn to code. People aspire to make complex applications, and
they often don’t even know basic programming.
In this article, we’ll see how to learn to programming in a proper manner. This article
would be useful for both, the job-seekers and students.

1. Get familiar with a programming language
Getting comfortable with a programming languages is the first step towards learning programming. People
often start with C, C++, Java, or Python. I personally prefer C++ in the beginning as it is neither too simple
(like Python is), nor too deficient in terms of libraries (like C is). C++ is pretty fast and has a good library
support too – best of both worlds! Also, C++ is a good choice for competitive programming because it is
pretty fast and has the support of Standard Template Library (STL). The choice of the first language is highly
subjective based on your interests and goals. You may be interested in front-end, back-end, mobile app
development, game development, data science, etc.
2. Learn Data Structures and Algorithms
Once you are comfortable with any of the languages mentioned in the above section, the next thing you
should do is learning data structures and algorithms. Data structures and algorithms help in building the
right aptitude required for programming. Knowledge about the data structures will help you in choosing the
right one for the problem you are solving – not all data structures can be used everywhere. When you learn
about the algorithms, you will be able to understand the working mechanism of many library functions,
which, otherwise, would come across to you as black boxes.
3. Get your hands dirty with competitive programming
Once you have learned data structures and algorithms, you should start solving problems on websites like
SPOJ, Codechef, Codeforces, Topcoder, Hackerrank, Geeksforgeeks etc. The more problems you solve,
the better it is. It is better, though, to solve problems in increasing order of difficulty. You can sort the
problems in descending order of the number of submitted solutions and start solving. After solving
around 100 mixed variety problems, you will become confident about your programming skills.
4. Make a project
Now that you have enhanced your problem-solving and programming skills, it is time to create some
useful applications. You can pick up some popular web development Framework (Django, Flask, Ruby
on Rails, etc.) and make a project using it. Making an application will give you a feel of actual software
development, which is what most of the programmers do.
Once you have made some web development projects, you may like to try your hand at Android or iOS
development.
Top 5 Programming Languages for Beginners
1. JavaScript
2. Python
3. Ruby
4. Java
5. C#
Thank You!

More Related Content

What's hot

An introduction to coding
An introduction to codingAn introduction to coding
An introduction to codingiain bruce
 
Myths in Software Requirements
Myths in Software RequirementsMyths in Software Requirements
Myths in Software RequirementsSheraz Pervaiz
 
Required computer skills program devlopment
Required computer skills program devlopmentRequired computer skills program devlopment
Required computer skills program devlopmentHubert Shanthan
 
Computer programming
Computer programmingComputer programming
Computer programmingSujay Raj
 
ICS 2nd Year Book Introduction
ICS 2nd Year Book IntroductionICS 2nd Year Book Introduction
ICS 2nd Year Book IntroductionSyed Zaid Irshad
 
Intro to programming and how to start that career
Intro to programming and how to start that careerIntro to programming and how to start that career
Intro to programming and how to start that careerTarek Alabd
 
Walmyr Filho - Lessons learned as software engineer working at appear.in
Walmyr Filho - Lessons learned as software engineer working at appear.inWalmyr Filho - Lessons learned as software engineer working at appear.in
Walmyr Filho - Lessons learned as software engineer working at appear.inAgile Lietuva
 
Computer programmer
Computer programmerComputer programmer
Computer programmerajt525
 
Python programming
Python programmingPython programming
Python programmingSumita Das
 
Top technical mistakes that programers do
Top technical mistakes that programers doTop technical mistakes that programers do
Top technical mistakes that programers doNalaka Gamage
 
Code - Fu: Defensive Programming
Code - Fu: Defensive ProgrammingCode - Fu: Defensive Programming
Code - Fu: Defensive ProgrammingSovTech
 

What's hot (20)

An introduction to coding
An introduction to codingAn introduction to coding
An introduction to coding
 
10 lesson8
10 lesson810 lesson8
10 lesson8
 
Myths in Software Requirements
Myths in Software RequirementsMyths in Software Requirements
Myths in Software Requirements
 
Required computer skills program devlopment
Required computer skills program devlopmentRequired computer skills program devlopment
Required computer skills program devlopment
 
10 lesson7
10 lesson710 lesson7
10 lesson7
 
Computer programming
Computer programmingComputer programming
Computer programming
 
ICS 2nd Year Book Introduction
ICS 2nd Year Book IntroductionICS 2nd Year Book Introduction
ICS 2nd Year Book Introduction
 
Introduction to Programming
Introduction to ProgrammingIntroduction to Programming
Introduction to Programming
 
Ccl l1
Ccl   l1Ccl   l1
Ccl l1
 
Intro to programming and how to start that career
Intro to programming and how to start that careerIntro to programming and how to start that career
Intro to programming and how to start that career
 
Embedded System and C Programming is Extremely Useful
Embedded System and C Programming is Extremely UsefulEmbedded System and C Programming is Extremely Useful
Embedded System and C Programming is Extremely Useful
 
1. importance of c
1. importance of c1. importance of c
1. importance of c
 
COMPUTER PROGRAMMING
COMPUTER PROGRAMMINGCOMPUTER PROGRAMMING
COMPUTER PROGRAMMING
 
Walmyr Filho - Lessons learned as software engineer working at appear.in
Walmyr Filho - Lessons learned as software engineer working at appear.inWalmyr Filho - Lessons learned as software engineer working at appear.in
Walmyr Filho - Lessons learned as software engineer working at appear.in
 
Computer programmer
Computer programmerComputer programmer
Computer programmer
 
Python programming
Python programmingPython programming
Python programming
 
Top technical mistakes that programers do
Top technical mistakes that programers doTop technical mistakes that programers do
Top technical mistakes that programers do
 
Code - Fu: Defensive Programming
Code - Fu: Defensive ProgrammingCode - Fu: Defensive Programming
Code - Fu: Defensive Programming
 
Code - Fu: Defensive Programming
Code - Fu: Defensive ProgrammingCode - Fu: Defensive Programming
Code - Fu: Defensive Programming
 
INTRODUCTIONS OF HTML
INTRODUCTIONS OF HTMLINTRODUCTIONS OF HTML
INTRODUCTIONS OF HTML
 

Similar to How to learn programming for begineers!

Boost Your Base Bootcamp - [Online & Offline] In Bangla
Boost Your Base Bootcamp - [Online & Offline] In BanglaBoost Your Base Bootcamp - [Online & Offline] In Bangla
Boost Your Base Bootcamp - [Online & Offline] In BanglaStack Learner
 
How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developerjeetendra mandal
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018Amit Ashwini
 
How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# ProgrammerLearnItFirst.com
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community SupportWilliam Grosso
 
1. Introduction Original - To Print
1. Introduction Original - To Print1. Introduction Original - To Print
1. Introduction Original - To PrintChinthaka Fernando
 
How to start your career as a software engineer
How to start your career as a software engineer How to start your career as a software engineer
How to start your career as a software engineer Intellipaat
 
Top 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxTop 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxSurendra Gusain
 
Top 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxTop 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxSurendra Gusain
 
What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?Syed Hassan Raza
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developerEyob Lube
 
Google Interview Prep Guide Software Engineer
Google Interview Prep Guide Software EngineerGoogle Interview Prep Guide Software Engineer
Google Interview Prep Guide Software EngineerLewis Lin 🦊
 
15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript Programming15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript ProgrammingFusionCharts
 
Road map to competitive programming
Road map to competitive programmingRoad map to competitive programming
Road map to competitive programmingTutort Academy
 
Top 30 Scalability Mistakes
Top 30 Scalability MistakesTop 30 Scalability Mistakes
Top 30 Scalability MistakesJohn Coggeshall
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsSteven Smith
 
Beginners guide-to-coding-updated
Beginners guide-to-coding-updatedBeginners guide-to-coding-updated
Beginners guide-to-coding-updatedSaidLezzar
 
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For BeginnersC, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For BeginnersManjunath.R -
 
Technologies for startup
Technologies for startupTechnologies for startup
Technologies for startupDzung Nguyen
 

Similar to How to learn programming for begineers! (20)

Boost Your Base Bootcamp - [Online & Offline] In Bangla
Boost Your Base Bootcamp - [Online & Offline] In BanglaBoost Your Base Bootcamp - [Online & Offline] In Bangla
Boost Your Base Bootcamp - [Online & Offline] In Bangla
 
How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developer
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018
 
How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# Programmer
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community Support
 
1. Introduction Original - To Print
1. Introduction Original - To Print1. Introduction Original - To Print
1. Introduction Original - To Print
 
How to start your career as a software engineer
How to start your career as a software engineer How to start your career as a software engineer
How to start your career as a software engineer
 
Top 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxTop 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docx
 
Top 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docxTop 10 Interview Questions for Coding Job.docx
Top 10 Interview Questions for Coding Job.docx
 
What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developer
 
Learning to code in 2020
Learning to code in 2020Learning to code in 2020
Learning to code in 2020
 
Google Interview Prep Guide Software Engineer
Google Interview Prep Guide Software EngineerGoogle Interview Prep Guide Software Engineer
Google Interview Prep Guide Software Engineer
 
15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript Programming15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript Programming
 
Road map to competitive programming
Road map to competitive programmingRoad map to competitive programming
Road map to competitive programming
 
Top 30 Scalability Mistakes
Top 30 Scalability MistakesTop 30 Scalability Mistakes
Top 30 Scalability Mistakes
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
 
Beginners guide-to-coding-updated
Beginners guide-to-coding-updatedBeginners guide-to-coding-updated
Beginners guide-to-coding-updated
 
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For BeginnersC, C++, Java, Python, PHP, JavaScript and Linux For Beginners
C, C++, Java, Python, PHP, JavaScript and Linux For Beginners
 
Technologies for startup
Technologies for startupTechnologies for startup
Technologies for startup
 

Recently uploaded

80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...Nguyen Thanh Tu Collection
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxDr. Ravikiran H M Gowda
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 

Recently uploaded (20)

80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 

How to learn programming for begineers!

  • 1. How To Learn Programming for BEGINNERS ! Presented by AMAN KUMAR programmingshark.com
  • 2. Programming is the most sought-after skill today. “Software Engineer” is the top in- demand position in the industry. Considering the huge demand for skilled programmers, it makes sense for job-seekers to learn to programme. Learning programming seems difficult to many. This is often because of the wrong approach they apply to learn to code. People aspire to make complex applications, and they often don’t even know basic programming. In this article, we’ll see how to learn to programming in a proper manner. This article would be useful for both, the job-seekers and students. 
  • 3. 1. Get familiar with a programming language Getting comfortable with a programming languages is the first step towards learning programming. People often start with C, C++, Java, or Python. I personally prefer C++ in the beginning as it is neither too simple (like Python is), nor too deficient in terms of libraries (like C is). C++ is pretty fast and has a good library support too – best of both worlds! Also, C++ is a good choice for competitive programming because it is pretty fast and has the support of Standard Template Library (STL). The choice of the first language is highly subjective based on your interests and goals. You may be interested in front-end, back-end, mobile app development, game development, data science, etc.
  • 4. 2. Learn Data Structures and Algorithms Once you are comfortable with any of the languages mentioned in the above section, the next thing you should do is learning data structures and algorithms. Data structures and algorithms help in building the right aptitude required for programming. Knowledge about the data structures will help you in choosing the right one for the problem you are solving – not all data structures can be used everywhere. When you learn about the algorithms, you will be able to understand the working mechanism of many library functions, which, otherwise, would come across to you as black boxes.
  • 5. 3. Get your hands dirty with competitive programming Once you have learned data structures and algorithms, you should start solving problems on websites like SPOJ, Codechef, Codeforces, Topcoder, Hackerrank, Geeksforgeeks etc. The more problems you solve, the better it is. It is better, though, to solve problems in increasing order of difficulty. You can sort the problems in descending order of the number of submitted solutions and start solving. After solving around 100 mixed variety problems, you will become confident about your programming skills.
  • 6. 4. Make a project Now that you have enhanced your problem-solving and programming skills, it is time to create some useful applications. You can pick up some popular web development Framework (Django, Flask, Ruby on Rails, etc.) and make a project using it. Making an application will give you a feel of actual software development, which is what most of the programmers do. Once you have made some web development projects, you may like to try your hand at Android or iOS development.
  • 7. Top 5 Programming Languages for Beginners 1. JavaScript 2. Python 3. Ruby 4. Java 5. C#