Post on 20-Dec-2015
Buying BugsA 21st Century Entrepreneurship
How do you find bugs in your software? Offer a bounty! How do malicious hackers gain an
advantage? Buy it! NY Times article
Computers as a Tool
What is a tool? A device used to perform or facilitate manual or
mechanical work Something regarded as necessary to the carrying
out of one's occupation or profession Something used in the performance of an
operation An instrument
Thinking about Tools
Write down a favorite tool or device Write down what it is intended to do Write down an alternative use Switch with a neighbor Write down another alternative Switch back
Computers: The Most Adaptable of Tools
Why? We can PROGRAM the computer Instructions are called software
Embedded computers Programmed by the manufacturer
General purpose computers Programmed by the consumer
How Does a Computer Work?
It is actually a very simple machine It executes exactly what it is told to do Forrest Gump
“Run, Forrest, run”
Forrest
Computers execute algorithms
Simplified Model of a Computer
processor
instructions data
the information that it works
on
defines an
algorithm
retrieves theinstruction directs data movement
Control Unit
Arithmetic Logic Unit
MEMORY
Performs the operations
Binary System
Everyone knows that computers store bits, right?
What does it mean? All data is stored as a series of zeroes and ones
Why?
10
=
Representing Numbers
Additive system ||||| ||||| Every item represents 1 Examples of additive systems?
Positional system Value = face * place 37 = 3*10 + 7*1
||||
Positional System
Base = number of different values in a position Base 10 = 10 values: 0-9 Base 2 = 2 values: 0-1
Value of each position = power of base b4 b3 b2 b1 b0
Binary: 24 23 22 21 20
Data Types
Computer doesn’t know what the bits represents or what format is being used
Computer assumes that the instructions know the format of the data
What are the types of data? Numbers, text, pictures, sound, instructions
Data Types Numbers: integers and floating point numbers (scientific notation)
Why do we need floating point numbers? Text: Unicode, double byte
Languages and symbols (Word insert symbol) Pictures: pixels
A very fine needlepoint How to represent color?
Sound: different formats Instructions
Alphanumeric Text
8-bit ASCII sample0 0101 00001 0101 00012 0101 0010
A 0100 0001B 0100 0010C 0100 0011
ASCII Images
Instead of pixels, use characters Web site that converte pictures
http://asciiconvert.com/ An example
Or it can display various shades of grey:
000 001 010 011 100 101 110 111
0 1 2 3 4 5 6 7
For example: