Contents
I.	Overview
A.	One definition of a computer: a device which takes in data in one form, uses it, and produces a different form of information which is related to (but not the same as) the original data
1.	Many devices qualify as a computer under this definition, including human beings and stonehenge
2.	In this course, the word computer refers to electronic, digital (symbolic), general purpose computers
B.	Applications - the only reason we need computers
C.	Basic functions - input, output, process, and memory
1.	Hardware
a)	The physical devices which carry out the four functions
2.	Software
a)	The instructions stored in memory to direct the processing
D.	People that work with computers
1.	Users
a)	Naive user
(1)	Follows lists of precise directions for accomplishing certain tasks
b)	Application expert
(1)	Knows the functions of the system and uses them as the need arises
c)	Power user
(1)	Can adapt or configure a computer system to meet unanticipated needs
2.	Programmer
a)	Application
b)	Systems
3.	Systems analyst
4.	Programmers and systems analysts are known as users when they are using computers to do their own work.
II.	Categories of Software
A.	System Software
1.	Definition:  Software that supports application software but does not implement an application in and of itself
2.	Examples:
a)	Bootstrap Loader
b)	Operating System
c)	Utility Software
(1)	Backup
(2)	Database file manager
d)	Language translators
3.	Language translators are optional, but allow you to program new applications from “scratch”
B.	Applications Software
1.	Definition:  Software that is applied in accomplishing a task needed by an endeavor
2.	General software
a)	Many endeavors have similar kinds of tasks, so software has been developed for several specific tasks
b)	Examples:
(1)	Word processing
(2)	Spreadsheet
(3)	Database
c)	Because the software is general, it must be adapted to the specific endeavor.  Examples:
(1)	In word processing, you may need to change the margins or line spacing
(2)	In a spreadsheet, you need to specify formulas to be computed 
(3)	In a database, you have to define files to store the attributes and relationships of the specific endeavor’s entities 
d)	Advantages
(1)	In some cases (esp. word processing) the needed adaptation may be very minor
(2)	A power user (not necessarily a programmer) can adapt general software and create “new” generic or custom software, usually in much less time than using only system software to build application software by writing in a procedural programming language
(3)	The software is inexpensive because it is amortized over a large market
e)	Disadvantages
(1)	You must have a power user to adapt it significantly
(2)	The quality will vary depending on the skills and training of the power user and the time they are allowed
3.	Generic software
a)	Written for a kind of endeavor
b)	Examples:
(1)	Software for a doctor’s office
(2)	Software for a mail order company
(3)	Software for a pharmacy
c)	To install generic software for a particular instance, a series of parameters must usually be set to control how certain situations are to be handled
d)	Advantages
(1)	High quality
(2)	Moderate cost 
e)	Disadvantage
(1)	There may not be a combination of parameters that make the system behave exactly the way it should for your particular endeavor
4.	Custom software
a)	Written for specific instance of an endeavor
b)	Example:
(1)	Software for keeping track of continuing education classes, instructors, and students for the Ohio Chapter of the National Association of Social Workers
c)	Advantage
(1)	It can do whatever is needed
d)	Disadvantage
(1)	Potential high cost because the expense must be borne by the one specific endeavor
III.	Symbolic Representation
A.	Part of being human
1.	In fact, symbolic representation is associated with God in the Christian tradition.  Quoting The Gospel of John from The New Testament in Modern English translated by J.B. Phillips:
a)	1.I “At the beginning God expressed himself.  That personal expression, the word, was with God and was God, and he existed with God from the beginning.”
B.	Some things (symbols) stand for (represent) other things.
1.	The symbols themselves are called data.
2.	Data that is understood is called information.
C.	A particular scheme for symbolically representing something is called a language
1.	Example: in the English language, sounds (words) are symbols that can represent almost anything imaginable.
D.	Why language is useful
1.	Language is used to symbolically represent the objects and actions in our world (real or imaginary)
2.	Symbols allow us to form abstractions
a)	The language of mathematics is a powerful form of abstraction
3.	If only understood by one entity, a language could be used to record and later recall a fact.
a)	This is like writing yourself a note.
4.	If the same language is known to at least two entities, it can be used to exchange information.
a)	A third party that does not understand a particular language can carry around a message in the hopes that someday an entity that understands the language will arrive on the scene.
5.	It is possible to translate from one language to another (if an entity knows two languages), but something may get “lost” in the translation.
a)	The two languages may not have the same expressive power.
E.	Machines that manipulate symbols rather than the physical objects are intriguing because they are somehow more human-like than previous machines
1.	Computers were the first machines that were general purpose rather than built for a specific purpose.  This was possible because they manipulate symbols for objects rather than the objects themselves.
2.	The human-like qualities of computers were picked up by Hollywood in movies like “The Desk Set.”
3.	Computers process symbolic information (language)
a)	Yields human-like qualities
(1)	However, they often resemble an idiot-savant
b)	There is no universal symbolic representation - each application may have its own symbolism (abstractions)
(1)	The symbols (words) are made up of a common alphabet (0’s and 1’s)
(2)	The words typically have less in common than do Chinese and English
c)	Algorithms: Codified transformations from data to information
(1)	An algorithm gives meaning to data written in a particular language
F.	Computer systems have many languages
1.	Internal languages
a)	Example: Microsoft Word has a language it uses internally which represents the text of a document along with the format it is to be printed in.
b)	Machine language represents the instructions the computer is to follow
2.	User Languages - the way you communicate with a computer so you can tell it what to do or give it data to work with.
a)	Procedural - you tell the computer exactly how to do it.
(1)	Assembly language - only slightly easier for humans than machine language
(2)	High Level languages (FORTRAN, COBOL, BASIC, PASCAL, C++)
b)	Non-procedural - you tell the computer your objective and let it figure out how to do it.
(1)	Custom for application - the program might ask you questions
(2)	General software interface - like defining a database report
(3)	Query Languages (SQL)
(4)	Natural Language (requires AI techniques, not widely available)
IV.	Internal Computer Representations
A.	The smallest unit of storage is a "bit"
1.	A bit could store the numbers 0 and 1
2.	A bit could be used to store the answer to a yes/no question (let 0 mean “no” and 1 mean “yes”
3.	A bit could store a gender (let 0 mean male and 1 mean female)
B.	Code words can be constructed to represent other things.  Each additional bit in the code word doubles the number of possibilities it can distinguish.
1.	For most modern computers, eight bits make a byte, which is a unit of storage that is widely used.
2.	Code words are often made up of an integral number of bytes for simplicity.
C.	A byte can be used to represent a typographic character in American Standard Code for Information Interchange (ASCII)
1.	Just like Morse Code is a standard for signaling, ASCII is a standard for computer communications and storage of the typographic symbols
2.	ASCII is a 7 bit code word, so there is an extra bit available in the byte
a)	Often the eighth bit is used to extend the code
b)	If it is 0, the other 7 bits are a standard ASCII code
c)	If it is 1, the other 7 bits mean something else
3.	The IBM PC has an extended code for playing card suits and other graphics
4.	In Europe, they use an extended code for all the special characters in European languages
D.	Two or four bytes are usually used together to represent a number in the binary numeral system.  
1.	Most computers do their arithmetic with binary numerals and convert to/from decimal numerals when communicating with humans.
2.	Remember, numbers are the same regardless of the numerals you use to represent them
3.	There are also binary represenatations for signed numbers and fractional values
E.	Pictures can be represented by breaking them down into rows and columns, where each intersection (pixel) is represented by a code word
1.	If one bit code words are used, we could designate 0=WHITE and 1=BLACK.
2.	If two bit code words are used (rare) we could designate 00=WHITE, 01= LIGHT GRAY, 10=DARK GRAY, 11=BLACK.
3.	For color, 4 bit, 1 byte, 2 byte, 3 byte, or 4 byte code words are used.
F.	Sounds are often recorded as a sequence of air pressure readings (microphone output voltages), taken many times a second
1.	Phone companies use 8-bit numerals, sampling 8,000 times a second
2.	The music CD uses a 16-bit binary numeral representation of each pressure (voltage), one for each stereo channel, 44,100 times a second
3.	Sound cards offer many other combinations
G.	Many other kinds of information may be represented, and hierarchies are developed that use elementary representations as building blocks to represent other things
1.	Information about entities (persons, places, things, and ideas), and the relationships between them, are stored as a database.
a)	Field - a group of characters or a number or other code words that represent some characteristic (like "NAME"  or "WEIGHT" or a picture)
b)	Record - a group of fields that together describe an entity
c)	Table File - a group of records that each describe an entity of the same type (for example - the "STUDENT" file)
d)	Database - a group of table files that together have full information about  the entities and their relationships to one another
(1)	For example, the STUDENT, COURSE, and REGISTRATION table files.
H.	Processing instructions themselves need to be symbolically represented
1.	Machine language
I.	The bits mean nothing unless you know their context
1.	There is no explicit mark on the memory location indicating the kind of data stored there
V.	Data Storage
A.	Data Storage Devices
1.	Three important characteristics of data storage
a)	Speed of access
b)	Permanence (non-volatility) 
c)	Cost per megabyte
2.	Ideally, a single kind of memory would give us:
a)	Access to arbitrary locations very quickly
b)	Permanence
c)	Low cost per megabyte
3.	Not living in an ideal world, we must use two types of memory and transfer data between them to achieve the goals above
4.	Goal: Access to arbitrary locations very quickly
a)	This category of memory is called “main memory” or “primary memory”
b)	Main memory will contain the currently executing program and its data
c)	The current technology used for main memory is semiconductor chips, called Random Access Memory (RAM)
(1)	Advantages:
(a)	They are very fast at accessing random (arbitrary) locations
(b)	Having no moving parts makes them reliable
(2)	Disadvantages:
(a)	They lose their contents without a power source (volatile memory)
(b)	They have a high cost per megabyte
5.	Goals: Permanence and Low cost per megabyte
a)	This category of memory is called “secondary memory” or “auxiliary memory.”  Fortunately, one type of memory  meets both of these goals, otherwise, we would be in big trouble!
b)	Data is transferred from secondary memory to main memory and worked with there when it is needed
c)	Data is transferred from main memory to secondary memory when it needs to be remembered permanently
d)	The current technology used for secondary memory is magnetic recording
(1)	Advantages:
(a)	Data will remain intact with no power for many years
(b)	It costs only a small fraction of what RAM costs per megabyte
(2)	Disadvantage:
(a)	It is much slower than RAM in accessing random locations (thousands of times slower)
e)	Two kinds of access are available:
(1)	Direct access
(a)	Although the timing is not as uniform as RAM, you can still access to random locations without undue delay
(b)	Fixed media (e.g. hard disk)
(i)	faster 
(ii)	more reliable
(iii)	always available
(c)	Removable media (e.g. floppy disk)
(i)	has a lower cost per megabyte when data does not need to be on-line, because low cost media can be swapped in and out of the drive as needed
(ii)	is more portable and can be used on another machine to transfer data
(2)	Sequential access
(a)	Does not allow going directly to a random location
(i)	You must first read through everything that comes before the item 
(b)	The current technology used is a tape drive and removable magnetic tape media
(i)	The cost of magnetic tape media per megabyte is far lower than even removable disk media 
B.	Indelible Data Storage
1.	Two kinds of commonly used storage are written at the factory and cannot be updated
a)	Read Only Memory (ROM) 
(1)	Packaged and accessed like regular main memory 
(2)	Usually holds the program that runs when the machine is turned on or reset
(a)	On most machines this is the bootstrap loader which copies the operating system from disk into RAM
b)	CD-ROM
(1)	A disk just like a compact music disk except the bits represent computer files instead of music
(2)	Accessed like removable media disk storage
(3)	Used when the volume of data is too large to be distributed on floppy disks
(a)	Holds the data of hundreds of floppies
C.	Using the data storage
1.	The main memory can be accessed by a machine instruction using the location’s address
a)	Each byte has its own unique address
2.	To access secondary memory, a special instruction is issued 
a)	The special instruction specifies where on a secondary device the item resides
(1)	The instruction causes a copy of the item, along with the whole page that contains it, to be placed into a region of main memory 
(a)	A page is a group of bytes, its size depends on the particular device
(b)	The region of main memory is usually called a buffer
b)	Regular instructions may then access the item in the buffer
c)	If the item is to be permanently updated, another special instruction is needed to copy the page from the buffer back to the secondary storage device
3.	Fortunately, most of these details are taken care of by the operating system software, which we will learn about latter
4.	The contents of each secondary storage device are visualized as a set of files
a)	A file in this context just means a sequence of bits that represent something
b)	The files are organized hierarchically, much like a filing cabinet is divided into drawers, large Pendaflex brand folders, and manila folders
(1)	The conceptual “filing cabinet” is the secondary storage device
(2)	The conceptual “folder” (or “directory”) is the container that holds files and/or other folders
5.	Every application uses a buffer for updates
a)	WORD and QUATTRO PRO buffer the entire file (even if it is more than a page) and require you to use OPEN and SAVE commands
b)	PARADOX buffers the current record of the table file and updates secondary storage as soon as you move to another record
c)	Be aware of what you have to do to make your updates permanent!
6.	For files used regularly, a fixed media disk is the best place to store them.  It’s fast and reliable.
7.	For file backup or archive purposes, removable media disk or tape provide a low cost solution.
a)	Tape is cheaper, but slower when an arbitrary file is recovered
8.	If you need to move files from one machine to another that is not on the same network, a removable media disk should be used.
9.	The fixed disk storage you will use for your own files is accessed over the network from the file server, not on the local machine, and is available from all the machines on the network
VI.	Word Processing - the biggest general software task 
A.	Software that models the way documents are prepared
B.	Word processing only looks a like using a typewriter
1.	Text appears on the computer screen, not paper
2.	If you use it like a typewriter, however, you won’t get as much of the benefit
a)	With a typewriter, you do two things at once
(1)	Enter the text of the document
(2)	Format how the document will look in its final form
b)	A change in format means that the whole document will have to be retyped!
c)	If you format as you type in a word processor by using the space bar to indent and the return key at the margin you will not be able to edit the document or change the format without manually going through the document and removing those characters
3.	Modern word processing software allows you to separate the activities
a)	Enter the text of the document indicating only paragraph breaks 
b)	Decide latter on margins, paragraph indentation, type size, etc.
4.	Changes made to the text are automatically formatted to the current format specification
5.	Changes made to the format are automatically applied to the current text
C.	Types of word processors
1.	Hardware used
a)	Dedicated to, and designed specifically for, word processing
(1)	These machines are now considered obsolete
b)	General purpose personal computer
2.	Orientation
a)	Imbedded-command formatting
(1)	Becoming obsolete, but still widely used
b)	Screen oriented (What You See Is What You Get, WYSIWYG [wizzy-wig])
3.	Word processing vs. page layout general software
a)	A word processor is designed to handle one story line per document, and the text is formatted into a generic page layout
b)	Another general software package type is a page layout program, like PageMaker.   A page layout program is designed to handle several story lines per document, like a magazine or newspaper, with a unique layout for each page
c)	Each type is evolving and adding features of the other
D.	Some packages have more expressive power than others in defining document structures
1.	Paragraphs
2.	Paragraph Styles
3.	Footnotes
4.	Table of contents
5.	Index
6.	Figures
E.	Entering and Editing - things you must learn:
1.	Cursor movement
2.	Scrolling
3.	New Line / Carriage Return  CAUTION!
a)	Also called HARD carriage return
b)	In all word processors, it marks the end of an independent text unit, which can be:
(1)	The end of a paragraph
(2)	The end of a title
(3)	The end of an indented quotation
c)	In word processing, the word “paragraph” means any of the above, in other words,  the text between carriage returns
d)	The single biggest obstacle to effectively using a word processor is hitting carriage return at the end of a line before the end of the paragraph, instead of letting the word processor flow the text to the current format margin.
4.	Inserting and deleting characters
5.	Copy/Cut/Paste text
6.	Search/Replace text
F.	Paragraph formatting - things you must learn:
1.	Margins
a)	When you change margins, the text is automatically re-flowed to fit the new margins
b)	Text flow
(1)	Ragged right
(2)	Ragged left
(3)	Centered
(4)	Justified
2.	First line indentation
a)	How do you control where the first line of a paragraph starts
3.	Continuation line indentation
a)	How do you control where the second and subsequent lines of a paragraph start
4.	Line spacing
a)	Single space
b)	Double space
c)	Specific amounts of space (point measure)
d)	Before/After paragraph spacing
5.	Tab stops
a)	Left
b)	Right
c)	Center
d)	Decimal
G.	Paragraph Styles
1.	Introduced in Microsoft Word, not available in the older WordPerfect software
2.	Important to maintaining consistency among several documents or throughout a large document
3.	Although paragraph styles take time to define, they can save time even in small documents
4.	Each paragraph (a title is also considered to be a paragraph) should be assigned a style.  For example:
a)	heading
b)	subheading
c)	paragraph
d)	quotation
e)	continuation
f)	citation
5.	When a paragraph does not fit one of the existing styles, you simply define a new style
6.	If you decide you need to change the format of your document, simply re-defining a style will update the entire document
H.	Character formatting
1.	Font
2.	Size
3.	Special effects (bold, italic, underline, etc.)
4.	In Microsoft Word, you can also define character styles for specific purposes, such as a book name within a citation
I.	Document formatting
1.	Pagination
a)	Widow control
b)	Page margins
2.	Headers/Footers
3.	Footnotes
a)	Note: Footnotes and footers are not the same thing!
J.	Advanced word processing features
1.	Spelling checker
2.	Thesaurus
3.	Grammar checker
4.	Mailing list/Mail merge 
5.	Graphics included along with text
6.	Multiple columns
7.	Tables
K.	Macros
1.	In older software (WordPerfect), macros were used to simulate paragraph styles by inserting standard sequences of formatting codes when invoked
a)	However, there was no way to change a style without going through the document manually and deleting the old codes and re-invoking the macro for each paragraph of the style being changed
2.	In Microsoft Word, macros are more often used to automate the creation of a document
a)	The macro, for instance, prompts for things like name and address and formats them correctly for a letter
VII.	Input/Output Devices
A.	Human input to a computer 
1.	Symbolic
a)	Keyboard
b)	Mouse
c)	Mark-sensor form (need reader)
d)	Optical character recognition (OCR) (need scanner & software), 
e)	Handwriting recognition (need Input Tablet & software)
f)	Voice recognition (need sound card with A/D converter & software)
g)	MIDI controller instrument
h)	Data glove
2.	Graphical
a)	Scanner
b)	Digital Camera
c)	Input Tablet
3.	Audio
a)	Sound card with A/D converter
b)	MIDI controller instrument
B.	Computer output to a human
1.	Visual
a)	Printer
(1)	Text
(2)	Graphics
b)	Display
(1)	2D 
(2)	3D 
(a)	Stereo picture
(b)	Moving perspective
c)	Bar code printer
d)	Magnetic ink printer
2.	Audio
a)	Audio D/A converter
(1)	Music
(2)	Voice
b)	MIDI slave instrument
3.	Tactile
a)	Data glove
C.	Computer output to other computers
1.	Bar code printer
2.	Magnetic ink printer
3.	Paper tape punch
4.	Card punch
5.	Write to removable media and eject it
6.	Direct digital communications
7.	Data probe tools
D.	Computer input from other computers
1.	Bar code reader
2.	Magnetic ink reader
3.	Paper tape reader
4.	Card reader
5.	Insert removable media and read it
6.	Direct digital communications
7.	Data probe tools
VIII.	Systems Software
A.	Definition:  Software that supports application software but does not implement an application in and of itself
B.	Bootstrap Loader
1.	The program in ROM that loads the operating system when the machine is turned on or reset
C.	Operating system
1.	Manages the memory of the computer
a)	Main
(1)	Allocates memory to run programs
b)	Secondary
(1)	Keeps track of where things are
(2)	Organized as a hierarchical system
(a)	A directory (folder) object can hold other directories and/or files
(b)	A file contains the bits recorded by an application program, which actually represent something
2.	Takes orders from the user regarding what programs to run and what data files to use
a)	Interface style
(1)	Textual command language translator (DOS, JCL)
(2)	Graphical (Windows, Macintosh)
b)	Plays the role of the genie that grants your wishes
3.	Provides an environment for the program that is running, extending the raw machine language instruction set 
a)	The environment includes a “toolbox” that an application program can call upon to implement the standard user interface style
4.	Handles security in multi-user systems
a)	For example, the file server in the lab runs an operating system called NetWare.
(1)	You log into the file server to get access to your own files
(2)	You may only read the g: drive and may not even look at other students’ files
5.	Multi-programming - more than one list of instructions (program) is active at the same time, and the operating system switches the CPU between the programs
a)	We have one of three objectives 
(1)	Multi-tasking: optimize the time of a person by doing a lengthy task in the background while the person continues to work on something else
(a)	Example: Windows Print Manager
(2)	Multi-programming: optimize the utilization of all the equipment by spending enough CPU time on I/O intensive tasks to keep all the external devices working and the rest on a CPU intensive task
(a)	Example: IBM MVS batch processing system
(3)	Time-sharing: share the CPU in short time slices among several persons and make each user have the illusion that they are the sole user of the machine, except that it will sometimes be slower, when more than one user has a CPU intensive task at the same time.
(a)	Example: UNIX
6.	Advanced hardware features supported
b)	Virtual storage
c)	Multi-processing (parallel processing)
D.	Language translators and development systems
1.	Support developing application programs using procedural languages such as BASIC, FORTRAN, COBOL, PASCAL, C++, etc.
2.	Development systems should support:
a)	A project manager to keep track of programs
(1)	Makes sure any program changes are taken into account before trying to execute the application
b)	A debugger
(1)	Lets a programmer view her program step by step as it runs and look at intermediate results stored in memory
c)	Creating an executable file to deliver the application to users
E.	Utility programs
1.	Secondary storage backup
2.	Spooling  (Simultaneous Peripheral Operations On-line)
a)	Requires a form of multi-programming  
b)	Spooling programs run I/O devices by copying to/from secondary storage
c)	Objectives:
(1)	mainframe - so the computer CPU does not waste time waiting for a slow I/O device
(2)	microcomputer - so the person does not waste time waiting for a slow I/O device 
3.	Text Editor for preparing programs
4.	File and Database utilities
a)	Usually supplies an environment for programs written for the language translators
IX.	General Software
A.	Continuum of structure
1.	The more structure that is imposed in a general application, the more the computer “knows” about what your doing, the more it can “do” for you.
2.	More structure requires more thought, training and time
3.	Word processing is the least structured, spreadsheets are more structured, and the database is the most structured of the general software tools we will learn
B.	Using General Software
1.	When you use a general software package on a mainframe or micro computer you should ask the following questions before proceeding:
a)	How do you access the software package from the Operating System (OS)?
b)	How do you create a new document, or call up an old one from a file?
c)	How do you save the document to a secondary storage (disk) file so that it will be saved permanently?
d)	How do you print the document?
e)	How do you delete a file containing a document?
f)	How do you stop using  (close) a document:
(1)	Replacing the original file with the modified document?
(2)	Discarding the modified version and keeping the original file?
g)	How do you exit the package?
2.	Fortunately, with most Windows applications, these tasks are always done in the same way so you don’t have to re-learn them, as in DOS applications
3.	Windows and other multitasking operating systems allow you to start another application without exiting the first
a)	You can cut and paste information between applications
b)	You will be asked about what should be done with modified documents in suspended applications when you exit Windows
C.	Customizing General Software
1.	Many of the unique aspects of your application may be defined using the structures available in a general software package
2.	Some packages also provide a macro language to further extend their capabilities
a)	A macro is an instruction that invokes a whole sequence of instructions, in order to save work and time
(1)	Some macros are usually supplied with a software package
(2)	Users can also define their own macros 
b)	Macros are the most labor intensive way of adapting general software because they are similar to a procedural programming language
X.	Spreadsheets
A.	Model is more structured than word processing
1.	The idea was based on an accountants spreadsheet
2.	Documents have ROWS and COLUMNS with a CELL at each intersection
a)	A CELL is pointed to by the cell cursor
b)	The contents of the CELL pointed to by the cell cursor may be replaced or edited
c)	While entering or editing a cell, its contents are displayed in the status area
3.	Value of a CELL may be
a)	A fixed value
b)	Determined by a formula whose result will be computed when displayed
4.	The type of value in a cell may be
a)	NUMERIC
b)	TEXT (label)
5.	Each CELL has a name, for instance A1 is the name of the CELL in COLUMN A, ROW 1
6.	Formulas are arbitrary arithmetic or logical expressions that may refer to the current values of other CELLS (either numeric or text values)
B.	Developing a report application
1.	When one works with a spreadsheet to develop a report, there are three kinds of things to express
a)	Format
the way the report will look when printed
b)	Formulas
the way summary values are calculated 	
c)	Detail data 
the values that will be reported upon
2.	Once a spreadsheet report is developed, one can save a copy with just the format and formulas
a)	Such a spreadsheet is often referred to as a template
b)	To produce a new report of the same type:
(1)	Make of copy of the template, giving it an appropriate name
(2)	Fill in the new detail data
(3)	Save and print the new report
C.	“What-if” processing is another major application of spreadsheets
1.	Because formulas are instantly recalculated, scenarios may be quickly tested
a)	This is sometimes called number crunching
2.	For instance, business rules and assumptions can be put into formulas, and various parameters can be adjusted to see what the result will be
a)	Example: What will happen  if the interest rate is 9% instead of 8%?
XI.	Presentation graphics
A.	Data from spreadsheets (as well as other sources) may be used as input to produce presentation graphics
B.	Data is graphically presented for easier comprehension by people
C.	Several formats are possible
1.	Line chart
a)	Good for a time series progression to show trends
2.	Pie chart
a)	Shows proportions of a total
3.	Bar chart
a)	Can show both time series and proportions
D.	Control over the look and labeling is provided
E.	Experiments can be used to find the most meaningful type of chart for a particular application
a)	This is possible because a graphic can be created or modified in seconds
XII.	Algorithms
A.	An algorithm is a precise set of instructions that if followed will achieve a certain result in a finite amount of time
1.	An example of an algorithm is a cooking recipe
2.	A more formalized example is the algorithm that North Americans use for multiplying numbers
3.	Often multiple algorithms are known for achieving the same result
a)	Example: another way to multiply numbers
b)	Some algorithms are better than others because they require less computation or the knowledge of fewer facts
B.	Some ‘algorithms’ are not algorithms in the practical sense
1.	They require too much time or memory
2.	Example: an algorithm that plays perfect chess could be written by a novice programmer that had only just been taught the rules of chess
a)	Unfortunately, if the entire universe where built into a huge computer and the game lasted until the end of time, the computer would not be able to make its first move
C.	Some things cannot in principle be computed by an algorithm
1.	Example: Deciding whether another algorithm will halt, or has an infinite loop
a)	If such an algorithm existed, it could have proved or disproved Fermat's last ‘theorem’, whichmathematicians have been working on for centuries and which was not actaully proved until 1994.
D.	Specification of algorithms
1.	It is possible to unambiguously tell someone exactly how to do something using a natural language, such as English, but it is not easy
2.	To make the descriptions more precise, as well as more compact, artificial languages have been developed
a)	For human use
(1)	Flowcharts
(2)	Pseudocode
b)	For computer use
(1)	Programming languages
E.	At the bottom level, everything that a computer does is directed by an algorithm
1.	Declarative languages work only because algorithms have been written to interpret their meaning
XIII.	Database Systems
A.	Database system concepts
1.	Definition: A database system (sometimes called simply a database) is repository of information about entities (persons, places, things and ideas) and the relationships between them (verbs)
2.	Database management software is potentially the most powerful of the general software tools because it allows you define a database system
a)	A database system allows information to be derived from the data in unanticipated ways
b)	To provide the information, however, the entities and relationships of the application must be specified precisely in a data model
(1)	Planning is required to model all the aspects of the endeavor that will be needed for the application
(2)	Database general software is the most structured of the general software packages we will study
3.	A database is defined using a particular data modeling approach
a)	The database modeling approach is the language in which entity types and relationship types are defined
b)	The data model specifies the kinds of real world entities and relationships that can be represented in a particular database
c)	We will use the relational database modeling approach
(1)	It is newer than the hierarchical and network approaches
(2)	The data is modeled as a set of tables
(a)	The set of tables without any data entered (only headings) is called the database definition or data model
(b)	Adding the data makes it a database
(3)	Each table 
(a)	Has a name unique among the tables in the database
(b)	Contains records, one for each entity or relationship it describes
(c)	Example: the STUDENT table contains a record for each student
(4)	Each record
(a)	Is identified uniquely (within the table) by a certain field or combination of fields
(i)	This is called the key of the table
(ii)	Usually, this is a single field
(a)	Ex: SOCIAL_SEC_NUM could be the key of the STUDENT table
(iii)	Sometimes, more than one field is used for the key
(a)	Called a composite key
(b)	Ex: DEPT_CODE and COURSE_NUM together make up the key of the COURSE_CATALOG table
(b)	Contains fields that describe the entity or relationship
(i)	Each record of the same table has the same fields
(5)	Each field
(a)	Has a name that is unique within the fields of the table
(b)	Is defined to contain a only certain type of data
(i)	Numeric
(ii)	Alphabetic
(iii)	Date
(iv)	Other types of information
(c)	Example: 
(i)	Field name:	Pay_rate
(ii)	Data type:	Currency
(iii)	A possible value:	$6.45
B.	Database design
1.	As a first step in designing a database model, you look for entities (persons, places, things, or ideas) and relationships between them (verbs)
2.	Modeling an entity type (person, place, thing, or idea)
a)	A table is created
b)	The key of the table matches each instance of the entity to exactly one table record 
(1)	Example SOCIAL_SEC_NUM could be the key of the STUDENT table.  The student name would not be a good key because two students might have the same name
c)	The record contains a non-key field for each singular attribute of the entity (Ex: height, weight, gender)
3.	Modeling a “one-to-many” relationship
a)	Example: A STUDENT has one ADVISOR, while an ADVISOR has many STUDENTs that he or she advises
b)	Add a field to table representing the entity on the many side of the one‑to‑many relationship 
(1)	This is called a foreign key field
(2)	The foreign key field creates a one-to-many relationship with the entity modeled by other table
(3)	Example: The ADVISOR_SSN field of the STUDENT table creates a relationship to the ADVISOR table
(a)	From the point of view of a student record, a single ADVISOR record will be matched, so that the advisor’s PHONE may be found, for instance
(b)	From the point of view of an ADVISOR record, many STUDENT records may be found that have its ADVISOR_SSN, and they may all be printed on a report to be given to the advisor, for instance
4.	Modeling a “many‑to‑many” relationship 
a)	Example: a STUDENT has taken many COURSEs, while a COURSE has been taken by many STUDENTs
b)	Create a new table with a composite key (a key made up of two or more fields)
(1)	The fields of the key are key fields of tables that model the entities that have the relationship
(a)	The table will contain a record for each combination of key values for which the relationship exists
(b)	Example: COURSES_TAKEN table
(i)	The SOCIAL_SEC_NUM (the key of the STUDENT table) together with DEPT_CODE and COURSE_NUM (the key of the COURSE_CATALOG)  make up its key
(2)	The table may contain other fields that describe the relationship
(a)	Example:  The COURSES_TAKEN table should have a non-key field called GRADE
C.	Normal Forms
1.	When designing a database using the relational database modeling approach, there are three guideposts to a good design, the first, second, and third normal form rules.  If all three are met for all tables, the database design is in third normal form, which is desirable.  Fortunately, if you think about entities and relationships as you design the database, you should naturally get third normal form!
a)	First normal form: For a particular key value (i.e. entity or relationship) there is only one value in each field of the record
(1)	Example: You would not store HOBBY in the STUDENT table, because a student may have more than one hobby.  In fact, there is really a many-to-many relatationship between the student and hobby entities
(2)	Although it seems unnatural, this rule is needed for everything else in the relational approach to work
(3)	Most people don’t like this rule at first and try not to follow it, which is a big mistake
(a)	If you have fields named HOBBY1, HOBBY2, HOBBY3, etc., you are trying to get around this rule
b)	Second normal form: The table is in first normal form, plus, if the key is composite (made up of more than one field), you cannot determine another field’s value unless you know the whole key
(1)	Example: You would not store the DEPARTMENT_HEAD in the COURSE_CATALOG table.
(a)  This violates the rule because you know the DEPARTMENT_HEAD without having to know the COURSE_NUM
(b) You would have to repeat the DEPARTMENT head for each course offered in the department
(c)	To reduce redundancy, the field should be moved to a table that has just enough key to determine it, in this case the DEPARTMENT table
c)	Third normal form: The table is in second normal form, plus, the value in each field should depend directly on the key without depending on the value of any other field
(1)	Example: The STUDENT table has an ADVISOR_SSN field
(a)	You would not also put the ADVISOR_PHONE in that table, because it depends on who the advisor is, not directly on the student
(b)	This rule also reduces redundancy by forcing you to move fields that depend on a non-key field  to a table where it depends only on the key 
(i)	Because there is only one record with a particular key, the value will be stored only once
(ii)	In this case the ADVISOR_PHONE should be in the ADVISOR table
d)	The rules can be summarized in an easy to remember phrase: Each non-key field in a table record should depend on the key, the whole key, and nothing but the key
(1)	The phrase “depend on the key” should be taken to mean that if you know the value of the key, you know the specific value of the field, not a list of values
D.	Implementing database applications
1.	Once the database has been designed, it can be implemented in one of three ways
a)	Procedural programming using files
b)	Declarativly, using database management general software
c)	A combination of procedural programming and database software
2.	Database management software based on the relational database modeling approach does not usually have a direct way to specify which tables represent entities and which tables represent many-to-many relationships, or which fields are foreign keys that create relationships with records in other tables
a)	This is unfortunate: Some researchers are studying other approaches
3.	In Paradox, we will create a “data model” for each way the data is used (reports and forms).  
a)	In Paradox the term “data model” refers to a graphical representation of the “links” that locate related records
b)	It  does not allow us to define all the relationships once and for all, or to differentiate between entity and relationship tables
c)	However, it is quite advanced over other database management software available for the PC.
E.	Query operations on relational databases
1.	Paradox and other packages based on the relational data modeling approach also have query languages
2.	A query typically involves one or more of the following operations
a)	Restriction
(1)	Select a subset of a table’s records based on some condition(s) regarding the values in each record’s fields
b)	Projection
(1)	Select a subset of a table’s fields and eliminate duplicate rows in the columns that remain
(2)	This is the way a summary can be specified
c)	Join
(1)	For two tables, for each record in the first table find the record in the second table that matches it
(2)	The query will contain fields from both tables, for each match
(3)	This is a way foreign key fields can be used to find related records
3.	Two languages are widely available to specify queries.  They specify the properties of the answer, not what to do to get the answer.  They produce an output table (the answer table) from one or more input tables.
a)	Structured Query Language (SQL) 
(1)	Textual
(2)	Many operations can be implicitly specified in one command
(3)	Example:
SELECT STUDENT.NAME, ADVISOR.PHONE
FROM STUDENT, ADVISOR
WHERE STUDENT.ADVISOR_SSN = ADVISOR. SSN AND ADVISOR.DEPT_CODE="C SC"
b)	Query By Example (QBE)
(1)	Tabular/Textual interface 
(a)	It uses templates to represent tables and fields, so those names are not typed as in SQL
(b)	Selection is done with specific values or ranges of values typed into the fields of an input table template.  Only records with the specified field value(s) will be selected
(c)	Projection is done by selecting the fields for the output table template
(d)	Joins are done by specifying fields to be matched by placing an identical example value in the field of each of the tables to be matched
F.	QBE is available in Paradox
1.	In Paradox, QBE is often not needed
a)	The data modeling capability is used to specify the joins (links)
b)	The report and form features are capable of calculating summaries
2.	QBE is needed when using Paradox for:
a)	Selection of data to be reported upon
(1)	The data model does not have selection capability
b)	Doing some types of projection for summaries
3.	It is better not to use QBE for joins that can be specified with the data model
a)	The data model links are shown graphically, which is more understandable than the QBE tabular format language
b)	The data model approach accesses data as it is needed, instead of generating potentially large output tables that result from QBE 
XIV.	Applications software development
A.	Software to meet the needs of particular application
B.	Costs
1.	Costs historically hardware dominated
2.	Now 70% of total computing costs are for software
3.	Now 80% of software costs are for maintenance
4.	This has created a software crisis that is causing two kinds of reaction
a)	Increased use of general and generic software instead of developing from scratch in a procedural language
b)	Increased use of tools and techniques to improve quality and reduce development time of applications written in a procedural language
C.	Every application of computer technology requires that certain activities occur
1.	Analysis of the problem
2.	Design of the solution
3.	Implementation of the design in software
4.	Usage of the software for the application
D.	Depending on the scope of the application, the activities will vary in duration
1.	For a small system, the analysis may be documented in a single paragraph
2.	Often the activities are intermingled so that it is not clear how much time was spent on each one
E.	Development of applications by power users using general software is not different in principle from the development done by technical personnel
1.	Thinking about the different activities and documenting the results of each one will have a benefit in improving the quality of the system and reducing overall costs
F.	Software development cycle
1.	Systems Analysis
a)	Preliminary Study
(1)	Identify a potential application area for improvement
(2)	Conduct cost/benefit analysis
(3)	Propose an application development area that has good potential
b)	Requirements Definition
(1)	Identify the functions needed
(a)	Define Output
(i)	Content
(ii)	Format
(iii)	Timing
(iv)	Flexibility
(b)	Define Input
(i)	If you’re lucky the data will be already available in the form you need it
(ii)	Procedures for gathering the data not already available
(a)	Data entry and verification has very high costs
(2)	Define constraints
(a)	People constraints
(b)	Facility constraints
(3)	Make or buy decision
(a)	You might buy generic software
(i)	Advantage of buying: timing, certainty, cost
(ii)	Disadvantage of buying: It might not be exactly what is needed
(b)	You may develop the software in-house or contract it out
(4)	Requirements Specification
(a)	Formalize the results of the requirements definition
(i)	Design the logical data model
(ii)	Formalize the rules of the business policies to be followed
(b)	This phase produces the document that is the contract for the system to be developed
2.	System Design
a)	Analysis concentrated on what the system should do, while design concentrates on how it is to be done
(1)	The user interface is designed
(2)	The physical data representation is designed
(3)	The overall functionality is logically divided into parts that can be more easily understood and implemented
b)	For the design to proceed, the designer must select
(1)	A hardware platform
(2)	System software
(3)	Computer language(s)
c)	Design techniques and documentation methods must be chosen
(1)	Structure charts
(2)	Hierarchical Input Process Output (HIPO) charts
(3)	Object Oriented Modeling
d)	Formal design review
(1)	All concerned parties should agree that the design will provide the functionality identified in the requirements specification
3.	Software Implementation
a)	For each of the software elements of the design
(1)	Code the implementation
(2)	Unit test the element
(a)	Desk check
(b)	Compile errors
(c)	Execution testing
(i)	If bugs are found, debug and test again
(ii)	Otherwise proceed
b)	Integrate the software elements into the complete system
c)	Perform acceptance testing
(1)	All concerned parties should agree that the software implementation provides the functionality identified in the requirements specification
4.	System Documentation
a)	User
b)	Technical personnel
c)	Operations personnel
5.	System Implementation
a)	Installation
(1)	Hardware
(2)	Software
b)	User training
c)	Conversion from old system
6.	Maintenance
a)	Fix bugs as they are found
b)	Major changes in the environment may mean the whole cycle starts again
G.	A mistake can be made (a bug introduced) at any point in the cycle
1.	If it is caught during the same phase not too much harm is done
2.	If it is caught during a latter phase, a significant amount of work may have to be redone
H.	The system should be re-evaluated at every step along the way
1.	The objectives of the project may decline in relative importance
2.	A new cost/benefit analysis may indicate a need for change
3.	The project will be looked on unfavorably if the overall cost is greater than the benefit or if other applications would be more profitable
a)	The project may be continued as long as the additional cost of completing the application does not exceed the benefit
b)	Runaway application development costs are a well known phenomenon, so canceling a project may be the best choice
XV.	Communications within and between computers and I/O devices
A.	A channel is used for communication between two or more parties
1.	The signal can be carried by:
a)	Wires
b)	Fiber optics
c)	Microwave
d)	Radio
e)	Infrared light
2.	Point-to-point channel: Two parties own the channel
a)	Simplex: direction is fixed, one sender and one receiver use the channel
b)	Half duplex: one sender and one receiver, but the two parties can negotiate the direction and switch it back and forth over time
(1)	Similar to CB radio
c)	Full duplex: two parties communicate; the may send and receive to and from each other at the same time.
(1)	This are really two sub-channels, one in each direction
(2)	This is hard for people, but easy for computers
3.	BUS channel:  Many parties share the same channel
a)	A party that wants to become a sender must obtain exclusive use of the channel and address a message to the intended receiver party
b)	All the parties listen to the BUS channel for messages addressed to themselves, and receive them, and ignore other messages
c)	This is similar to the telephone party lines still in use in some rural areas
d)	BUS channels are cheaper because one channel serves many clients
4.	Channel bandwidth:  The number of  bits per second (bps) that may be transmitted
a)	Two factors determine the bandwidth of a channel
(1)	The number of bits that are transmitted at the same time
(a)	If it is one, it is called a serial channel
(b)	If more than one, it is called a parallel channel
(2)	The number of bits that may be transmitted, one after the other, per second
b)	The product of the two factors is the number of bits per second (bps) of the channel
c)	It is cheaper to use a serial channel because it requires fewer wires (parallel requires at least a wire per bit)
d)	Parallel is faster, given the same number of bits that may be transmitted, one after the other, per second
B.	Communications within a computer
1.	A BUS is used to communicate between the CPU, memory, and other cards on the bus (video card, disk controller card, serial card, sound card, modem card, etc.)
2.	The BUS channel is parallel with sets of wires for ADDRESS, DATA, and CONTROL bits
3.	The CPU is usually the only sender on the address and control wires
4.	Each card listens for its address or range of addresses
5.	When a card hears its own address it looks at the R/W bit of the CONTROL wires to see if it should:
a)	Read the data from the data wires (receive data)
b)	Write data onto the data wires (reply to the requester)
C.	Communications between a computer and a dedicated I/O device
1.	A point-to-point, serial, full duplex channel is often used for printers, external modems, etc. (RS-232)
2.	A point-to-point, parallel, simplex channel is sometimes used  (Centronics)
3.	A bus, parallel channel is used for disk or other high-speed devices
a)	Up to 7 devices may be connected together on one Small Computer Systems Interface (SCSI) bus.
D.	Communication among computers 
1.	A Serial point-to-point channel is usually used between two computers that are more than a few feet apart
a)	Often the RS-232 standard is used with a null-modem cable
b)	The cable for the channel is cheaper because few wires are required for a serial channel
c)	A computer may instead be connected to a modem connected to a phone line that can then be dialed to another modem connected to another computer.  This establishes a long distance point-to-point serial channel. 
d)	A modem converts a digital  voltage based signal into tones it sends, and receives tones, converting them into a digital voltage based signal
2.	A serial BUS may be used for several computers in a local geographic area
a)	Simple, because each computer is only responsible for itself
(1)	One or more computers may act as servers to the rest of the computers, but this is not a requirement of a bus network itself
b)	The message is sent in two parts, one after the other:  the address followed by the data
c)	Each technology has a certain way the sender gains control of the bus 
(1)	On Ethernet, you listen, and if you don’t hear anything, you can start sending your message.
(a)	You also listen as you send, and if you don’t hear what you are saying, you assume someone else started talking at the same time
(b)	If a collision occurs, you wait for a small randomly chosen amount of time and try again.  It’s most likely you will not both wait for exactly the same amount of time and collide again.
(2)	On token based networks, a special message (of which there is one copy) gives a computer the right to send
(a)	The token is always being passed around in round-robin fashion so all the computers have turns
(b)	If you need to send a message, you have to wait until you get the token
(c)	After sending the message, you continue passing the token.
(3)	In some types of bus networks, the sender is allowed to wait for a reply (the receiver is immediately given exclusive use of the channel to send a reply without having to ask for the channel) 
3.	Special purpose computers can be built into printers, modems, and other devices to connect them to a bus network so they can be shared.  The special purpose computer will then listen to command messages sent to it and control the device as requested (e.g. print the text that was included in the message). 
4.	Point-to-point channels may be used to connect local area buses
a)	A special purpose computer called a bridge listens for addresses that are not local and forwards them to another local bus.
5.	Point-to-point channels may be used to form a STAR network, ring network, or other configurations (topologies)
a)	More complicated than a bus network, because computers must cooperate to forward messages to the correct party
b)	The STAR topology reduces complexity because only one computer must know how to forward messages
c)	There is a network technology that uses a ring topology with very high speed point-to-point serial simplex connections between the computers in a ring
(1)	Using the ring topology reduces the complexity: you simply copy, mark as received, and forward the messages addressed to you and simply forward the rest
(2)	If you get back a message you sent that has not been marked as received, you know that the addressed computer was not in the network
d)	Other topologies are more complicated to implement, but may be justified by reducing the total cost of the channels.
XVI.	Computer Networks
A.	A computer network is a collaboration of independent entities making effective use of data communications to accomplish tasks
B.	Used to share resource(s)
1.	Many users sharing mainframe computers using dumb terminals
2.	Many micro-computers sharing a common printer
3.	The resource being shared may be a common DATABASE or file system
C.	Used for electronic
1.	Mail
2.	Meetings
3.	File distribution
D.	Communications service companies
1.	Time-sharing (rare today)
2.	Information retrieval
a)	Dow Jones
b)	The Source
c)	Prodigy
3.	Sharing of files among users of PCs
XVII.	Observations from videos
A.	The rise of the use of mathematics to explain and predict the behavior of physical systems created the need for a lot of symbolic computation
1.	The term computer until the 1940’s used to refer to a profession, not a machine
2.	Some parts of the computation process were automated, e.g. adding machine, tables of mathematical functions.
B.	Sorting and summarizing large amounts of symbolic information was required in many contexts, such as the U.S. census
1.	Tabulating machines automated the process, but many manual steps were required
2.	Holes punched in cards were symbols that could cause an action to take place, such as incrementing the counter for the number of households with indoor plumbing
C.	A conceptual leap was made when it was realized that the holes in cards could just as well represent the instructions the machine should follow 
1.	A computer program could be represented in the same manner as the data that the computer manipulated
2.	Representing a program and data in the same way opened the door to programs that could read a program written in one language as input and then translate it into machine language as output.  The new machine language program could then be executed.
3.	The development of high-level languages in which the computer could be instructed opened the door to non-mathematicians writing computer instructions
D.	Recurring themes
1.	Large companies are typically the last to see the paradigm shifts
a)	IBM has survived despite this fact
2.	People have a fascination with computers
3.	The ability of computers to do symbolic processing to translate from one language to another allows them to act as their own interpreter when interacting with average people
a)	The latest language - one that is based on the way children learn - makes computers even more accessible
4.	In the past, development of computers occurred only when there was a strong motivating factor
a)	Ironically the biggest applications were the ones no one had thought of
5.	Computer speed and memory have grown at a dizzying rate, while software has lagged behind
a)	For many applications today, the software costs much more than the hardware
b)	Software is very hard to develop
(1)	Even though we use high-level languages, typical programs might have a million instructions, and if any one instruction were incorrect, the program could fail
(2)	There is no physical proximity of components to where the failure occurs
E.	Artificial Intelligence
1.	The computer is used for things that would normally require a person to think, or use intelligence.  Ironically, it has been found that:
a)	The things people think are hard, like doing calculus problems and offering expert advise in a specialized area are easy to do by computer
(1)	These kinds of tasks require only a few hundred rules at most
b)	The most difficult thing to do by computer is what people do easily: understand and use human language
(1)	This requires general background knowledge that is too broad to code into a computer
F.	Communications and database technology
1.	Communications make physical proximity unnecessary to a community, leading to positive changes for many people
a)	Disabled
b)	Very specialized hobbies and interests
c)	Tele-commuting to work
2.	Communications allow data to be passed among many databases
a)	Good effects, such as finding fraud, making stock trades quickly, etc.
b)	Bad effects when mis-information is passed around
3.	With information passing around so quickly, there is a question regarding stability of the systems
a)	The “Black Monday” stock market crash is an example
XVIII.	Classification of applications within an endeavor
A.	In any endeavor, applications can be categorized
1.	Administration of the endeavor (paperwork)
2.	Sensing/Control of the endeavor
3.	Interpretation/Visualization of data associated with the endeavor
4.	Advise/Education on carrying out the endeavor
B.	Some applications may fall into more than one category
C.	Why categorization is useful
1.	It can aid in finding applications and/or ideas in one endeavor that may be reused in another
2.	It can help you detect where computer technology is underutilized in your endeavor
D.	Health Care
1.	Administration
a)	Hospital Information Systems
b)	Patient Interviewing
2.	Sensing/Control
a)	Patient Monitoring
b)	Pharmacy
3.	Interpretation/Visualization of large amounts of data
a)	Computer Aided Tomography
b)	Statistical Analysis
c)	Simulation of heart function
4.	Advise/Education
a)	Medical databases
b)	Diagnostic advise (expert) systems
E.	Education
1.	Administration
a)	Registration
b)	Grading/Computer Managed Instruction (CMI)
2.	Sensing/Control
a)	Drill & Practice
b)	Tutorials
c)	Simulation
d)	Hypertext
3.	Interpretation/Visualization of large amounts of data
a)	Statistical analysis of performance on test questions
4.	Advise/Education
a)	AI Expert system for diagnosing learning disabilities
F.	Art & Entertainment
1.	Administration
a)	Film pre-production planning
2.	Sensing/Control
a)	Film Editing
b)	Colorization
c)	Musical Instrument Digital Interface (MIDI)
3.	Interpretation/Visualization of large amounts of data
a)	Literary Research
4.	Advise/Education
a)	Chord and interval drill and practice
b)	The electronic piano teacher
G.	Industry
1.	Administration
a)	Management resource planning
2.	Sensing/Control
a)	Silicon compiler
b)	Computer Aided Manufacturing (CAM)
c)	Robots
3.	Interpretation/Visualization of large amounts of data
a)	Computer Aided Design (CAD)
4.	Advise/Education
a)	Expert system for layout of factory
H.	Business & Finance
1.	Administration
a)	Word Processing
b)	Electronic Mail
(1)	FAX
(2)	Voice mail
(3)	Machine readable manuscripts
(4)	Mailbox/messages
(5)	Teleconference
(6)	Tele-commuting
c)	Payroll
d)	Office Information Systems
2.	Sensing/Control
a)	Transaction Processing
(1)	Inventory control
(2)	Accounts receivable (billing)
(3)	Accounts payable (paying bills)
(4)	General Ledger
b)	Bar Code Readers
c)	Electronic Funds Transfer (EFT)
(1)	Smart Cards
d)	Program Trading
3.	Interpretation/Visualization of large amounts of data
a)	Decision Support Systems
4.	Advise/Education
a)	Expert system to approve loan applications