0% found this document useful (0 votes)
26 views

1.01 - Understand The Evolution of Computers and Computer Programming Languages - PowerPoint

The document discusses the evolution of computers from mechanical devices like the Pascaline in 1642 to modern computers. It outlines the development of early electromechanical devices and the four generations of computers. Key developments included Babbage's Analytical Engine, the stored program concept of Turing and von Neumann, the transistor, integrated circuits, and the microprocessor. Programming languages also evolved from low-level machine code and assembly to high-level languages like Visual Basic.

Uploaded by

acthor201
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

1.01 - Understand The Evolution of Computers and Computer Programming Languages - PowerPoint

The document discusses the evolution of computers from mechanical devices like the Pascaline in 1642 to modern computers. It outlines the development of early electromechanical devices and the four generations of computers. Key developments included Babbage's Analytical Engine, the stored program concept of Turing and von Neumann, the transistor, integrated circuits, and the microprocessor. Programming languages also evolved from low-level machine code and assembly to high-level languages like Visual Basic.

Uploaded by

acthor201
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 36

1.

01 – Evolution of Computers

COMPUTER PROGRAMMING I
Mechanical Devices

Pascaline (1642)
 Set of gears, similar to clock
 Only performed addition

Stepped Reckoner
 Gottfried Leibniz
 Cylindrical wheel with movable
carriage
 Add, subtract, multiply, divide,
square roots
 Jammed/malfunctioned
Mechanical Devices

Difference Machine (1822)


 Charles Babbage
 Produce table of numbers used
by ships’ navigators.
 Never built

Analytical Machine (1833)


 Perform variety of calculations
by following a set of instructions
(or program) on punched cards
 Never built
 Used as a model for modern computer
Mechanical Devices

Babbage’s chief collaborator on the Analytical


Machine was Ada Byron.

Ada Byron
 Sponsor of Analytical Machine
 One of first people to realize its
power and significance
 Often called the first programmer
because she wrote a program based on the design of the
Analytical Machine.
Electro-Mechanical Devices

Hollerith’s Tabulating Machine


 Herman Hollerith – used electricity
 For US Census
 Holes representing information to
be tabulated were punched in cards
 Successful
Mark I (1944)
 IBM & Harvard
 Mechanical telephone replay switches to store information and
accepted data on punch cards.
 Highly sophisticated calculator - unreliable
The Mark 1
First Generation Computers

Atanasoff-Berry Computer (ABC)


 Built b/w 1939-1942
 Used binary number system
 Vacuum tubes
 Stored info by electronically burning holes in
sheets of paper.
ENIAC
 Electronic Numerical Integration and Calculator
 1943, 30 tons, 1500 sq ft., 17,000+ vacuum tubes
 Secret military project during WWII to calculate
trajectory of artillery shells.
 Solve a problem in 20 min that would have take
a team of mathematicians three days to solve.
What is a Computer?

An electronic machine that accepts data, processes it


according to instructions, and provides the results as
new data.
The Stored Program Computer

Alan Turing & John von Neumann


 Mathematicians with the idea of stored programs
Turing
 Developed idea of “universal machine”
 Perform many different tasks by changing a program (list of
instructions)
Von Neumann
 Presented idea of stored program concept
 The stored program computer would store computer
instructions in a CPU.
The Stored Program Computer

Von Neumann, Mauchly and Eckert designed & built


the EDVAC (Electronic Discrete Variable Automatic
Computer) and the EDSAC (Electronic Delay Storage
Automatic Computer)
 Designed to solve many
problems by simply entering
new instructions stored on
paper tape.
 Machine language (1’s & 0’s)
The Stored Program Computer

Mauchly & Eckert built 3rd computer (UNIVAC -


UNIVersal Automatic Computer)
 1st computer language – C-10 (developed by Betty Holberton)
 Holberton also developed first keyboard and numeric keypad
 First UNIVAC sold to US Census Bureau in 1951
Second Generation Computers

1947, Bell Lab (Shockley, Bardeen, Brittain)


 Invented the transistor
 Replaced many vacuum tubes
 Less expensive, increased
calculating speeds

Model 650 (early 1960s)


 IBM introduced first
medium-sized
computer (Model 650)
 Still expensive
Second Generation Computers

Change in way data was stored

Magnetic tape and high speed


reel-to-reel tape machines
replaced punched cards
Magnetic tape gave computers
ability to read (access) and write
(store) data quickly and reliably
Third Generation Computers

Integrated circuits (ICs) – replaced transistors


 Kilby and Noyce – working independently developed the IC
