I have taught programming over the years and have seen students who start learning about frameworks and data science without learning about programming or the programming language used to create the framework or data models.

The following are concepts common among all programming languages and are what beginners need to know and understand to code and write programming logic effectively.

The fundamental concepts of programming are:


A variable is a named unit of data that is assigned a value. If the value is modified, the name does not change. Variables are used with most programming languages and come in many forms, defined by the script or software programmer.

Some variables are mutable, meaning their values can change. Other variables are immutable, meaning their value, once assigned, cannot be deleted or altered.

If a variable's value must conform to a specific data type, it is called a typed variable.

A variable can change as a program runs, or change to fit current happenings, for example, when writing a program that has “today’s date’, the variable may be named date and it changes based on the day the program is used.

A variable can be of any of the data types below.

Data Types and Data Structures

A data type is a classification of data that tells the compiler or interpreter how the programmer intends to use the data. Most programming languages support various types of data, including integer and float - numbers

String - alphanumeric 

Boolean - true or false

A variable can be defined to hold any of these data types.

A data structure is a storage that is used to store and organize data. It is a way of arranging data on a computer so that it can be accessed and updated efficiently.

A data structure is not only used for organizing the data. It is also used for processing, retrieving, and storing data. Different basic and advanced types of data structures are used in almost every program or software system that has been developed. So we must have good knowledge of data structures. 

Some data structure examples include 

  • Array
  • Linked List
  • Stack
  • Queue
  • Binary Tree
  • Binary Search Tree
  • Heap
  • Hashing


Syntax refers to the rules that define the structure of a language. Syntax in computer programming means the rules that control the structure of the symbols, indentation, punctuation, and words of a programming language.

Flow Control Structures

A control structure is like a block of programming that analyses variables and chooses a direction in which to go based on given parameters. The term flow control details the direction the program takes (which way program control "flows"). Hence it is the basic decision-making process in computing; It is a prediction.

Flow control structures in programming include 

The IF-then-ELSE statement 

While loops and Do_While loops 

FOR Loops 

flow control structure

Functional Programming

Functions are containers that hold logics that take in a set of inputs and return a processed 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.

Object-Oriented Programming

Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic. An object can be defined as a data field that has unique attributes and behavior.

OOP focuses on the objects that developers want to manipulate rather than the logic required to manipulate them. This programming approach is well-suited for programs that are large, complex, and actively updated or maintained. This includes programs for manufacturing and design, as well as mobile applications; for example, OOP can be used for manufacturing system simulation software.


Debugging is the process of finding and fixing errors or bugs in the source code of any software. When software does not work as expected, computer programmers study the code to determine why any errors occurred.

Programmers spend a lot of time debugging and running their coding to be sure that it does what it was written to do without breaking anything else. They also write test cases to check that codes give the expected output.

IDEs and Coding Environments

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.

Also, note that some programming languages are interpreted while others are compiled. A compiled language is converted into machine code so that the processor can execute it. An interpreted language is a language in which the implementations execute instructions directly without earlier compiling a program into machine language. The compiled programs run faster than interpreted programs. C++, and C# are examples of compiled languages while JavaScript and Python are interpreted languages.

Do you want your kids to learn to code and create applications under a vetted mentor/instructor? Visit codegummy.com/course to see our courses or send us a message to start today.