Beruflich Dokumente
Kultur Dokumente
Chapter 1
INTRODUCTION
TO COMPUTING
AND ENGINEERING
PROBLEM SOLVING
Outline
Objectives
1. Historical Perspective
2. Recent Engineering Achievements
3. Computing Systems
4. Data Representation and Storage
5. An Engineering Problem-Solving
Methodology
Copyright 2012 Pearson Education, Inc.
Objectives
Introduce computing and engineering
problem solving, including:
A brief history
Recent engineering achievements
A discussion of Numbering Systems
A discussion of hardware and software
A five-step problem-solving methodology
Copyright 2012 Pearson Education, Inc.
Historical Perspective
Augusta Ada Byron
(1815-1852, below)
wrote the first computer
program.
Charles Babbage,
(1792-1871, above)
designed the
Analytical Engine
(left) to process
decimal numbers.
Copyright 2012 Pearson Education, Inc.
Analytical Engine
Designed to process base ten numbers.
Consisted of four parts:
Storage unit
Processing unit
Input device
Output device
Analytical Engine
Luigi F. Menabrea, French engineer and
mathematician, described Babbages
vision of a machine capable of solving any
problem using:
Inputs
Outputs
Programs written on punch cards
Copyright 2012 Pearson Education, Inc.
Digital Computers
ABC (Atanasoff Berry Computer)
Developed at Iowa State University between 1939
and 1942 by John Atanasoff and Clifford Berry.
Weighed 700 pounds.
Executed one instruction every 15 seconds.
Digital Computers
ENIAC(Electronic Numerical Integrator
And Calculator)
Developed by research team lead by John Mauchly
and J. Presper Eckert during the early 1940s.
Weighed 30 tons.
Executed hundreds of instructions every second.
ENIAC executes
hundreds of
operations per
second (30 tons)
Todays processors
execute trillions of
operations per
second and weigh
ounces.
Recent Engineering
Achievements
Recent Engineering
Achievements
Extraterrestrial
Explorations
First manned lunar
landing (July 21, 1969)
Mars Global Surveyor,
Mars Reconnaissance
Orbiter, and Mars
Exploration Rovers
Terrestrial Application
Satellites
Copyright 2012 Pearson Education, Inc.
Computer Axial
Tomography (CAT)
Scanners
Computer simulations
Advanced composite
materials.
Speech understanding
Weather, climate, and
global change prediction
Recent Engineering
Achievements
Digital computers
facilitate
multidisciplinary
engineering
achievements that:
Improve our lives.
Expanded the
possibilities for our
future.
Copyright 2012 Pearson Education, Inc.
Changing engineering
environment requires
engineers with:
Communication skills.
Skills for working in
interdisciplinary teams.
An awareness of ethic
issues and environmental
concerns.
A global perspective.
Computing Systems
Computing Systems
A computing system is a complete working
system that includes:
Hardware
Software
Hardware
Hardware refers to the physical parts
off the computing system that have
mass (i.e. they can actually be
touched):
Computer
Display
Mouse
Printer
Hardware
Jon von Neumann computing model
Input device(s)
Output device(s)
Memory Unit
CPU (Central Processing
Unit) consisting of:
Control Unit
ALU (Arithmetic Logic Unit)
Software Interface to
Computer Hardware
Software
Computer software refers to programs
that reside and execute electronically
on the hardware.
Compilers
Translate source code
Operating systems
Provide the HCI (Human Computer Interface)
Application programs
Provide problem solutions
Copyright 2012 Pearson Education, Inc.
Building a Program
Computers only understand machine
language. High-level languages like C++
must be translated to machine language
for execution.
Key Terms
Source Program
printable/Readable Program file
Object Program
nonprintable machine readable file
Executable Program
nonprintable executable code
Copyright 2012 Pearson Education, Inc.
Errors in Programs
Syntax/Parse Errors
Mistakes with the language.
Always reported by the compiler
Linking Errors
Missing pieces prevent the final assembly of
an executable program.
Run-time Errors
Occur when program is executing.
May or may not be reported.
Copyright 2012 Pearson Education, Inc.
Logic Errors
Can be difficult to find.
Debugging can be time consuming.
Better tools for find bugs
Debugging
Process of eliminating logic errors
(i.e. bugs) from programs.
User-friendly programming environments
such as Microsoft Visual C++ integrate the
compiler with
Data Representation
and Storage
00110101001001001010101111101110
10101011111011100011010100100100
11000110110101011111001001001010
10101011111101001001000101110001
00100110111110101010001101010011
01001001001010101111101110001101
10100001101010010010111010011111
Copyright 2012 Pearson Education, Inc.
Data Representation
and Storage
Digital computers store information as a
sequence of bits (binary digits).
The value or state of a bit at any given
time can be 0 or 1 (off or on).
Data is stored as a sequence of bytes.
A byte is a sequence of 8 bits.
Memory Diagram
Address
000
0000101011011101
001
1010001011010100
010
1011010010100101
011
0101001101010101
010
0101000111001110
010
1100110000111010
110
0100011101001001
111
0101110001001000
Address Space = 8
Word Size = 16
Data Representation
Right most bit is referred to as the least
significant bit.
Left most bit is referred to as the most
significant bit.
Value stored at address 000 is
00001010110111012 = 278110 But what does
it represent?
Copyright 2012 Pearson Education, Inc.
Numbering Systems
Base ten number system
Ten decimal digits (0,1,2,3,4,5,6,7,8,9)
Each digit multiplies a power of ten
Example:
Numbering Systems
Base two (binary) number system
Two binary digits (0,1)
Each digit multiplies a power of two
Example:
Numbering Systems
Base eight number system
Eight octal digits (0,1,2,3,4,5,6,7)
Each digit multiplies a power of eight
Example:
Numbering Systems
Base sixteen number system
Sixteen hex digits (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
Each digit multiplies a power of sixteen
Example:
Data Types
Integer Data Type:
Often represented in 4 bytes (System
Dependent)
Left most bit is reserved for the sign of the
number
Remaining 31 bits represent the magnitude
of the number.
Data Types
Representation of data affects the
efficiency of arithmetic and logic
operations.
For efficiency, negative integers are often
represented in their 2s complement
form.
The 2s complement of an integer is
formed by negating all of the bits and
adding one.
Copyright 2012 Pearson Education, Inc.
Twos Complement
Form the 2s complement
representation for the value -12710
assuming a word size of 8 bits for
simplicity.
12710 = 011111112
Negate bits: 10000000
Add 1: 10000001
Twos Complement
Add 12710 to -12710
011111112
12710
+ 100000012
+ -12710
= 000000002
= 010
Data Types
Floating Point Data
Floating point types represent real numbers,
such as 1.25, that include a decimal point.
Digits to the right of the decimal point form the
fractional part of the number.
Digits to the left of the decimal point form the
integral part of the number.
1210=11002
Then repeatedly multiply the fractional part by 2:
.25*2=0.5C0
.50*2=1.0C1
Therefore:
12.2510 =1100.012
Copyright 2012 Pearson Education, Inc.
Engineering
Problem-Solving
Methodology
Five Step
Problem-Solving
Methodology
1. State the problem clearly.
2. Describe the input and output.
3. Work a hand example.
4. Develop a solution.
5. Test your solution.
Copyright 2012 Pearson Education, Inc.