Stop Thinking Start Programming

- 5 mins

About Me :

Software Programmer (MS in Computer Science) :bowtie: . Didn’t ever had a personal computer till the age of 20, but that didn’t stop me from learning new things. Currently, I am on the constant hunt for new opportunities that will take me step forward :bicyclist: .

Here are few links that will tell you about my past, present and future :necktie: :

Summary :

I will discuss few things in this blog to get you started. The first thing to keep in mind is that there are no shortcuts. You have to practice a lot to get the hang of programming and understand concepts related to the data structure and algorithm.

From computer science perspective you should focus more on Data Structure, Algorithms and start working on at-least one of the programming languages. Start learning the basics regarding the data structure, which data structure will help you to speed your program. Start learning algorithms, which algorithm is efficient in terms of time complexity. Learn about how to determine the Big (O) time complexities of the program.

Chapter 1: Try to keep it simple :

Learn only one programming language completely. Once you understand how the programming concepts work, it’s easy to grasp other programming languages according to your need. You may learn Java, Ruby, Python, Scala, Javascript whichever you find it useful. To keep things simple, I would recommend starting with Java, grasp the programming concepts quickly and move on to some coding problems. coding will help you increase your confidence over the language.

Once you get the grasp of the concept, try to implement concept and verify the concept. Start coding on the notepad without any IDE that helps to understand the programming language at the micro level and will help to boost your confidence. Most of the big companies in the market try to test your knowledge on the whiteboard, so then better start working on a notepad from day 1 itself.

Don’t try to learn much stuff at once, if you choose Java or Javascript go with any of it first. All the programming languages are based on the same underlying concepts/principles but in today’s world, everyone is coming up with their own name for the same concepts. So don’t overthink much, start learning any of the technology you like and start coding.

Take away: Start learning one language. Grasp the concepts. Practice online coding.

Chapter 2: Believe in yourself :

Never bother about how difficult you find the programming language to learn, keep practising one coding question in a day. There are many sites which provide the online coding challenge in different areas. Hackerrank, Leetcode, Topcoder are the best ones you can try it yourself. Many people will tell you about different programming languages in the market, don’t get distracted at all, many of the programming languages are based on the same set of principles with some tweaks. So focus on what you are learning, it will take you to realize that “what you are doing is great”.

Take away: Focus on what you are doing

Chapter 3 : What to learn :

I would recommend you start with basics :

Start learning about the data structure, they play a very important role when you are developing a piece of software. They determine the time and space complexity of your program. Think it this way you wrote a code to sort the numbers, you don’t want to let it keep running for ages, right? you want it to be executed quickly, within a fraction of seconds for large datasets. To make this decision you should have the knowledge of all the data structure and the algorithm used to reduce the space and the time complexity based on the programming functionality.

Don’t worry learning these things takes time, you will get it by practising. Start working on learning basic concepts. One thing I will suggest will start learning algorithms and data structure from Cracking the coding interview by Gayle Laakmann McDowell, it will get you started with basics and will provide a way to get started with the algorithm. If you are a college student or working professional. I will say don’t use heavy mathematical books to start learning algorithms you will get diverted, its like you don’t need the “Master theorem” every time to determine the perfect complexity of program a fuzzy guess is fine. Better start with building basic blocks and then move upward. You will be able to tell the space and time complexity of the programs using this book. You will get the strong hold on data structure and algorithm if you follow it properly.

Take away: Come up with brute force approach to solve the problem quickly and try to optimize it.

Chapter 4: Practice a lot :

Start practising the algorithm problems, there are many websites which will provide with a variety of problem statement and will tell you where you stand with respect to other algorithms space and time complexity.

Don’t rush, start with the basic problems to get hang of it. Get the confidence and start moving forward. Many of these sites also host online programming challenge they are the great things to try, you will feel the time pressure to get it done in specific time.

There are some online resources (videos, blogs) that provide with an excellent solution for the coding problem. I will prefer some of the channels for you to get started.

comments powered by Disqus
rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora