Introduction To Computer Programming

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 59

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

You might also like