Getting Started with Programming

Vinit Shahdeo
6 min readJul 21, 2017

--

From here to where? From A to what? From where to begin? Which programming language to start with as a beginner?

I am sure finishing four seasons of silicon valley back to back within 2 days must have left you thirsty for an actual insight into this world. Be it Richard Hendricks convoluted codes and prodigious coding skills or the extent to which technology drives the world. And so when suddenly inspiration has engulfed you to taste the programming life, the first question that might pop up in your head might be “Which language shall I begin with?”

I wish it was as easy as the 0s and 1s but its much more than the bits and bytes that make this world.

First of all, it all depends on what you would like to develop. There are a massive number of platforms, frameworks and in general, languages, which can help you develop your soon-to-be awesome skills. The most common ones are Java (not an Indonesian island), C, C#, Python (no, this won’t bite you), and Ruby on Rails (not a precious stone). Even though starting with a language might be a huge hustle, always be clear with your goal and the skills you wish to possess. Just like if you are planning to move to the South of France, I really doubt you will start an intensive course in Korean, rather you’ll hone your french language skills.

Though we live in a gizmo savvy world, many girls don’t show the required enthusiasm to code citing the disparity between the two sexes in the technical field as the cause. Attention to all ladies, the first programmer was a woman! Ada Lovelace, a great British mathematician and writer, she discovered the first machine algorithms for the Analytical Engine. Her program was written down on paper and the algorithm was meant to execute Bernoulli numbers. The algorithm was invented in 1840s, which was 100 years before the first computer appeared to the world.

Firstly, let me explain how you’ll have the upper hand if you dive into this world

• Software developers are one of the highest-paid professionals nowadays.

• With some type of coding, for example, web development you can work from home and be your own boss.

• A lot of developer jobs are allowed flexible working hours or remote work conditions.

• You can travel and still be able to code as all you need is your laptop.

• You can implement your knowledge and ideas into real-life i.e. your own startup.

• You can connect with interesting people all over the world and share your passion. After all, the network is your net worth.

• You are doing something valuable because coding also means building.

For beginners who need some hints here is a basic small overview of popular languages and their implementations:

Developing beautiful websites — HTML, CSS, JavaScript, JQuery, Node.js, AngularJS, PHP

Creating apps — Android Studio(Android apps based on Java), Kotlin, SWIFT(for iOs apps based on objective C)

Working with data, artificial intelligence, statistics — Python, R, MatLab

Working with Operating Systems — C, C++, Assembly

So, what should be the course of action?

1. Choose a language you want to code in and stick to it until you it is deeply sinked in your bones.

2. Start with basic programs (for e.g. finding whether a number is prime or not, palindrome, Armstrong, etc.).

3. After having a fair idea of such programs, jump to arrays. Try problems based on the concept of arrays like reversing elements in arrays, sorting, etc. Make sure that concepts related to conditional statements and loops are clear before you proceed to arrays. Pattern problems are the best way to practice loops. Imagine a few patterns like Diamond, triangle, etc and try to code for it.

4. After Arrays, start with multi-dimensional arrays. It would be easy to proceed with multi-dimensional arrays if you have practiced arrays. Try to code the problems of Matrices like addition/multiplication of two arrays, sum of diagonal elements of a given matrix, etc.

5. Now comes the most important part of coding, i.e. recursion. Recursion makes your code small and easier to understand. Try converting iterative codes to recursive. This will help you have an idea of how recursion works. View tutorials online to understand it better. Try factorial programs.

6. After recursion, comes the part of understanding the complexity of the program you write. Complexity helps you understand how efficient your code is going to be. And hence, it makes you a good programmer.

7. Next, learn how to allocate your memory dynamically. This is very important for you to learn as it helps you code efficiently.

8. After all these basic, comes the most important part of coding — DATA STRUCTURE. Begin with stack and move on to other data structures: linked lists, queues, trees, binary trees, heaps, and all the other data structures.

9. Do not just read the concepts and their codes. Try understanding the logic behind the problem and create an algorithm for the same. After that, try writing the code yourself and run it until it is free of errors. If you cannot proceed with the problem, only then search its solution online.

Recently, I have a created a contest on HackerRank. Join the contest, it’s beginner friendly.

To improve the coding:

1. Be regular. Code least 1–2 hours daily.

2. Cover at least 2–3 topics each day and solve respective problems on it.

3. Create an account on HackerRank, CodeChef, SPOJ, etc and start solving the questions on the topic that you studied that day.

4. Start reading editorial of codes.

5. Start Practicing the Algorithms, Data Structures and try to build up the logic for Program.

6. Participate in Stack Overflow, Comment in the Blogs. Since Programming is very vast and not easy to remember all the things that you have learned so, these will correct your misconception, a way to revise knowledge and, motivate you for coding. Also, Stack Overflow can clear all your doubts.

7. Scroll GeeksforGeeks A Computer Science portal for geeks. It is the best place for programmers.

8. Competitive Programming — Start participating in competition it will help you to solve new problems and build your own logic.

On a final note, following is a list of top websites, where you can learn how to code for free:

CodeAcademy — an online interactive platform that offers free coding classes in 12 different programming languages including Python, Java, PHP, JavaScript, Ruby, SQL, and Sass, as well as markup languages HTML and CSS. It has 24 million students who have gained coding experience.

Coursera — an educational platform, more than 2000 online courses (including programming) have been offered from 140+ universities worldwide. It has more than 24 million registered users.

GitHub — World’s leading software development platform where thousands of programmers frequently post their codes and anyone can look them up. GitHub can work as a cheat sheet, which you can explore at any time. GitHub can be thought of as a social networking site for software developers. Explore GitHub profiles using GitHub LookBook.

W3Schools a popular web site for learning web technologies online with more than 10 million unique visitors monthly. Content includes tutorials and references relating to HTML, CSS, JavaScript, PHP, AngularJS, SQL, Bootstrap, and jQuery. Totally Recommended for learning web development.

TutorialsPoint — free tutorials and quick reference manuals for each and every programming language.

JavaTpoint — It provides an easy way to learn tutorials on core java, servlet, JSP, hibernate, struts2 & spring.

You know you’re programmer when you count three apples!

Happy Coding :)
— — — — — — —

Find me on LinkedIn | Twitter | GitHub. Learn more about me here.

--

--

Vinit Shahdeo

Software Engineer II @ Postman | VITian | GitHub Star | GSoC Mentor