2. Software Applications
Download
Report
Transcript 2. Software Applications
2. Software Applications
CS100: The World of Computing
John Dougherty
Haverford College
Outline of Presentation
Hardware vs. Software
Expectations of Software
Algorithm Example
Limits
Future Expectations
Implications
Hardware
Tangible – anything you can touch
Devices and components used in computing
Examples
Computer
Disk
Mouse
Printer
Cables
Software
Intangible – “can’t touch this”
Examples
Programs
Operating System
Applications
Data
Ideas ?
Emotions ?
Other “Wares”
Firmware
In between hardware and software
Typically describes macrocode, hardware burned
with instructions used
When computer starts up
Repeatedly used programs for operating system
Shareware
applications available on the honor system
Operating System
Software with a Dual Role
User Interface (see AE text Ch. 4)
..request accept execute feedback request..
Text vs. GUI vs. others (voice ?)
Resource Manager
Provides higher-level access to lower-level functions
Operates behind the scenes
Access to devices, memory, etc
Operating Systems Examples
Windows (Microsoft)
Most popular
Macintosh (Apple)
First using GUI for PCs
Linux (Linus Torvalds – one guy)
Most recent realization of Unix
Open Source
Applications
Programs that accept input data and returns output
data
Input Program Output
Transform the general-purpose computer into a
special-purpose tool
Most commercial applications are constructed using
large teams
Examples: AE Ch.2
WP, SS, DB, Presentation, Graphics, Math/Numerical,
Browser, Server, Email Client, Games
Application Development
a.k.a,. software engineering
Typically a coordinated team effort
Specification
Design
Implementation
Testing
Maintenance
Software Errors
Why does software fail if it is intangible?
incorrect or incomplete specification
poor design
bad implementation
Examples
Flight orientation for aircraft
Mars lander
Data
Often considered the inert part of software
Used to hold information for computing
Numeric
Alphabetic
Graphic
Audio
Data and Hardware
Stored on …
Floppy disk
RAM (Random Access Memory)
CD-ROM
DVD
Tape
Paper ?
“… like music is to an instrument, …”
Data Entry
How is data made available to a computer?
By a person
Keyboard and Mouse
Handwriting and Voice
By another computer or other device
Network (wired, wireless)
Sampled (e.g., sound, voltage for pH)
Digital vs. Analog
Data must be in digital form
Naturally
Integer numbers
Text characters
Musical notes (A, Bb, B, C, C#, D, Eb, E, F, F#, G, G#)
Converted or Approximated
Analog signals (e.g., voice, weight)
Real numbers (e.g., p, e, sqrt(2))
Expectations of Software
Positive …
Icons represent Applications and Data Files
Menus represent Command Choices
Means to save/recall data, print, send/receive
Initial cost to learn ways to use application, but..
Long-term benefits offset initial costs
Faster to complete information-based task
Professional presentation
Expectations of Software
Negative …
Potential for lost data and/or programs
Potential for virus attacks
Rapid replacement of IT
Periodic failure
J.D.’s Law:
[F <==> I * (1/R)]
the chance of computing failure (F) is proportional to the
degree of importance (I) of the data times the inverse of
the time remaining (R) that the data is required
Algorithm and Program
Algorithm
set of deterministic instructions
Program
implementation of an algorithm for a specific
platform (i.e., operating system)
Abstraction vs. Representation
Data is a necessary component of each
Algorithm Example
Preparing Pasta and Sauce
Ingredients (like data)
Recipe (like algorithm)
Tools (like objects – defer to Ch. 5)
Declaration of Ingredients
fresh pasta
fresh sauce
oil
water
salt
bread
butter
garlic
Declaration of Tools
saucepan small
saucepan large
colander
stove
sink
set of spoons { s0 s1 ...}
tongs
Main Definition of Recipe
1. water into saucepan large
2. saucepan large onto stove
3. set stove heat to high
4. wait until water boils, then put pasta into water
5. wait 9 minutes, then take pasta from pot
6. put pasta into colander
7. sauce into saucepan small, then onto stove
8. set stove to medium
9. wait until sauce is hot, then remove from heat
10. place sauce on pasta
Recipe Issues
stove never stopped
colander drains into nowhere
sauce thru colander
no plates, table, sink
sauce pot initially high
concurrency possible if stove has 2 burners
“wait” not really defined
Future Expectations
Faster computing
Larger and faster access for data storage
Alternative input
Voice
Predictive
More useful output, ready to be input to another
computing device
More ubiquitious
Implications (AE 2.4)
Diminishing Skills
Productivity
Does a PC really save time?
Does computing really save paper?
Information Technology vs. Libraries
Access capabilities
What is recorded
For next time …
Complete reading Chapter 2 of AE
Complete reading Chapter 10 of LoC
Begin reading Chapter 3 of AE
Attend your discussion group
Get started with Lab 0 due Feb. 7