The fundamental concepts of programming form the foundation upon which all software development is built. These concepts are universal across programming languages and frameworks.
Irrespective of the programming language we choose to learn, the basic concepts of programming are similar across languages. Some of these concepts include:
Variable declaration
Basic syntax
Data types and structures
Flow control structures
Iteration (Loops)
Functional programming
Debugging
We will use python to see examples for each concept.
Variables are containers for storing data values, a memory location for a data type. Variables are created using a declaration or keyword that varies across languages.
Variable names are usually alphanumeric, that is, they contain a-z and 0-9. They can also include special characters like underscore or the dollar sign.
Variables can hold values of any data type supported by the programming language. This value may change during program execution.
x = 5message = "Hello, world!"
Every programming language has its syntax, and we must learn the fundamental syntax of the language you are learning.
Syntax refers to the set of rules that define the structure of a language. It is almost impossible to read or understand a programming language without its syntax.
For example, let us see the the syntax to print a simple Hello, world!
# This is a commentprint("Hello, world!")
Data types refer to the classification of data. The most common data types include:
String
Boolean (true or false)
Numbers, which includes integers (whole numbers from 1) and floating-point numbers (decimal-base)
Characters (includes single alphabets or numbers)
Arrays (a collection of data, usually of the same data type)
# Integernum = 5# Floating-point numbernum1 = 3.14# Stringname = "John"# Listfruits = ["Mango", "Banana", "Strawberry"]# Tuplecoordinates = (10, 40)# Dictionaryperson = {"name": "Keith", "age": 25}
A Data Structure is a collection of data values. These structures include operations that can be applied to that data.Data structures are important in computer programming for organizing, managing, and storing data quickly and efficiently.
Some common types of data structures include:
Stacks
Heaps
Trees
Linked lists
Queues
Arrays
Tables
Graphs
Flow Control Structures are the fundamental components of computer programs. They are commands that allow a program to “decide” to take one direction or another.
There are three basic types of control structures: sequential, selection, and iteration.
The most basic control flow is sequential control flow. It involves the execution of code statements one after the other. A real-world example is following a cooking recipe.
The basic premise of selection flow control is, the computer decides what action to perform based on the result of a test or condition equalling true or false.
Let's see a coding example:
x = 5if x < 5:print("x is less than 5")else:print("x greater than or equal to 5")
A loop is a programming structure that allows a statement or block of code to be
Let's see a coding example:
for i in range(10):print("Iteration", i+1)
Functions are containers that take in a set of inputs and return an output. It is not required for a function to return a value. Pure functions will always give the same result for the same set of inputs.
Functional Programming is a straightforward method of building software that involves using pure functions. This method eliminates the occurrence of data mutation or side effects.
Let's see an example:
# Define a list of numbersnumbers = [2,5,6,8,9]# Define a function to calculate cube of a numberdef cube(x):return x * x * x# Initialize an empty list to store squared numberscube_of_numbers = []# Use a loop to apply the cube function to each element in the numbers listfor num in numbers:cube_of_numbers.append(cube(num))# Print the squared numbersprint(cube_of_numbers)
Object-Oriented Programming (OOP) is a programming concept that revolves around ‘objects’ and ‘methods’.
There are four principles of OOP:
Debugging is a crucial skill. It involves detecting and removing existing and potential errors, defects, or ‘loopholes’ in one’s code.
IDE stands for Integrated Development Environment – they are applications programmers use to write code and organize text groups. It increases a programmer’s efficiency and productivity, and has added features like code completion, code compilation, debugging, syntax highlighting, etc.
Some common examples of IDE’s are:
Always remember to write clean, readable codes.