A Beginner’s Guide to Coding

Aditya Mishra
4 min readSep 16, 2022

--

It can be pretty confusing as a beginner to choose the right approach from the large pool of programming languages and resources available online. Following are 5 steps that will take anyone from an absolute beginner to an intermediate level, and set up the base needed to advance in career as a coder.

Step 1: Learn to Type

Photo by Courtney Corlew on Unsplash

Before getting into the technical aspects, I would highly recommend you learn touch typing, i.e, typing without looking at the keyboard. It may seem obvious to some, but for many it’s not. Coding is all about solving problems and typing it out as code, that’s why having this one skill can improve your productivity to a great extend.

The two resources I’d recommend using are typingclub and typeracer. Learn the basics from typingclub and practise on typeracer. Do this consistently until you reach anywhere between 50–60 wpm (words per minute), that will be enough as a beginner.

Step 2: Read “Code: The Hidden Language of Computer Hardware and Software” by Charles Petzold

Photo by Markus Spiske on Unsplash

Reading documentations is a major part of the job, but I’m not asking you to do that just yet. Start with this fun book. It will help you understand the fundamentals and behind the scenes of various aspects of computers that we ignore on daily basis.

The author explains how the combination of any two different things (like 0 and 1) can be used to combine and convey any complex meaning, the working of electricity, various number systems and their uses in computing, and much more. All this in an extremely simple and understandable format. It’s not a necessity, but I’d still recommend reading. It made me more interested in computers and programming in general, and hopefully will do the same for you.

Step 3: Learn the C programming language

Photo by Maksym Zakharyak on Unsplash

I’m aware that Python is being preferred these days to get started with programming, but I still vouch for C, it is called the mother of all programming languages for a reason. Few points in support of my view:

  • It is the base, this is where everything started (at least on a mainstream level). Learning C is like learning the ABC’s of programming languages.
  • Later when learning more modern stuff, you will be able to appreciate how things used to be and how better they are now, while also understanding the why behind it. You will understand why object orientation was needed (Python, Java, etc.) over monolithic programming etc.
  • Several features of other popular languages are built upon those used in C. For example, classes can be seen as an extension of structure data type in C. Being able to make these connections can be very useful.

How much C should I learn?

You don’t have to dig deep into everything, just learn the basics — primitive data types, strings/arrays and how they are stored in memory, functions, structures, file handling. Make simple programs like swapping of numbers, finding roots of equations, handling strings etc. Once comfortable, head to the next step.

Step 4: Learn the Java Programming Language

Photo by Christopher Gower on Unsplash

It was difficult to choose between C++ and Java for this step, going with java because I feel it’s the perfect introduction to object orientation, a concept that all popular programming languages today are based on. Another reason being that it’s a popular choice when giving coding interviews. Most of the coding challenge tutorials and solutions online are also in java.

You will be making classes and objects right from the beginning, which will improve your ability to think inside the box. Get comfortable with various libraries that java has to offer. Once done, make 2–3 advanced projects using java. Picking up other languages after getting comfortable with java will be much easier.

Step 5: Learn Data Structures and Algorithms using Java

Photo by Claudio Schwarz on Unsplash

Processing data and getting the desired information is majorly what computers do. There are several ways to store this data in the memory, to make the processing as efficient as possible. This is where data structures like stacks, queues, search trees and algorithms like bubble sort, merge sort etc. come into play. I’d again recommend using Java to learn these. DSA is a the core of problem solving in programming, and thus, a must know.

As beginners, we tend to learn more and more languages, often ignoring this step, make sure not to do that. There are enough resources available on YouTube that will teach you everything you should know about DSA.

That’s all. It’s not quick, but the base this approach creates is tried, tested and appreciated by coders across the globe. See you on the other side! :)

--

--

Aditya Mishra

Trading knowledge. Interests include Science, Philosophy and Programming.