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 usedWhen computer starts upRepeatedly 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., , 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 heat10. 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
Top Related