(chip)

ICs
 Silicon wafers with intricate circuits etched in their surfaces
and then coated with a metallic oxide that fills in the etched
circuit patterns

IBM System 360 (1964)


 One of first comptuers to use IC
Mainframes

A large computer that is usually


used for multi-user applications

IBM System 360 one of first


mainframes

Used terminals to communicate


with mainframe
Fourth Generation Computer

Microprocessor (1970)
 Hoff at Intel Corp, invented microprocessor
 Entire CPU on a chip
 Makes possible to build the microcomputer (or PC)
 Altair – one of first PCs 1975
 Wozniak and Jobs designed and build first Apple Computer in
1976
 IBM introduced IBM-PC in 1981
Wrapping it Up

In this lesson we took a look at how a computer


works and the evolution of computers.
Programming Languages

COMPUTER PROGRAMMING I
Types of Languages

Programming languages were created to give


instruction.

Programming languages are classified into various


categories:
 High Level
 Low Level

The higher the level the more abstraction from the


hardware.
 If a language has higher abstraction – it is further away from
machine language (1’s and 0’s)
Low Level

Low level languages have almost no abstraction


from the hardware.
This code is written to specific hardware, and will
only operate on the hardware it was written for.
More Low Level

Two types:

 Machine Code (1GL)

 Assembly Language (2GL)


Machine Code

Machine code is understood directly by the CPU.


An example is below:
8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3
Obviously, it takes specialized knowledge to
program in machine code.
What numbering system is this?
Machine Code

8B542408 83FA0077 06B80000 0000C383


FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3

If you said Hex, you are right! Machine code is


written in hex. The groups of numbers reference
memory addresses in RAM.
Assembly Language

One level of
abstraction from
machine code is
assembly language.

The same program


from the last slide is
given in MASM an
assembly language.
High Level Language

In contrast a high level language provides strong


abstraction from the hardware.

This allows a program to be written in a language


that can run on multiple types of computers
(running the same operating system).
More High Level

We will code in Visual Basic 2013

Basic is an old language that has been updated over


the years and adapted by Microsoft for use for
writing Microsoft Windows and Web applications.
Evolution of Basic

Basic first appeared in 1964 and was designed by


John George Kemeny and Thomas Eugene Kurtz at
Dartmouth University.
The current version of Visual Basic is the 9th version
from Microsoft. (Visual Basic 2010)
Microsoft first released VB in 1991. This moved the
BASIC language to an event driven and object-
oriented programming (OOP) language.
Other High Level Languages

C#
C++
J#
F#
Java
D
E
And the list goes on and on…
A History Lesson

When was the first computer program written and


who wrote it?
A History Lesson

When was the first computer program written and


who wrote it?
A: Ada Lovelace- in 1842-43.

Modern programming is said to of started in the


1940s.
The first “modern” language was Plankalkül which
was described in 1943, but not implemented until
1998. It was designed by Konrad Zuse.
Languages Used Today

The 1950s and 1960s brought about languages still


used today:
 FORTRAN- John Backus et al. (1955)

 LISP- John McCarthy et al.(1958)

 COBOL- Grace Hopper et al. (1959)

 RPG- IBM (1959)

 BASIC- 1964 (as noted previously)


Late 1960s and 1970s

This was the period when most of the languages used


today were invented or are derived from one of the
languages invented in this time period.
 1969- B (forerunner to C)

 1970- Pascal (Java borrows from Pascal)

 1972- C (C++, Java, C#, and many others are based on C)

 1973- ML (F# is based on ML, C++ borrows from ML too)

 1978- SQL (databases)


The Internet Age 1990s

During the early/mid 1990s many Internet


languages were developed:
 1991-Python

 1995- Java

 1995- Javascript (not related to Java)

 1995- PHP

 1995- Delphi (Object Pascal)


So what has changed?

The past few slides contained a list of all these


languages, but how have they evolved?
The biggest change is more abstraction as described
previously.
 For example a program written in Java on a Windows system
an run on a Mac, Windows, Linux, etc. as long a the proper
software (a Java complier) is installed.

Early programs were bound to specific hardware-


current programs are not.
OOP (Object Oriented Programming)

The next major evolution is the move to object


oriented programming or OOP.
As defined by Wikipedia:

Object-oriented programming (OOP) is a


programming paradigm using "objects" – data
structures consisting of data fields and methods
together with their interactions – to design
applications and computer programs.
Wrapping it Up

In this lesson we took a look at how a computer


works and the evolution of computers and
programming languages.

You might also like