Programming: Beginner’s Guide

What, Where and How!

Anubhav Singhal
5 min readAug 20, 2019

Coding related jobs have always been in demand, and it increments every year. One of the strongest and most obvious draws of learning to code is the earning potential for programming professionals. Careers that involve some programming, coding or scripting skills tend to come with above-average salaries.

Every other giant tech companies like Microsoft, Google, Amazon, etc, have several rounds for data structures and algorithms in their recruitment process, where your programming ability is tested and you surely have to surpass those round to get placed. Interviews also revolve around these topics, recruiters test your logical thinking and problem-solving ability through programming only.

Coding practices are so popular nowadays in youth as much as brain games. Also, It builds an ability inside you to approach the problem more effectively by letting you decide which area of the problem to focus first.

“Where should I start …?”

That’s an important question for sure, and there is no particular answer to this question. While recommending a programming language or a book regarding it, one has to be very careful about it, because jumping over any point, if there are no fast results then probably that person would drop out soon.
So instead to jumping onto any point, I would like you to think properly on every part.

“Which programming language should I go for..?”

There is a crowd of over 256+ programming languages, I have heard people saying that most of them are useless and I disagree with them. Every programming language has its application in the industry but of course, as a beginner, you choose in popular one of those. : xD

C/C++, Java, and Python are the best programming languages for building up core concepts and are most popular among the best programmers in the world. I would recommend you to begin with C++ for various reasons, but feel free to make your choice.

Note: Programming languages are just means to communicate with computers and get your problems solved, so basically, it’s not about learning any language, but it’s about developing logical thinking about how computing process works, how you can use simple tools to solve complex problems.

“It’s not about the language you speak, but the idea you present.”

Choose any language and dive in deeper to its core concepts, because you can’t be a good programmer without a strong foundation. Once you are skilled in a particular language, shifting over others won’t be a mess at all, cause every programming language is the same, the only difference is syntax.

“Okay, then how to learn that language..??”

Educba

Now, you have to learn programming’s fundamental concepts using the language you have chosen. You should probably buy or download a guide book to learn that language and stick to it; use YouTube, Quora, and other resources as references.

Here are some books that I recommend you to follow :

  1. C++ Primer (5th Edition)
  2. Head First Java: A Brain-Friendly Guide, 2nd Edition (Covers Java 5.0)
  3. Python Programming for the Absolute Beginner, 3rd Edition

Some YouTube link that you should totally checkout :

  1. C++ Tutorial for Beginners — Full Course
  2. Learn Java 8 — Full Tutorial for Beginners
  3. Learn Python — Full Course for Beginners

“Programming is like any other sport. You might know the rules, but you gotta play to learn.”

As you learn to code, try to solve more and more questions, and you can do that on many online platforms like CodeChef, Codeforces. These websites have numerous practice problems for beginners, intermediate as well as experts too, just choose one of them and stick to it. I recommend CodeChef to beginners, but hey, it’s always your choice.

Is that it…??”

Not really, this is all just a beginning, from here you enter in the real game which is Data Structures and Algorithms a.k.a. DSA. It’s the most important skill of a programmer, in fact, the ability of a programmer is judged by it.

I used an ordinary guidebook from my college library and geeksforgeeks as a reference and it all worked fine, You can choose your way around but make sure you do cover some important topics such as :

  1. Space and Time Complexity
  2. Number-Theoretic Algorithms
  3. Data Structure: Linked list, stack, queue, graph, tree..etc.
  4. Dynamic Programming
  5. Graph Algorithms
  6. Computational Geometry

Again, there is no use of learning these topics if you don’t practice questions based on it. If you want to solve questions topic wise go to Spoj.com.

“Phew…that sounds tough !!”

To be honest it’s not. We always enjoy things when we get good in it, and to get good in it, we must surpass the initial beginner stage of struggle and a complete mess.

What I mean is, things may seem little confusing or may be complex in the beginning, and it would be frustrating too. Just don’t lose hope, this principle applies in every other thing you try to learn in your life. You can use these articles for motivation :

  1. My Competitive Programming Journey To Google.
  2. My Experience in Getting an Internship Offer From Google.
  3. Benefits of Competitive programming.

Wish you a great journey ahead !!

📝 Read this story later in Journal.

👩‍💻 Wake up every Sunday morning to the week’s most noteworthy stories in Tech waiting in your inbox. Read the Noteworthy in Tech newsletter.

--

--

Anubhav Singhal

Software Developer Engineer @Attentive || Expert @Codeforces || Div I @Codechef || Microsoft Learn Student Ambassador || Business and Finance enthusiast.