Nov 26, 2019 By Team YoungWonks *
How to get started with coding? For beginners - people who have no prior education or experience - in the world of coding, this is a common question playing on their minds. This blog then tells you about resources that can help you begin…
What is Coding?
First let's look at what the term coding means. Computers have their own language called code which tells them what to do. Our computer browser, the Operating System (OS), the apps on our phones, and this website – they’re all made with code. Coding is thus the process of using a coding/ programming language to get a computer to behave the way you want it to. Coding is what makes it possible for us to build computer software, apps and websites. Every line of code tells the computer to do a task, and a document full of lines of code is called a script. Each script is aimed at getting the computer to carry out a task. These scripts when done are compiled into a program that anyone can download and use. All apps, games and websites are essentially programs. This is why the terms coding and programming are often used interchangeably.
Now that we know what coding means, it is not surprising to see why coding is so popular today. In today’s day and age with coding and related fields such as data sciences, web / app development, robotics, Machine Learning (ML) and Artificial Intelligence (AI) gaining more traction than ever, it is even more important to learn coding. Be it kids or grownups, there is no set age group for people to start learning coding, although it is recommended to start early.
Coding is, in fact, rather easy and with the right resources, it doesn’t have to be intimidating at all. For people starting out, learning programming languages such as Scratch and Python will give them the edge they’ll need to make further inroads into the tech world. Scratch, for instance, is a visual programming language where one codes with ‘blocks’ in the editor and it is fairly easy to learn. Moreover, skills learned in Scratch can be applied to other basic programming languages such as Python and Java. Concepts in Scratch such as variables, strings, numbers, logic, data structures, loops and functions help one understand Python a lot easier. Python, in turn, is widely used in ML, AI, Internet of Things (IoT) and other advanced computing developments and is thus a good programming language to get started with, preferably after Scratch.
Free coding resources for beginners
We have shared below some free resources that beginners can use to get started with coding:
1. Code.org
A nonprofit organisation devoted to increasing access to computer science in schools and increasing participation by women and other minorities, Code.org aims to give school students greater opportunities to study computer science. It does so by offering computer science curriculum for K-12 in the largest school districts in the US; this curriculum can also be used by beginners across all age groups. One can begin with their quick Hour of Code tutorials, or work on projects in lab courses. All of its computer science courses (covering HTML, CSS, JavaScript and block programming among other topics) can be accessed online and are available at no cost. For more details, visit: https://code.org/.
2. Codecademy
Offering a slew of free courses in programming languages such as HTML & CSS, Python, JavaScript, Java, SQL and more, Codecademy can be a good starting point for people with no prior background in coding. Essentially, an online learning platform, it dwells mainly on a set curriculum which one reads and then tests by typing one’s code right into the browser, so as to see the results immediately. However, it must be pointed out that Codecademy may not be ideal for those seeking individual attention even as they start out. For more details, visit: https://www.codecademy.com/.
3. Codewars
Having adopted a martial-arts theme, Codewars provides learning through challenges called ‘kata’. One can “earn honor and move on to higher ranks” upon successful completion of each challenge. This gamified approach can be fun for those who are up for such challenges. Coding challenges on offer include Python, Ruby, Java and JavaScript. Again, with individual attention missing here, solving problems can be tricky as one is left to figure it out on their own. For more details, visit: https://www.codewars.com/.
4. Coursera
Coursera too provides a wide range of coding-related courses. In fact, it boasts a large online course library where classes are taught by real university professors. The courses are free of charge, but one can choose to pay for a Coursera Verified Certificate (financial aid is also available) to prove course completion. Sometimes paying for a certificate also grants access to content not available in the free versions. Coursera also has “Specializations,” which are collections of courses on a particular topic, so one select a topic and take up courses under that set. However, these lessons are typically pre-recorded videos, which may not work for those seeking a more interactive form of learning. For more details, visit: https://www.coursera.org.
5. edX
Founded by Harvard and MIT, edX is a global nonprofit organization working towards transforming traditional education by doing away with the barriers of cost, location and access. While it offers several paid courses too, many of its basic courses under computer science (among other subjects) are free and have a nominal charge for those wanting a verified certificate. Programming languages covered here include Python, Java, C# and many more. For more details, visit: http://www.edx.org.
6. freeCodeCamp
As the name suggests, this free online coding school is a nonprofit organization that teaches coding through a set curriculum, allows you to build projects, get free certificates, and gives you hands-on experience of working on projects for nonprofits. One can pursue free coding certifications in the following coding languages: HTML, CSS, JavaScript, Node.js, React.js and more. It is thus recommended for self-starter people who have the self-discipline to pursue and successfully complete a course. It may not be ideal for those who need personal attention. For more details, visit: https://www.freecodecamp.org/.
7. General Assembly’s Dash
This is General Assembly’s free online learning platform. It is completely project-driven in that one has to build a project on one’s browser with each walkthrough. But this also means one gets hands-on experience even as one learns to code online. So it is yet another good choice for self-starters. Projects offered here come under programming languages such as HTML, CSS and JavaScript. For more details, visit: https://dash.generalassemb.ly/.
8. Khan Academy
A well-known non-profit educational organization, Khan Academy aims to offer free, world-class education for anyone and anywhere through its bank of instructional videos and practice exercises; subjects covered include computer programming, math, science and history (among others). Its website also has supplementary practice exercises and materials for educators. The coding/ computing courses include lessons in programming languages such as JS, HTML/CSS and SQL. While the content in these courses is of high quality, these pre-recorded videos may not be the best method of learning for everyone; often the lack of one-on-one interaction can lead to a frustrating learning experience for the student. For more details, visit: https://www.khanacademy.org/.
9. MIT OpenCourseware
The Massachusetts Institute of Technology (MIT) maintains an online library of all subjects they teach - obviously, this includes coding / computer science - and with no account needed for access. All one has to do is just browse for a course and use the study material that has been shared. Not surprisingly, there is a rather comprehensive collection of courses offered under computer science. For more details, visit: https://ocw.mit.edu.
10. SoloLearn
A social platform that focuses on helping anyone and everyone learn how to code, SoloLearn is a free app offering tutorials in programming languages such as Python, C++, C#, JavaScript, HTML, CSS, Ruby, Swift and Java, among many more. It is different from other course providers as it is mobile-based. The lessons are short in order to have a sharper focus, plus there are many achievements to unlock and interactive quizzes on offer as well. For more details, visit: https://www.sololearn.com/.
11. The Code Player
This free online platform is essentially a compilation of video-based online coding tutorials that will help one go right from start to finish. It is a good choice for those wanting to start with smaller projects/tasks one at a time; however, lack of personalised attention is again a drawback here. HTML5, CSS and JavaScript are a few of the coding languages for which there are videos available on this platform. For more details, visit: http://thecodeplayer.com/.
12. The Odin Project
The Odin Project is a free, open-source platform that has been created to aid those who wish to learn coding on their own for free. In addition to their programming tutorials, there is also an online chat group that students can turn to. Not only is the curriculum is available on Github but students are actually encouraged to freely contribute to the project/ curriculum! Topics covered include HTML, CSS, JavaScript and Ruby, among others. For more details, visit: https://www.theodinproject.com.
13. Udacity
Not only does Udacity provide individual free coding courses, but it also offers what it calls “nanodegrees”. These nanodegree programs are said to essentially train people for specific roles in the tech industry (think front-end web developer or data analyst). Courses / programs offered include those about general programming, Python, algorithms, HTML and CSS, in addition to many more. While access to the course curriculum is free, a fee needs to be paid for the nanodegrees. For more details, visit: https://www.udacity.com/.
14. Udemy
A host of courses - covering a host of coding languages such as Python, C#, C++, SQL, Java, etc - are available on Udemy. But since courses can be created by anyone, it is recommended to read reviews before starting with a course. The courses are rather inexpensive, but often people just join and do not really finish their them. This again has been attributed to factors such as the lack of personal attention. For more details, visit: https://www.udemy.com/.
While the above resources have been quite helpful to several people, they haven’t necessarily worked for everyone wanting to learn coding. Most of the above resources need students to adopt a fiercely self-starter approach and rigorous self-discipline as the onus to watch the videos and complete the online assignments often rests with the student alone. The fact of the matter is that due to budget reasons, these free / cost effective courses often have fewer resources at their disposal. What is often needed in such a scenario is a fruitful mentor-student program, one that offers the latter a combination of online learning with a human touch.
Jumpstart Your Coding Journey with YoungWonks
For those just beginning their coding adventure, knowing where to start can be the biggest hurdle. At YoungWonks, we understand this challenge and have crafted our Coding Classes for Kids to be an engaging and comprehensive introduction to the world of coding. For a deeper dive into one of the most versatile programming languages, our Python Coding Classes for Kids are designed to create a strong foundation in both the syntax and the problem-solving strategies that Python offers. Furthermore, we believe in the power of hands-on learning, which is why our Raspberry Pi, Arduino and Game Development Coding Classes not only introduce students to the basics of coding but also allow them to see the physical manifestations of their code through exciting projects. Begin your coding journey with YoungWonks and turn your curiosity into creative solutions.
*Contributors: Written by Vidya Prabhu; Lead image by: Leonel Cruz