Computer Science Fundamentals Beginner Programmer Should Know Before Starting Programming
Manas Sinha
Developer | Designer

By Manas | 24 August 2020 | 4 mins read

THINGS ONE MUST KNOW BEFORE STARTING TO LEARN PROGRAMMING | THE FIRST STEP

If you are here I suppose you have no background in coding/computer science and are starting from the complete basic. But before you start writing code to develop cool stuff or try to “HACK NASA!”..there are some fundamentals that will help you bridge the gap between having absolutely no idea and being a beginner in coding.

0.What does a machine understand?

The only thing that a machine can understand sometimes referred to as machine code or object code, is Binary which is a series of bits of 0s or 1s. So at the end of the day, in whatever language you write your code, the code is going to be converted to a machine-readable binary form by a compiler/interpreter.

1.what is a programming language?

To ask a machine to do something we need to give a command. But as you saw, a machine can only understand binary and as long as you are a normal human like me you can’t speak or write binary. So to solve this problem we created programming languages. Basically, a programming language is a set of commands, having some specific rules, that a programmer can use to interact with a computer. Mind that it is just a bridge between human language and machine language and needs to be converted to binary to be finally be understood by a machine.

2.what is compiler and interpreter?

After we write our desired instructions for the machine in any programming language that needs to be translated to machine-readable form. That is done by compiler/interpreter.
Compiler: It translates all the instructions written at once before the program runs.
Interpreter: Translates the program one statement at a time.

3.what is an IDE?

Now you know what a programming language is and what happens after you write your code. But where are you going to write your code?
IDE stands for an integrated development environment. It is software that consists of a text editor(where you can write the code), compilers, debuggers, etc. Alternatively, you can do it all on your own, use a standalone text-editor ex: notepad, sublime, and compile it to generate a binary file and finally run it, obviously after you get familiar to it.
Using an IDE can save a lot of time not just because it does all that for you but it also has tons of other cool features like auto-complete etc that can make your life a lot easier.

4.Careers in programming.

Let’s look at the different areas one can work in:
a. Web Dev
b. Android app dev
c. ios app dev
d. Machine learning & AI
e. Data science
f. Game develpment
g. Network and security
many more…

5.Choosing a language.

you know the basics, you might also have a preferred area you want to work in. But.. and this one is a big one before you jump into any of the above-mentioned fields you need to develop the problem-solving skills using any one of the programming languages. After you become comfortable with the language then you go on to learn data structures and algorithms and alongside that, you can start learning about the field you are interested in. Becoming comfortable in using a language is important.
So which language you start with? c/c++, Java, Python are the most preferred ones to start. Among the three Python is the easiest. But I would recommend starting with C/C++ or Java for one simple reason. The fact that Python is easy to learn may hurt you when you try to learn another language.
To read more why you should go for C/C++ first I recommend reading this article by educative

6.googling.

I know you all are very familiar with this term but I want to emphasize this one because Google is the best friend of a programmer. It doesn’t matter you have just started coding or you have been doing it for years, you are going to encounter errors that you don’t understand. Being able to convert the error to searchable terms is an important skill and as a programmer, you cannot live without it. So whenever you see an error you don’t understand or you wanna do something and have no idea how to do it, do not run to a teacher or a senior google it first and I would say in the starting days take it as a challenge to find the answer on google because u r probably not going to face anything no one has seen before so you will find it for sure. In this way, you will develop the attitude of not giving up, being more patient, and be better at googling stuff.

7.what is debugging.

It is the process of identifying and removing errors from computer hardware or software. It is nothing fancy, may it be software or hardware (I’m an electronics guy so I know :)) , things might not work as u want them to be. Sometimes your code will run without any error but it is not doing what you intended it to do, that’s commonly referred to as bug in software development, and the process of removing is debugging. It can be done by just going through the code and trying to figure out what’s going on(referred to as dry run) or using specialized tools called a debugger.

8.Helpful Resources

Stack Overflow is a website where programmers can get free help with their code. If you get stuck and want to ask a question, search for it first. If you can’t find your question, create an account, and post the question yourself!
There are a ton of educational sites where you can find programming tutorials. Some of my favorites are Codecademy, Udemy, Udacity, Team Treehouse, and Khan Academy.

Before you go.

All the topics I mentioned can have their own blogs to explain in detail which I would surely write in the future. For now, just knowing what they are will be fine.

LEAVE A COMMENT

If you like the post leave a comment and share it.

This Post Has 4 Comments

  1. Harshit Singh

    Very informative blog and was written in a beautiful manner. Looking forward for more such fun blogs and learning experiences.

  2. Aditya Raj

    It’s a very informative blog and was written very beautiful manner. And also very easy for learning the beginners like me.

Leave a Reply