Click to edit Master title style
Introduction to
Computer
Programming
1
Click to edit
LEARNING OUTCOMES
Master title style
1. Summarize the history of programming languages
2. Apply the steps in the program planning and development
3. Draw a flowchart and write pseudocode to design a complete
program
4. Interpret different flowchart symbols
5. Explain how a program solution using the different program design
tools is transformed into a program code
2 2
Click to edit Master title style
History of Computer
Programming
3 3
Click to
What is Programming?
edit Master title style
• The process of developing and implementing various sets of instructions to
enable a computer to do a certain task.
• The act or process of planning or writing a program.
4 4
Click to
What is Program?
edit Master title style
A program is written as a series of human understandable computer
instructions that can be read by a compiler and linker.
5 5
Click to edit
Computer Programming
Master title style
Computer programming (often shortened to programming) is a process
that leads from an original formulation of a computing problem to executable
computer programs. Programming involves activities such as analysis,
developing understanding, generating algorithms, verification of requirements of
algorithms including their correctness and resources consumption, and
implementation (commonly referred to as coding) of algorithms in a target
programming language. 6 6
Click to edit
Computer Programming
Master title style
Computer programming is the process of writing instructions that get
executed by computers. The instructions, also known as code, are written in a
programming language which the computer can understand and use to perform
a task or solve a problem
7 7
Click to edit Master title style
Programmers
Computer programmers are those who write computer software. Their jobs
usually involve:
• Coding
• Debugging
• Documentation
• Integration
8 8
Click to edit Master title style
Programmers
Computer programmers are those who write computer software. Their jobs
usually involve:
• Maintenance
• Requirement analysis
• Software Architecture
• Software Testing
• Specification
9 9
Click to of
History edit
Programming
Master titleLanguages
style
The first computer programming language was created in 1883, when Ada Lovelace
worked with Charles Babbage on his early mechanical computer, the Analytical Engine. While
Babbage was concerned with simply computing numbers, Lovelace saw that the numbers the
computer worked with could represent something other than just amount of things, and wrote an
algorithm for the Analytical Engine. Because of her contribution, Lovelace is credited with
creating the first computer programming language.
1010
Click to of
History edit
Programming
Master titleLanguages
style
1883: Algorithm for the Analytical Engine
Created by Ada Lovelace for Charles Babbage’s Analytical Engine to
compute Bernoulli numbers, it’s considered to be the first computer
programming language.
1111
Click to of
History edit
Programming
Master titleLanguages
style
1949: Assembly Language
First widely used in the Electronic Delay Storage Automatic Calculator,
assembly language is a type of low-level computer programming language that
simplifies the language of machine code, the specific instructions needed to tell
the computer what to do.
1212
Click to of
History edit
Programming
Master titleLanguages
style
1952: Autocode
Autocode was a generic term for a family of early computer programming
languages. The first was developed by Alick Glennie for the Mark 1 computer at
the University of Manchester in the U.K. some consider autocue to be the first
compiled programming language, meaning that it can be translated directly into
machine code using a program called a compiler.
1313
Click to of
History edit
Programming
Master titleLanguages
style
1957: Fortran
A computer programming language created by John Backus for
complicated scientific, mathematical, and statistical work, Fortran stands for
Formula Translation. It is one of the oldest computer programming languages
still used today.
1414
Click to of
History edit
Programming
Master titleLanguages
style
1958: Algol
Created by a committee for scientific use, Algol stands for Algorithmic
Language, Algol served as a starting point in the development of languages
such as Pascal, C, C++ and Java.
1515
Click to of
History edit
Programming
Master titleLanguages
style
1959: COBOL
Created by Dr. Grace Murray Hopper as programming language that
could run on all brands and types of computers, COBOL stands for Common
Business Oriented Language. It is used in ATMs, credit card processing,
telephone systems, hospital and government computers, automotive systems
and traffic signals. In the movie “The Terminator”, pieces of COBOL source code
1616
were used in the Terminator’s vision display.
Click to of
History edit
Programming
Master titleLanguages
style
1959: LISP
Created by John McCarthy of MIT, LISP is still in use. It stands for List
Processing Language. It was originally created for artificial intelligence research
but today can be used in situations where Ruby or Python are used.
1717
Click to of
History edit
Programming
Master titleLanguages
style
1964: BASIC
Developed by John G. Kennedy and Thomas E. Kurt at Dartmouth
College so that students who did not have a strong technical or mathematical
understanding could still use computers, it stands for Beginner’s All-purpose
Symbolic Instruction Code. A modified version of BASIC was written by Bill
Gates and Paul Allen. This was to become the first Microsoft product.
1818
Click to of
History edit
Programming
Master titleLanguages
style
1970: Pascal
Developed by Niklaus Wirth, Pascal was named in honor of the French
mathematician, physicist, and philosopher Blaise Pascal. It is easy to learn and
was originally created as a tool for teaching computer programming. Pascal was
the main language used for software development in Apple’s early years.
1919
Click to of
History edit
Programming
Master titleLanguages
style
1972: Smalltak
Developed by Alan Kay, Adele Goldberg and Dan Ingalls at Xerox Palo
Alto Research Center, Smalltalk allowed computer programmers to modify code
on the fly and also introduced other aspects now present in common computer
programming languages including Python, Java and Ruby.
2020
Click to of
History edit
Programming
Master titleLanguages
style
1972: C
Developed by Dennis Ritchie at Bell Labs, C is considered by many to be
the first high-level language. A high-level computer programming language is
closer to human language and more removed from the machine code. C was
create so that an operating system called Unix could be used on many different
types of computers. It has influenced many other languages including Ruby, C#,
2121
Go, Java, JavaScript, Perl, PHP and Python.
Click to of
History edit
Programming
Master titleLanguages
style
1972: SQL
SQL was developed by Donald D. Chamberlin and Raymond F. Boyce at
IBM. SQL stands Structured Query Language. It is used for viewing and
changing information that is stored in database. SQL use command sentences
called queries to add, update, remove, or view data.
2222
Click to of
History edit
Programming
Master titleLanguages
style
1978: MATLAB
Developed by Cleve Moler. MATLAB stands for Matrix Laboratory. It is
one of the best programming languages for writing mathematical programs and
is mainly used in mathematics, research and education. It can also be used to
create two- and three-dimensional graphics.
2323
Click to of
History edit
Programming
Master titleLanguages
style
1983: Objective C
Created by Brad Cox and Tom Love, Objective-C is the main
programming language used when writing software for macOS and iOS, Apple’s
operating systems.
2424
Click to of
History edit
Programming
Master titleLanguages
style
1983: C++
C++ is an extension of C language and was developed by Bjarne
Stroustrup. It is one of the most widely used languages in the world. C++ is used
in game engines and high-performance software like Adobe Photoshop. Most
packaged software is still written in C++.
2525
Click to of
History edit
Programming
Master titleLanguages
style
1987: Perl
Perl was originally developed by Larry Wall in 1987 as a scripting
language designed for text editing. Its purpose was to make report processing
easier. It is now widely used for many purpose, including Linux systems
administration, Web development, and network programming.
2626
Click to of
History edit
Programming
Master titleLanguages
style
1990: Haskell
Named after Haskell Brooks Curry, an American logician and
mathematician. Haskell is called a purely functional computer programming
language, which basically means that it is mostly mathematical. It is used by
many industries, especially those that deal with complicated calculations,
records, and number-crunching.
2727
Click to of
History edit
Programming
Master titleLanguages
style
1991: Python
Designed by Guido Van Rossum, Python is easier to read and requires
fewer lines of code than many other programming languages. It was named after
the British comedy group Monty Python. Popular sites like Instagram use
frameworks that are written in Python.
2828
Click to of
History edit
Programming
Master titleLanguages
style
1991: Visual Basic
Developed by Microsoft, Visual Basic allows programmers to choose and
change pre-selected chunks of code in a drag-and-drop fashion through a
graphical user interface (GUI).
2929
Click to of
History edit
Programming
Master titleLanguages
style
1993: R
Developed by Ross Ihaka and Robert Gentleman at the University of
Auckland, New Zealand, R is named after the first names of the first two authors.
It is mostly used by statisticians and those performing different types of data
analysis.
3030
Click to of
History edit
Programming
Master titleLanguages
style
1995: Java
Originally called Oak, Java was developed by Sun Microsystems. It was
intended for cable boxes and hand-held devices but was later enhanced so it
could be used to deliver information on the World Wide Web. Java is
everywhere, from computers to smartphones to parking meters.
3131
Click to of
History edit
Programming
Master titleLanguages
style
1995: PHP
Created by Rasmus Lerdorf, PHP is used mostly for Web development
and is usually run on web servers. It originally stood for Personal Home Page,
as it was used by Lerdorf to manage his own online information. PHP is now
widely used to build websites and blogs. WordPress, a popular website creation
tool, is written using PHP. PHP now stands for Hypertext Preprocessor.
3232
Click to of
History edit
Programming
Master titleLanguages
style
1995: Ruby
Ruby was created by Yukihiro “Matz” Matsumoto, who combined parts of
his favorite languages to form a new general-purpose programming language
that can perform many programming tasks. It is popular in web application
development. Ruby code executes more slowly, but it allows for computer
programmers to quickly put together and run a program.
3333
Click to of
History edit
Programming
Master titleLanguages
style
1995: JavaScript
Created in just 10 days by Brendan Eich, this language is mostly used to
enhance many web browser interactions. Almost every major website uses
Javascript.
3434
Click to of
History edit
Programming
Master titleLanguages
style
2000: C#
Developed by Microsoft with the goal of combining the computing ability
of C++ with the simplicity of Visual Basic, C# is based on C++ and is similar to
Java in many aspects. It is used in almost all Microsoft products and is primarily
used for developing desktop applications.
3535
Click to of
History edit
Programming
Master titleLanguages
style
2003: Scala
Created by Martin Odersk. Scala is a programming language that
combines functional programming, which is mathematical, with object-oriented
programming, which is organized around data that controls access to code. Its
compatibility with Java makes it helpful in Android development.
3636
Click to of
History edit
Programming
Master titleLanguages
style
2003: Groovy
Developed by James Strachan and Bob McWhirter, Groovy is derived
from Java and improves the productivity of developers because it is easy to
learn and concise.
3737
Click to of
History edit
Programming
Master titleLanguages
style
2009: Go
Go was developed by Google to address problems that can occur in large
software systems. Since computer and technology use is much different today
than it was when languages such as C++, Java, and Python were introduced
and put to use, problems arose when huge computer systems became common.
Go was intended to improve the working environment for programmers so they
3838
could write, read, and maintain large software systems more efficiently.
Click to of
History edit
Programming
Master titleLanguages
style
2014: Swift
Developed by Apple as replacement for C, C++ and Objective-C, Swift is
supposed to be easier to use and allows less room for mistakes. It is versatile
and can be used for desktop and mobile apps, and cloud services.
3939
Click to edit Master title style
Most programming languages were inspired by or built upon concepts
from previous computer programming languages. Today, while older
programming languages still serve as a strong foundation for new ones, newer
programming languages make programmers work simpler.
4040
Click to edit Master title style
Generations of Computer
Programming Languages
4141
Click to edit Master title style
Programming languages have been developed over the year in a phased
manner. Each phase of developed has made the programming language more
user-friendly, easier to use and more powerful. Each phase of improved made in
the development of the programming languages can be referred to as a
generation which are grouped into five different generations in terms of their
performance and robustness.
4242
Click Generation
First to edit Master
Language
title style
(Machine Language)
Machine code, also known as machine language, is the elemental language of
computers. It is read by the computer's central processing unit (CPU), is composed of
digital binary numbers and looks like a very long sequence of zeros and ones. It is
difficult to understand, write, as well as modify. Because how do you understand when
an instruction is supposed to be written like “00011100101010”. The whole process of
writing, updating codes are also time consuming since it requires a lot of calculations to
write anything in the form of binary.
4343
Click to editof
Advantages Master
First-Generation
title style Language
• They are translation free and can be directly executed by the computers.
• The programs written in these languages are executed very speedily and
efficiently by the CPU of the computer system.
• The programs written in these languages utilize the memory in an efficient
manner because it is possible to keep track of each bit of data.
4444
Click to edit Master
Disadvantages of First-Generation
title style Language
• It is not user-friendly language.
• The binary code is very difficult to learn and use.
• Difficult to understand and modify the code.
4545
Click to edit Master
First-Generation Computers
title style
4646
Click to Generation
Second edit Master Language
title style(Assembly Language)
The second-generation programming language also belongs to the
category of low-level programming language. Assembly language contains
human-readable notations that can be further converted to machine language
using an assembler. Programmers write the code or instructions using symbolic
codes that are meaningful abbreviations of mnemonics. The written instructions
are executed by converting all mnemonics into binary form with the help of
translator known as the assembler. 4747
Click to editof
Advantages Master
Second
title
Generation
style Language
• It is easier to understand if compared to machine language.
• Modifications are easy.
• Correction and location of errors are easy.
4848
Click to edit Master
Disadvantages of Second
title style
Generation Language
• Assembler is required.
• This language is architecture /machine-dependent, with a different instruction
set for different machines.
4949
Click to
Third Generation
edit Master
Language
title style
(High-Level Languages)
The third generation is also called procedural language. It consists of the
use of a series of English-like words that humans can understand easily to write
instructions. It’s also called High-Level Programming Language. For execution, a
program in this language needs to be translated into machine language using a
Compiler/ Interpreter. Examples of this type of language are C, PASCAL,
FORTRAN, COBOL, etc.
5050
Click to editof
Advantages Master
Thirdtitle
Generation
style Language
• Use of English-like words makes it a human-understandable language.
• Lesser number of lines of code as compared to the first two generation
languages.
• Same code can be copied to another machine and executed by using
compiler-specific to that machine.
5151
Click to edit Master
Disadvantages of Third
titleGeneration
style Language
• Compiler or interpreter is needed.
• Different compilers are needed for different machines.
5252
Click toGeneration
Fourth edit MasterLanguage
title style(Very High-Level Languages)
The languages of this generation were considered as very high-level
programming languages. The fourth-generation programming languages were
developed to reduce the time and effort to develop different types of software
applications. Some of the very high-level programming languages are C++, Java
and Python.
5353
Click to editof
Advantages Master
Fourth
title
Generation
style Language
• Easy to understand and learn.
• Less time is required for application creation.
• It is less prone to errors.
5454
Click to edit Master
Disadvantages of Fourth
title Generation
style Language
• Memory consumption is high.
• Has poor control over Hardware.
• Less flexible.
5555
Click Generation
Fifth to edit Master
Language
title style
(Artificial Intelligence Language)
The programming languages of this generation mainly focus on constraint
programming. The major fields in which the fifth-generation programming
language are employed in Artificial Intelligence and Artificial Neural Networks.
5656
Click to editof
Advantages Master
Fifth title
Generation
style Language
• Machines can make decisions.
• Programmer effort reduces to solve a problem.
5757
Click to edit Master
Disadvantages of Fifth
title
Generation
style Language
• Complex and long code.
• More resources are required & they are expensive too.
5858
Click to edit Master
SUPPLEMENTARY LEARNING
title style
RESOURCES / REFERENCES:
Chancellor, C. (2021). Fundamentals of Programming Languages, New York: Larsen & Keller
Goodwin, B. (2020). Programming Languages: A Complete Guide. New York: Larsen & Keller
Generation of programming languages. (2022, May 16). GeeksforGeeks.
https://www.geeksforgeeks.org/generation-programming-languages/
What is machine code (machine language)? | Definition from TechTarget. (2018, February 22).
WhatIs.com. https://www.techtarget.com/whatis/definition/machine-code-machine-language
5959