Computer Programming
Overview
Career Options in programming
Software developer
Data Scientist
System Auditor
Software Project managers
System Administrators
Software Quality Assurance Engineer
Among others
Preamble
Most people are familiar with the existing tasks the
computer can perform.
You will learn how to command computers to perform
those tasks. i.e software-instructions you write to
command computers to perform actions and make
decisions that controls computer hardware.
Programming Concepts
Program-it is a sequence of instructions, statements, and series of codes
that instruct a computer to perform certain tasks.
Programmer-this is a person that writes the programs to the computer
through orderly set of actions.
Programming-This is the act of writing, coding, testing and running a series
of instructions to perform a certain task.
Programming language-This is an organized collection of symbols with
syntax and semantics to prepare computer programs.
Modules-smaller programs units, also known as subsets of a program
Programming Paradigms
There are three categories of programming languages:
Machine Language: This is the only language that the computer
understands. It consists of a set of numbers i.e 0’s and 1’s
Assembly Language: it is an upgrade to machine language, it uses
keywords and symbols to represent instructions. Assembly language needs
to be translated to machine language.
High-level Languages: Modern programming languages. They are machine
independent. Their syntax is much easier to use than the previous two.
They include; C, C#, visual Basic, Java, Python
Characteristics of High-level languages
Clarity of the source code-The ability of the code to be readable,
understandable and also reflect the logical structure of the program.
Maintainability-Ability to modify a program in future
Portability-The ability of the program to be transferred from one
hardware/software environment to another e.g from windows to Unix or
Linux system or from one machine to another
Reliability-This is the ability of the language to perform its intended function
satisfactorily throughout their expected time of the process.
Generality/ Universal-Features of a programming language should remain
constant e.g when you want to print to the screen, we use printing function
which is used all through in programming.
Programming Paradigms
A programming paradigm is an approach to solving programming
problems
A programming paradigm may consist of many programming languages.
Programming paradigms are the result of people’s ideas about how
programs should be constructed
A programming language can belong to more than one paradigm
They include: Procedural/sequential, Object-oriented, Event-driven,
Functional, Scripting, modular
Programming Paradigms
Imperative/procedural/sequential paradigm
Designs a program that follows a series of instructions in a sequential
manner.
i.e it follows top-bottom approach in program execution.
Example C programming
Functional Programming:
In this paradigm, a program consists of functions and uses functions in a
similar way as used in mathematics
Execution involves functions calling one another.
Example FOTRAN
Programming Paradigms
Object-Oriented Programming
This paradigm uses classes and objects.
It has other concepts such as inheritance, polymorphism, encapsulation,
etc. Example, Java, C++, Python, Visual Basic
Event-driven Programming
Programming that is based on user events such as clicking a button,
hoovering a mouse, etc. These user actions are called events
Mainly uses a Graphical user Interface (GUI)
Example; Visual Basic programming, Java
Programming Paradigms
Scripting:
Scripting is a very “high” level of programming which glues together different
programs.
Scripts are written in presence of core programming language, though they are
different from the core programming language
They are mostly used in website development and mobile application
development. Example: JavaScript is used to make a website to be responsive.
Modular:
Divides the program into sections known as modules, each module is
developed independent of one another then the modules are integrated to
create the final program.
Majority of programming especially event-driven and OOP apply modular
approach
THE END