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:
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.
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.
7. General Assembly’s Dash
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.
11. The Code Player
12. The Odin Project
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/.
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.
At the after school coding program YoungWonks (https://www.youngwonks.com/), this one-on-one interaction between student and instructor takes precedence over everything else. Moreover, students get to learn cutting edge computer science concepts in a self-paced learning environment. Additionally, instructors here employ methodologies such as flipped classroom and project-based learning, which have been proven to be highly productive. There is definitely greater accountability on the part of the teacher/ instructor, who is sure to keep track of the student’s progress. This has been said to be very useful, particularly in the case of coding projects where even the slightest of errors can cause the project to malfunction.
*Contributors: Written by Vidya Prabhu; Lead image by: Leonel Cruz