Basics of Computer Programming For Beginners
Be it any programming language in which you want to grow your career, It’s very important to learn the fundamentals first. Before having a good command over the basic concepts of programming, you cannot imagine the growth in that particular career. Hence, this article will talk about all the basic concepts of programming.
Also, if you’re a beginner aiming to be a software engineer? Then you have landed on the right article. This article is specially designed to give you a glimpse into programming and take a deep dive into the fundamental of programming that most neglect but yet most important to know.
Topics covered in this article:
- What is a Computer?
- What is a Program?
- Variables and Syntax
- Data Types
- Flow Control Structures
- Why do we need to Learn Any Programming Language?
- Programming Methods
- What is an Algorithm?
- Most Popular Programming Language
What is a Computer?
A computer is an electronic device that will take input from the user, process it, and give results or respond as per the user. The computer is a programmable computational device.
The components of a computer are:
- Input Unit
- Central Processing Unit(CPU)
- Output Unit
CPU is known as the brain of the computer system. All the operations within the system are supervised & controlled by the CPU. It interprets and coordinates the instructions. The CPU control all internal & external devices, perform arithmetic and logical operation, controls memory usage, and control the sequence of operation.
Performing all these operations the CPU has 3 sub-units:
- Arithmetic and Logical Unit
- Control Unit
- Memory Unit
By this point, you will know a bit about computers and their components. Also read Basics of Computer and its Operations
Now moving on to the next topic.
What is a Program?
Suppose, I give you 10 numbers and tell you to find the average of the given 10 numbers, then how do you find the average? You add all those numbers and then divide the sum of the numbers by the total numbers given.
Easy task yeah. Now, if 10 sets and each set contain 10 numbers then what would you do?
For this problem, there are two solutions to solve the problem.
- You take one set, add each number then divide it by the total numbers. If you are thinking to solve this problem by this procedure then it is right to solve by this but if you are going to be a software engineer then solving the problem through this approach is not preferred.
- You can write a program to solve the problem. Just you need to write a program in which the computer takes input from the user and then it uses a procedure to find the average.
I have used the word procedure many times, what does it mean?
We define a procedure by giving steps one by one to our computer system and we call it a program. Like, taking numbers from a user, adding them, and dividing the sum by the total number is a procedure.
In short, a program is a set of instructions.
Related Article: Programming Language Generations
Variables and Syntax
Variables are sort of containers for storing data values, and it is also memory location for the data type. There are certain rules that need to be followed before declaring them. Variables are generally names allocated to values. The names are alphanumeric, i.e., they have a-z and 0-9. Also, you can use special characters while declaring a variable such as $ or _.
While writing a program be it for a small operation (addition, multiplication) or building an application, you need to require variables. The variable declared for a value should start with an alphabet and later may include numbers or special characters.
Syntax is a set of rules that defines the structure of a language. Every programming language follows a different syntax. A programming language isn’t understandable without its syntax. Syntax helps the computer to read and understand the code. It is like giving instructions to the code.
int a =10;
here a is variable
int is data type
10 is value
Data type is a classification specifying the type of value stored in a variable. It also indicates what type of operation can be applied to it. Data Types are generally classified into two types:
- Primitive – It specifies the size and type of variable. There are eight primitive types
- int (4 bytes)
- short (2 bytes)
- long (8 bytes)
- float (4 bytes)
- double (8 bytes)
- boolean (1 byte)
- char (2 bytes)
- Non-Primitive – Non-primitive types are used to call methods to perform operations.
- String (8 bytes)
- Class (empty class – 1 byte)
Flow Control Structures
Flow Control Structures are the ways to specify the flow of controls in a program. A program is well clear when control structures are used in it. Its main purpose is to analyze the program. They are 3 types:
- Sequential – Sequential is the execution of code line by line or one after the other. For example, cooking an item.
- Selection – Selection is deciding whether the given condition is true or false and on the basis of which it produces the final result.
- Iteration (Loops) – A loop is a structure in which a statement is repeated again and again until the given condition is satisfied. They are of three types –
To read more: Flow Control Structures
Why do we need to Learn Any Programming Language?
A computer or any programmable device understands machine language because the computer works on electricity and electricity works on binary numbers(0 and 1). We humans only understand natural language. To fulfill this gap between humans and computers programming language is introduced.
What happens if either human understands machine language or a machine understands natural language?
If that happens then we don’t need to know any programming language to give instructions to machines and anyone can be a programmer if that situation happens.
Also Read: Which Programming Language Should I Choose as a Beginner?
There are three programming methodologies so far mostly used.
- Monolithic Programming
- Modular/ Procedural Programming
- Object Oriented Programming
Monolithic Programming: It was practiced when programming was just introduced. In monolithic programming, everything from code, data, and instruction, is in a single file which makes it difficult to review the code. We are not reusing the code.
Modular/ Procedural Programming: Procedural programming helps to divide the work among a team and we also use function so that it allows for to reuse of the code. Data and function are used separately.
Object Oriented Programming: OOPs are widely used in industries, we take data and functions together and created them as a class.
In all these programming methods codes remain the same, and the logic remains the same but one thing changes is how you organize your program code.
What is an Algorithm?
The algorithm is a step-by-step procedure for solving computational problems. Programs mean the same, is it?
Every programming language follows a specific syntax that allows us to write code so that it is easily understandable to the machine. Whereas, in the algorithm, we write pseudocode. Pseudocode is an informal language that helps programmers develop algorithms. It is neither in English nor in code.
Let’s see pseudocode for the algorithm of an average of numbers.
sum == 0, n= total number of elements
for each element num in list
sum = sum + num
average = sum/x
Top Most Popular Programming Languages
Learning a programming language before learning any technology is a must, hence, it’s very important to have full command of any one programming language. Choosing any one programming language instead of going for many is better. Try working on basic problems using different programming languages, and whichever seems easy to you, you can prefer working on that.
If you are planning to learn to program then you might start with any one of the above.
If you’re a beginner and want to enter the world of programming, this article covers everything you need to know as a beginner in programming. Start from the basics and slowly dive deep into the fundamentals and advanced concepts as well. Get ready to start this programming journey and try to explore as much as you can.
Please Login to comment...