1 Chapter 1: Becoming Skilled at Information TechnologyFluency with Information Technology Third Edition by Lawrence Snyder
2 Terms of Endearment Defining Information TechnologyLearning the language of IT Acronyms WYSIWIG Jargon "Clicking around" Metaphors Everyday terms like "window" have special meanings in IT
3 Why Know Just the Right Word?There are many new terms in IT Terms are invented for ideas, concepts and devices that never existed before Educated people use the right word at the right term "le mot juste" (the right word)
4 Why Know Just the Right Word? (cont'd)Terminology is basic to learning a new subject Words represent ideas and concepts Precision in word use represents precision in understanding idea Communicating with others To be able to ask questions and receive help By , by telephone, through online help facility
5 Where's the Start Button?Most computers are left on all the time Screen savers prevent burn-in on screen Computer is reactivated by moving or clicking mouse, or pressing a key Why bother to learn where the Start Button is? Sometimes computers are off Need to power-cycle
6 Two Basic OrganizationsComponent Desktop PC's with separate components Monitor Hard Drive Speakers Etc. Allows user to mix and match Power switch on box with disk drives
7 Two Basic Organizations (cont'd)Monolithic iMac or laptop has all devices bundled together Simple and convenient Power switch on chassis or keyboard
8 The Monitor Interactive video screen Bit-mappedDisplay information stored in computer memory
9 The Monitor (cont'd) CRT's and LCD'sScreen displays images from its memory Virtual Reality
10 Cables Connect components to computer and to power sourceCables need to be plugged in correctly Sockets and plugs labeled with icons and color coded
11 Colors RGB CMYK Primary colors of lightred, green, blue Colors on screen created by combining different amounts of primary colors CMYK Primary printer colors cyan, magenta, yellow, key/black
12 Pixels Grid of small units called pixels (for picture elements)Size of the dot on letter i Computer draws each pixel in the designated color for the image or figure The more pixels in each row and column, the smoother and crisper the image (high resolution)
13 A Virtual Button Color the screen's pixels to make a believable 3-D looking button Medium-gray background Rectangle with top and left sides white, bottom and right sides black
14 A Virtual Button Button Motion Reverse black and white colorsMove position down and to right
15 Pressing a Virtual ButtonMoving the mouse pointer Mouse pointer is drawn on screen like any image When mouse moves, computer re-draws in correct direction Fast refresh rate (30 times per second) creates illusion of motion Computer keeps track of which pixel is at the point of the arrow
16
17 Coordinating the Button and the MouseWhen mouse is clicked, computer redraws button that mouse is hovering over Computer keeps a list of every button drawn on screen Positions of upper-left and lower-right corners When button is re-drawn in clicked position, software reacts by performing appropriate action (event-driven)
18
19 Motherboard Printed circuit board inside processor boxContains most of the circuitry of PC system
20 Motherboard (cont'd) Smaller circuit boards, called daughter boards or cards, plug into motherboard for added functionality Motherboard contains the microprocessor chip or central processing unit (CPU) and the memory
21 Microprocessor "Smart" part of system Performs actual computing"Micro" was adopted around 1980 to distinguish single chip circuitry from larger mainframes of the day. Term is archaic. It is more correct to say "processor" or CPU. Multi-Cores
22 Memory (Primary/Main Memory)Where program and data are located while program runs RAM: Random Access Memory - volatile PC Contains millions/billions of bytes of RAM - Megabytes (MB) / Gigabytes (GB) What Random Access means Any item can be retrieved directly Unlike sequential access (ex. tapes)
23
24 Hard Disk (Secondary Memory)High-Capacity, persistent peripheral storage device Stores programs and data not in immediate use by computer Made from magnetized iron compound Information remains whether PC is on or off Called permanent or persistent storage non-volatile
25 Hard Disk (cont'd) Small stack of bright metal washers with arm that sweeps across
26 Saving from RAM to Hard DiskSaving moves information from RAM to hard disk Prudent user saves frequently RAM memory is volatile Information is lost when power turns off If computer fails or power-cycles, only data on disk will survive
27 How Soft is Software? Hardware is old term for metal items used in construction Refers to physical parts of computer Functions implemented directly with wires and transistors Software is a term created for computers Means programs or instructions the computer follows to implement functions
28 Algorithms and ProgramsPrecise and systematic method for solving a problem (steps to accomplish a task) Examples: Arithmetic operations Sending a greeting card Searching for a phone number Determining when a mouse pointer hovers over a button Algorithms need to be precise
29 Algorithms and Programs (cont'd)Writing out steps of algorithm is called programming Program is an algorithm written in specific language for specific set of conditions Running a Program Click on program icon (ex. Firefox browser) We instruct computer to run or execute or interpret the program from Mozilla company that browses Internet.
30 Boot Booting: Start computer Rebooting: Re-start computerBoot instructions are stored in a microchip called the boot ROM Term comes from "bootstrapping"
31 The Words for Ideas Abstract: Remove the basic concept, idea, or process from a situation Abstraction is a more succinct and generalized form of the removed concept. e.g., parables and fables (moral is abstracted from story) Decide which details are relevant Understand and convey the same point to apply to many situations
32 "Generalize" Recognize common idea in two or more situationsSummarize expression of idea, concept, or process that applies to many situations e.g., faucet handles usually turn left for on and right for off Caps usually twist left to loosen, right to tighten Remember that generalizations will not apply in every single situation
33 "Operationally Attuned"Being aware of how a gadget works Apply what we know about how device or system works to simplify use e.g., cap lids usually twist less to loosen, so we are confident about which way to twist if unsure Thinking about how IT works makes it simpler to use technology
34
35 "Mnemonic" Memory aid Helps simplify use of technologyHow to pronounce words and phrases e.g., 5 Great Lakes are HOMES (Huron, Ontario, Michigan, Eire, Superior) PILPOF - Plug in last, pull out first Spring ahead; Fall back Helps simplify use of technology Easy memorization of infrequently used details
36 Analytical Thinking Use specific facts and comparisons to back up statements Non-analytical statement: World record in the mile run has improved Analytical statements: In 45 years, the world record in the mile has improved from to , a 7% improvement The average 20 year old can run a mile in 7.5 minutes. The world record holder is twice as fast.
37 Factor of Improvement As a percentage As a factor:Divide the new rate by the old rate New rate is 7% faster As a factor: New rate is factor-of-1.07 times faster than old rate, and factor-of-2 times faster than average person
38 Super Computers Analytical comparison of computer speeds UNIVAC IFirst commercial computer released in 1951 Rate of 100,000 addition operations (adds) per second Today's Thinkpad Affordable laptop system Rate of 1 billion adds per second Factor of 10,000 improvement over UNIVAC ASCI Red Intel Computer built for Sandia National Labs Rate of 2.1 trillion floating points (decimal) adds per second Factor of 21 million improvement over UNIVAC
39 Benefits of Analytical ThinkingLearning specific facts, and comparing to other specific facts Putting things in perspective Factor of 1.07 improvement in mile run record does not seem small when compared to factor of 2 difference between world record holder and average person
40 Defining WYSIWYG First acronym in this chapter"What you see is what you get" Text is stored in memory as long line of letters, numbers, punctuation, etc. Original text editing software could not display formatting; users had to guess what it would look like when printed WYSIWYG applications, like word processors, display data as formatted page
41
42 Fluency with Information Technology Third EditionChapter 2: What the Digerati Know: Exploring the Human-Computer Interface Fluency with Information Technology Third Edition by Lawrence Snyder
43 Learning About TechnologyPeople do not have any innate technological abilities Our experience using (related) devices, including software, shows us what to expect Designers who create devices, including software, know about this experience and design products to match what we already know
44 The Desktop Image displayed on the monitor when a PC starts upColored or patterned background Information displayed on top, bottom, or side Three types of icons: Applications (programs) Folders (directories) Files (documents)
45 The Desktop (cont'd) "Desktop" is a metaphorAn analogy for computation Working at PC is analogous to working at a desk Work goes in files Files go in folders Tools (a program or a calculator) are used to perform tasks
46 Playing Recorded MusicExample of metaphoric user interface Software that plays CDs on computer has Graphical User Interface (GUI) This GUI resembles a familiar music player Buttons resemble an ordinary CD player User can apply knowledge of CD player to learn to use this GUI without special instruction because the metaphor is familiar
47
48 Understanding the Designer's IntentSoftware designers try to pick easy-to-understand user interfaces We can expect good software to be well crafted so we can "brain out" how it works We use this idea every time we use new software
49 Consistent InterfacesDesigners use metaphors similarly When we see an icon or metaphor we have seen before, we know how it works There are standard metaphors found in all GUIs
50
51 Command Buttons May look like a 3D rectangle or circle, with an icon or text centered on the button We click mouse to "press" the button and the command is invoked Tells the software to perform the operation We receive feedback to confirm the button has been clicked Color change, shadow, highlight, or audible click
52 Slider Control Sets a value from a "continuous" range, like volumeMove slider by placing mouse pointer on it and dragging in the direction of change Scroll bars are a type of slider control
53 Triangle Pointers Indicates presence of hidden or alternative information Clicking on triangle reveals the information Triangles at the ends of slide bars shift the contents of the window Experienced users look for familiar metaphors and learn new ones when they are encountered
54 Anatomy of an InterfaceMenu List of operations the software can perform Grouped by similarity of operations Listed in menu bar All operations performed by the software are listed in the menu
55
56
57 Menu Operation Menus on the top bar are called pull-down or drop-down menus Mouse click reveals list of operations Sliding mouse down the list highlights items Clicking or releasing button on highlighted item causes computer to perform that operation Same operation may be available by icon on a toolbar below the menu Menus that display on a (right) mouse click are called pop-up menus
58 Reading a Menu Menus provide information about: List of items SubmenusWhether an operation is available Where more user input is needed Shortcuts
59 Submenus Menu items that have a category of choices have a triangle pointer at right end Example in the Edit menu: Clear Selecting that item brings up another menu (submenu) with additional choices for that main item
60 Which Operations Are Available?GUI menu is created each time it is opened Specify which operations are available in a situation e.g., copy is not available if nothing is selected to be copied Unavailable operations are shown in lighter color or "grayed out" and can't be selected Example in the Edit menu: Cut
61 Is More Input Needed? Items that need more specification have an ellipsis at right end (…) Example in the Edit menu: Paste Special… Selecting item pops up an additional menu requiring more input Software continues to ask for information by opening new windows until it has enough Then performs operation immediately and closes menu(s) and window(s)
62 Is There a Shortcut? Menu items may have keyboard shortcutsCombination of keyboard characters that have the same effect as clicking menu item Shortcut appears next to menu item Shortcut consists of combination of special key (meta key) and a letter For Mac: special key is Command (clover) For Windows: special key is Control Shortcuts are usually consistent across operating systems
63
64 Standard GUI FunctionalityOperations that are available in any software because they are needed to process any type of information Save Open Print Standard operations usually grouped as File and Edit
65 File Operations Generally apply to whole instances of the type of information being processed Word Processor: Instance is a document MP3 Player: Instance is a song Photo Editor: Instance is a picture
66 File Operations (cont'd)New: Creates a blank instance Open: Locates and reads file on disk Close: Stops processing current instance, closes window, but keeps program running Save: Writes current instance to disk, using previous name and location Save As: Writes current instance to disk, using new name and location
67 File Operations (cont'd)Page Setup: Specify how printed document should appear on paper Print: Prints copy of current information Print Preview: Shows how the information will appear when printed Exit or Quit: Ends application
68 New Instance Recall that New creates a "blank" instanceWhat is blank information? Information is grouped into types based on properties Digital photographs are a type of information; length and width are among the properties Text documents are a type of information; length of document in characters is a property A blank instance is the structure of the file, with no properties or content filled in A prudent user will Save As right away to specify a name and location for this new instance
69 Edit Operations Let you make changes within an instanceOften involve selection and cursor placement Edit operations are performed in standard sequence: Select, Cut/Copy, Indicate Placement, Paste, Revise
70 Edit Operations (cont'd)Undo: Cancels the most recent editing change (may not be available for some operations) Repeat: Applies the most recent editing change again Copy: Stores a temporary copy of selected information, ready for pasting
71 Edit Operations (cont'd)Cut: Removes selected information and saves in temporary storage, ready for pasting Paste: Takes data held in temporary storage by Cut or Copy, and inserts it into current instance Clear: Deletes selected information Select All: Selects the entire instance
72 Microsoft Office 2007 RibbonNew ribbon interface in Vista Hides most menu operations until needed Office button (upper left corner) is the File menu Edit operations are in several locations Home tab: Cut, Copy, Paste Quick Access toolbar (above Home tab): Undo Far right end of ribbon: Find, Replace, Select
73
74 Expecting Feedback Feedback is any indication that the computer is still working, or has completed task For editing change, proof of completion is that the revision is visible For button click, software provides an indication like highlighting, shading, graying, underlining, changing color, or audible click
75 Expecting Feedback (cont'd)Most common feedback: Indication that computer is working on time-consuming task Cursor is replaced with icon like hourglass (Windows) or rainbow spinner (Mac) Other forms of feedback: busy spinner, running dog or horse, time-estimating meter "fills", completion count
76 "Clicking Around" Exploring a user interfaceNoting basic GUI features Checking each menu to see what operations are available Helps user figure out what operations are available without being taught Clicking around works because consistent metaphors and interfaces make new software predictable
77
78 "Blazing Away" The next step after clicking aroundAssertively exploring features even without a clear idea of their functions Nothing will break: Only risk is losing time spent and having to re-start or reboot Remember the Undo operation Concentrate on operations related to whatever task needs to be done
79 Watching Others Complicated software systems usually have features that are not obvious, too advanced, or too specialized to learn by clicking around Shift-Select Operation Allows you to select adjacent pieces Control-Select Operation Allows you to select non-adjacent pieces Many obscure features, tricks, and shortcuts can be learned by watching others
80
81 A Basic Principle: Form Follows FunctionFundamental operations of a software system and the way they work are determined by the task being solved GUIs may look different, but two software systems for the same task will have same basic operations and will work similarly
82 Similar Operations Have Similar FeaturesText processing applications all: Use a cursor to mark your place Have operations for typing, deleting, selecting, copying, searching, replacing, etc. These operations work similarly e.g., backspace key removes character to the left of the cursor So how do vendors compete? Add non-fundamental features Make systems more convenient, friendlier, faster, less error-prone, etc.
83 Take Advantage of SimilaritiesForm follows function principle is important because: New versions of familiar software will share core functions, and many features and quirks of earlier versions When we must perform a familiar task with unfamiliar software, we are already experienced and familiar with its basic features When we are frustrated with one vendor's software, we can easily learn another
84 Searching Text Using FindAn illustration of the principle that form follows function Text search, or find, is used in many applications such as word processors, browsers, readers, and operating systems Found under Edit or File menu (shortcut Ctrl-F) Tokens are the things to be searched Single characters like letters, numbers, special symbols Composite items like dates
85 How to Search Searching starts at beginning of document or at current cursor position "Slide" the search string along the text At each position, look for token match If there is a match, the process stops and displays the found instance If there is no match, slide the search string one position along If the search string is not found by the end of the text, search stops and is unsuccessful
86 Search Complications Case Sensitivity:Computer stores uppercase and lowercase letters as different characters Match only occurs when both the letters and the case are identical Search tools are case-sensitive in word processors but not necessarily in all applications User has the option to ignore case-sensitive capability This is often the default
87 Search Complications (cont'd)Hidden Text: There are two types of characters: keyboard characters typed by user, and formatting information added by the application Search generally ignores application's formatting tags Some systems allow user to search for formatted text such as italic.
88 Search Complications (cont'd)Substrings User may be looking for words, but the tokens are the characters in the word Search will turn up words that contain the search string (searching for "you" will turn up "your") Word processors usually have ability to search for whole words Multiword Strings Words are separated by spaces. If the number of spaces in the search string is different from the number in the text being searched, no match is found
89 Editing Text Using SubstitutionSearch and replace combines searching and editing to make corrections to documents Useful for correcting all occurrences of search string Change "west coast" to "West Coast" Eliminate extra spaces Formatting text
90 Technology: Take IT PersonallyWe have learned we can expect intuitive interfaces To learn to use new software, we should ask ourselves: What do I have to learn about this software to do my task? What does the designer of this software expect me to know? What does the designer expect me to do? What metaphor is the software showing me? What additional information does the software need to do its task? Have I seen these operations in other software?
91 Take IT Personally (Cont'd)Other questions you may ask yourself about Information Technology: Is there IT that I am not now using that could help me with my task? Am I more or less productive using this technological solution for my task? Can I customize the technology I'm using to make myself more productive? Have I assessed my uses of information technology recently?
92
93
94
95 Chapter 3: Making the Connection: The Basics of NetworkingFluency with Information Technology Third Edition by Lawrence Snyder
96 Networked Computers Change Our LivesThe Information Age has brought profound changes Nowhere is remote People are interconnected Social relationships are changing English is becoming a universal language Freedom of speech and assembly have expanded
97 Nowhere Is Remote Internet is a complete information resource no matter where you are Some differences remain because older sources are not yet all online Homes are not remote from work Information workers can telecommute and live long distances from their offices
98 People Are More InterconnectedFamily and friends stay in closer, more frequent contact via Internet than via telephone or "snail mail" WWW lets us meet people passively People with similar interests find each other through search engines Associations can form rapidly
99 Social Interactions Are ChangingTime spent online displaces other in-person social activities (displacement effect) The effects are complicated (pros/cons) The Internet is changing social interactions, but we don't fully understand how
100 English Is Becoming a Universal LanguageInfluence of American pop culture since World War II Dominance of science and technology in English-speaking countries Much software is available only in English Most web pages are in English
101 Freedom of Speech and of Assembly Have ExpandedInternet use is unmediated No editorial oversight or significant restrictions Wikis Allows for political and artistic expression Blogs record personal thoughts for public viewing Like-minded people can communicate, even on private topics
102 Communication Types General CommunicationSynchronous: sender and receiver are active at the same time e.g., telephone call, instant messaging (IM) Asynchronous: sending and receiving occur at different times e.g., Broadcast communication (or multicast): single sender and many receivers Point-to-point communication: single sender and single receiver
103
104 The Internet's Communication PropertiesInternet provides a general communication "fabric" linking all computers connected to it Can be applied in many ways: Point-to-point asynchronous is alternative to standard mail Point-to-point synchronous IM is alternative to telephone Multicasting Chat rooms are alternatives to magazines Broadcasting Web pages are alternatives to radio and television
105 The Client/Server StructureServer is the computer that stores the web page Web server, file server, mail server Client is the computer that accesses the web page When you click link, your computer enters client/server relationship with web server Once the page is sent to you, the client/server relationship ends Server can form many brief relationships so it can serve many clients at the same time
106
107 The Medium of the MessageThe Name Game of Computer Addresses IP addresses: Each computer connected to the Internet is given a unique numerical address For example: Hostnames: Human-readable symbolic names, based on domain hierarchy Easier to read and remember For example: spiff.cs.washington.edu
108
109
110
111 DNS Servers The Domain Name System (DNS) translates the human-readable hostnames into IP addresses Internet host knows the IP address of its nearest DNS server, a computer that keeps a list of host/domain names and corresponding IP addresses When you use a hostname to send information, your computer asks the DNS server to look up the IP address If the DNS server doesn't know the IP address, it asks a Root name server, which keeps the master list of name-to-address relationships
112
113 Top-level Domains Domain is a related group of networked computersTop-level domains appear in the last part of domain name: .edu educational institutions .org organizations .net networks .mil military .gov government agencies Mnemonic two-letter country designators such as .ca (Canada)
114 Following Protocol A protocol describes how the information is actually sent TCP/IP (Transmission Control Protocol/Internet Protocol) Information is broken into a sequence of small fixed-size units called IP packets Each packet has space for the unit of data, the source and destination IP addresses, and a sequence number The packets are sent over the Internet one at a time using whatever route is available Because each packet can take a different route, congestion and service interruptions do not delay transmissions
115
116
117 Moving Packets: Wires and MoreInternet uses electrical, electronic, and optical communication means Telephone lines, dedicated fiber optic lines, etc. The technology used to move the packet is independent from the protocol; transmission of a single file may use multiple technologies
118 Far and Near: WAN and LANInternet is a collection of Wide Area Networks (WAN), designed to send information between widely separated locations Multiple hops ping, traceroute Local Area Networks (LAN) connect computers close enough to be linked by a single cable or wire pair Ethernet is the main technology for LAN
119 Ethernet Channel (wire, wire pair, or optical fiber) that winds past a set of computers Each computer is connected to the channel, allowing it to send a signal that can be detected by all computers connected to the channel Decentralized scheme: Each computer listens to the channel, and if it's quiet, it's free. The computer transmits unless another starts at the same time. In that case, both stop for a random time and then try again.
120
121 Connecting a Computer to the InternetBy ISP: Internet Service Providers sell connections to Internet (like AOL and Earthlink) User plugs into telephone system or dedicated connection to ISP (DSL, cable) Home computer talks to ISP's computer ISP's computer is connected to Internet, and relays information for its customers
122 Connecting a Computer to the Internet (cont'd)By Enterprise Network Connections (LAN): Large networked organizations such as schools, businesses, or governmental units The organization creates a LAN or intranet The intranet connects to the Internet by a gateway Information from a Web computer is sent across Internet, through gateway, across LAN to user's computer
123 Wireless Networks A variation on the LAN connectionA computer (called the access point or hub) is physically connected to the Internet (wired) The hub broadcasts and receives radio frequency (rf) signals (wireless) Mobile computers also send and receive signals (wireless) Access point hands out temporary IP addresses via DHCP (Dynamic Host Configuration Protocol) The hub relays Internet requests for the connected wireless computers
124 The World Wide Web Web servers: Computers programmed to send files to browsers running on other computers connected to the Internet Web servers and their files make up the World Wide Web The World Wide Web is a subset of the Internet
125 Requesting a Web Page Web request creates a client/server interactionUniform Resource Locator (URL) has three main parts Protocol: ftp:// Hypertext Transfer Protocol File Transfer Protocol Tells the computer how to handle the file Server computer's name: Server's IP address given by the domain hierarchy Page's pathname: Tells the server which file (page) is requested and where to find it.
126 Describing a Web Page Pages are stored as a description of how they should appear on the screen Web browser created the image from the description file Browser can adapt the source image more easily
127 Hypertext Hypertext Markup Language (HTML)Markup languages describe the layout of a document Margin width Font Text style Image placement Etc. Hypertext provides a way to jump from point to point in documents (non-linear) Combination of hypertext and markup languages lets us build non-linear documents for the dynamic and interconnected Net and Web Much more on HTML in Chapter 4
128 The Internet and the WebWhen is the "www" required and when is it optional? WWW is just a name; web servers do not have to use it In order for DNS to work, user must give the exact hostname To help users reach them, organizations do two things: Redirection: server inserts the "www" or redirects to a different server Registering multiple domain names Museum of Modern Art has registered both "moma.org" and "www.moma.org" to the same IP address
129 File Structure Directory, or folder, is a named collection of files, other directories, or both Directory Hierarchy: Directories can contain other directories, which can contain other directories, etc. Down, or lower in the hierarchy, means moving into subdirectories Up, or higher in the hierarchy, means into enclosing (parent) directories
130 File Structure (cont'd)Part of the directory hierarchy is shown in the pathnames of URL's. Page is given by pathname: /galleries/ga1100/pioneer.html Each time we pass a slash (/), we move into a subdirectory or into the file (lower in the hierarchy)
131
132 Organizing the DirectoryWhen a URL ends in a slash, the browser looks for a file called index.html in that directory and are the same If the browser does not find an index.html file, the browser automatically tries to display a directory listing (index) of the files there Why are hierarchies important? People use them to organize their thinking and work Directories are free; there is no reason not to use them
133
134
135
136
137
138
139
140 Chapter 4: Marking Up With HTML: A Hypertext Markup Language PrimerFluency with Information Technology Third Edition by Lawrence Snyder
141 Marking Up with HTML Tags describe how a web page should lookFormatting with Tags: Words or abbreviations enclosed in angle brackets < > Come in pairs (beginning and end):
142 Tags for Bold, Italic, and underlineBold: Italic: Underline: Tag pair surrounds the text to be formatted You can apply more than one kind of formatting at a time Veni, Vidi, Vici! produces: Veni, Vidi, Vici! Tags can be in any order, but have to be nested correctly Some tags do not surround anything, so they don't have an ending form. Closing angle bracket is replaced by />
inserts a horizontal rule (line)
inserts a line break
143 An HTML Web Page File Begins with and ends with Preliminary material goes here, including
144 Structuring DocumentsMarkup language describes how a document's parts fit together Headings: Choice of eight levels of heading tags to produce headings, subheadings, etc. Headings display material in large font on a new line Pope
Cardinal
Archbishop
produces: Pope Cardinal Archbishop
145
146 HTML Format vs. Display FormatHTML text was run together on one line, but displayed formatted on separate lines HTML source tells the browser how to produce the formatted image based on the meaning of the tags, not on how the source instructions look But HTML is usually written in a structured (indented) form to make it easier for people to understand Pope
Cardinal
Archbishop
147 White Space White space that has been inserted for readabilitySpaces Tabs New lines Browser turns any sequence of white space characters into a single space before processing HTML Exception: Preformatted information between and
tags is displayed as it appears
148
149
150 Brackets in HTML: The Escape SymbolWhat if our web page needed to show a math relationship like 0 < p > r The browser would interpret < p > as a paragraph tag, and would not display it To show angle brackets, use escape symbol — ampersand (&) — then an abbreviation, then a semicolon (;) < displays as < > displays as > & displays as &
151 Special Characters < < > > & &< < > > & & (non-breaking space) &mdash – (em dash) Full list at
152 Accent Marks in HTML Letters with accent marks use the escape symbolAmpersand, then letter, then the name of the accent mark, then semicolon &eactue; displays as é ñ displays as ñ Full list at
153
154 Attributes in HTML Properties such as text alignment require more information For justification, we need to specify left, right, or center Attributes appear inside the angle brackets of start tag, after tag word, with equal sign, value in double quotes. Do not use “fancy/smart quotes!!!” (default justification is left) Horizontal rule attributes: width and size (thickness) can be specified or left to default
155 Marking Links With Anchor TagsThere are two sides of a hyperlink: Anchor text (the text in the current document that is highlighted) Hyperlink reference (the address of a Web page / target of the link) Begin with Give the link reference using href="filename" Close the start anchor tag with > Text to be displayed for this link End anchor tag with Anchor Text Seen Anchor Text Seen
156 Anchor Tags (cont'd) Absolute pathnames: Reference pages at other web sites using complete URLs FIT
157 Anchor Tags (cont'd) Relative pathnames: Reference pages stored to the same directory (give only the name of the file) Read this file. Relative pathnames are more flexible — we can move web files around as a group Relative pathnames can also specify a path deeper or higher in the directory structure ./directory/filename ../directory/filename . Current directory .. Parent directory (one level up)
158
159 Including Pictures With Image TagsImage Tag Format: src short for source Absolute and relative pathname rules apply Pictures can be used as links using anchor tag
![]()
160 Including Pictures With Image TagsGIF and JPEG Images GIF: Graphic Interchange Format 8 bits (256 colors or levels of gray) JPEG: Joint Photographic Experts Group 24 bits (millions of colors – full color; levels of compression) Tell browser which format image is in using filename extension (.gif, .jpg or .jpeg)
161 Positioning the Image in the DocumentBy default, images are inserted in the page at the point where the tag is specified in the HTML, and the text lines up with the bottom of the image Align attribute can line up image with top of line of text, middle, or bottom Align left, center, or right attribute puts the image on the side of the browser window — text flows around it To put image on separate line, enclose within paragraph tags Can specify how large the image should be displayed (in pixels) with height and width attributes
162 Handling Color Color is used for both background and textbgcolor attribute of body tag gives solid background color Use hexadecimal color numbers (0-9 A-F) (magenta) Or use predefined color terms color attribute can be used with body text, link, or font tags text
163
164
165
166 Handling Lists Unnumbered (bulleted) list: Ordered (numbered) list: and
tags begin and end the list and
tags begin and end the list Uses the same and
tags begin and end the list
167 Handling Tables Tables begin and end with and
tags Rows are enclosed in table row tags, and Cells of each row are surrounded by table data tags,
168 Controlling Text with TablesTables can control arrangement of information on a page e.g., a series of links listed across the top of the page could be placed in a one-row table to keep them together If the window is too small to display all the links, table keeps them in a row and a scroll bar is added If the tags are not in a table, the links will wrap to the next line instead
169
170
171
172
173
174
175 Chapter 5: Searching for Truth: Locating Information on the WWWFluency with Information Technology Third Edition by Lawrence Snyder
176 Searching in All the Right PlacesThe Obvious and Familiar To find tax information, ask the tax office Libraries Online Many college and public libraries let you access their online catalogs and other information resources Libraries provide online facilities that are well organized and trustworthy Remember that many pre-1985 documents are not yet available online Plus Librarians are real live experts
177 How Is Information Organized?Hierarchical classification (like a family tree) Information is grouped into a small number of categories, each of which is easily described (top-level classification) Information in each category is divided into subcategories (second-level classifications), and so on Eventually the classifications become small enough for you to look through the whole category to find the information you need This is a process of elimination as much as choosing appropriate subcategories
178 Important Properties of ClassificationsDescriptive terms must cover all the information in the category and be easy for a searcher to apply Subcategories do not all have to use the same classifications Information in the category defines how best to classify it There is no single way to classify information
179 Design of Hierarchies General rules for design and terminology of hierarchies Root is usually at the top (branching metaphor) "Going up in the hierarchy" means the classifications becomes more inclusive or general "Going down in the hierarchy" means the classifications become more specific or detailed The greater-than (>) symbol is a common way to show going down through levels of classification
180 Levels in a Hierarchy A one-level hierarchy has only one level of "branching"—no subdirectories To count levels, remember There is always a root There are always "leaves"—the categories themselves The root and leaves do not count as levels Groupings may overlap (one item can appear in more than one category), or be partitioned (every category appears only once) Number of levels may differ by category, even in the same hierarchical tree
181 How Is Web Site Information Organized?Homepage is the top-level classification for the whole Web site Classifications are the roots of hierarchies that organize large volumes of similar types of information Topic clusters are sets of related links For example, sidebar and top of page navigation links Content information often fills the rest of a page
182
183 Searching the Web for InformationHow a Search Engine Works Two basic parts: Crawler: Visits sites on the Internet, discovering Web pages and building an index to the Web's content Query processor: Looks up user-submitted keywords in the index and reports back which Web pages the crawler has found containing those words Popular Search Engines: Google, Yahoo!, MSN, AOL, Ask
184 Crawlers When a crawler visits a website: Crawlers can miss pagesFirst identifies all the links to other Web pages on that page Checks its records to see if it has visited those pages recently If not, adds them to list of pages to be crawled Records in an index the keywords used on a page (appear in the title, the body, or in anchor text) Crawlers can miss pages No page points to it Page is dynamically created on-the-fly Page has only images Page type is not recognized (not HTML, PDF, etc.)
185 Query Processors Gets keywords from user and looks them up in its index Even if a page has not yet been crawled, it might be reported because it is linked from a page that has been crawled, and the keywords appear in the anchor text on the crawled page Important to give the right terms to look up
186 Page Ranking Google's idea: PageRank Orders links by relevance to userRelevance is computed by counting the links to a page (the more pages link to a page, the more relevant that page must be) Each page that links to another page is considered a "vote" for that page Google also considers whether the "voting page" is itself highly ranked
187 Asking the Right QuestionChoosing the right terms and knowing how the search engine will use them Words or phrases? Search engines generally consider each word separately Ask for an exact phrase by placing quotations marks around it "thai restaurants"
188 Logical Operators AND, OR, NOTAND: Tells search engine to return only pages containing both terms (default) Thai AND restaurants OR: Tell search engine to find pages containing either word, including pages where they both appear Thai OR Siam NOT/-: Excludes pages with the given word -review AND and OR are infix operators; they go between the terms NOT/- is a prefix operator; it precedes the term to be excluded Google Help: Cheat Sheet
189
190 Five Tips for an Efficient SearchBe clear about what sort of page you seek (company or organization, reference page, etc.) Think about what type of organization might publish the page you want You might be able to guess the URL List terms that are likely to appear on the pages you are looking for Assess the results Before looking at each returned page, check the results to see how effective your search was Consider a two-pass strategy (focused searches) Do a broad topic search, and then search within your results
191
192
193
194 Web Information: Truth or Fiction?Anyone can publish anything on the web Note prevalence of blogs and wikis Some of what gets published is false, misleading, deceptive, self-serving, slanderous, or disgusting If it is on the web it must be true. – NOT! How do we know if the pages we find in our search are reliable?
195 Do Not Assume Too Much Registered domain names may be misleading or deliberate hoaxes vs. vs. Look for who or what organization publishes the Web page Respected organizations publish the best information available A two-step check for the site's publisher InterNIC (www.internic.net/whois.html) provides the name of the company that assigned the site's IP address, and a link to the WhoIs server maintained by that company Go to the WhoIs Server site and type the domain name or IP address again. Information returned is the owner's name and physical address
196 Characteristics of Legitimate SitesWeb sites are most believable if they have these features: Physical Existence—Site provides a street address, phone number, address Expertise—Site includes references, citations or credentials, related links Clarity—Site is well organized, easy to use, and has site-searching facilities Currency—Site was recently updated Professionalism—Site's grammar, spelling, and punctuation are correct; all links work Remember that a site can have all these features and still not be legitimate. When in doubt, check it out (including cross checking). Ask a librarian. Example: (Hoax about dangers of Dihydrogen monoxide – H2O)
197
198
199
200
201
202
203
204
205
206
207 Chapter 6: Searching for Guinea Pig B: Case Study in Online ResearchFluency with Information Technology Third Edition by Lawrence Snyder
208 Getting Started with Online ResearchCuriosity-driven research Begins with a name or word Too little information to begin an informed search with a search engine Searching for information on R. Buckminster Fuller Google search on Buckminster AND Fuller Returns at least 1,010,000 hits Limiting to Buckminster AND Fuller AND biography Reduces hit count to 123,000 — still too many Need to gather identifying information (possibly from another source) for a more effective, focused search
209 Narrowing the Search In this case, an online biography source
210 Expanding the View From Fuller's biography we learn:His full name (Richard Buckminster Fuller) He is great-nephew of Margaret Fuller Who is she? We look her up on biography.com That he invented a house and a car that he named Dymaxion One biography from Wikipedia lists a different number of patents, which reminds us that Different sources differ in information In all academic institutions, Wikipedia is unacceptable as a major source for a research paper New search on Buckminster AND Fuller AND biography AND Dymaxion Returns 87,300 results
211 Searching for Images To find out what Fuller looked like:Use Google's image search (click the Images tab) Entering Buckminster Fuller returns more than 14,500 JPEG and GIF images
212 Bookmarking Links For sites we might want to return to laterFor pictures, it's easier to save a copy rather than bookmark the URL When researching, bookmark every site visited and record all search keywords in a file, so you can reconstruct the search Bookmarks can always be deleted
213 Primary Sources Fuller called himself "Guinea Pig B"Search for Buckminster AND Fuller AND "Guinea Pig B" AND dymaxion returns 218 results First hit is from WNET (New York Public Television) documentary on Fuller Links to essays, one by Fuller's daughter and one by a collaborator These are primary sources — writing from direct personal experience
214 Assessing our ProgressSecondary sources like Biography.com provide quick introduction to material Primary sources give us most accurate specific information Answers questions short biographies cannot, like the meaning of Dymaxion ("dynamic, maximum, ion")
215 Finding Video Clips Video clips of subject are also primary information Fuller describing his ideas in his own words Hear the conviction in his voice See the emphasis of his gestures
216 Chronfile and Everything I KnowSecond result from Google search is a link to the Buckminster Fuller Institute (BFI) Timeline of Fuller's life Everything I Know: 42 hours worth of recordings Also transcribed so it can be searched
217 Surfing the BFI Site Fuller's Dymaxion MapSurface of the globe projected onto icosahedron, which produces a minimal distortion flat map
218 Resolving Questions We know:Fuller invented the geodesic dome Fuller invented the Dymaxion Map Are they the same idea? If not, how are they related? How do we find the answer to these questions? Determine what kind of information will answer the question Look where that type of information may be found In this case, the definitions of the two words may answer the question
219 Resolving Questions (cont'd)To define "geodesic" and "icosahedron", try an online dictionary
220 Secondary Sources Completing the Picture Secondary sources can:Give us a more thorough investigation of the topic and help us fill in gaps Help us organize the information Provide other authors' interpretations and insights Remember to investigate the sources for authenticity
221 Investigating Controversial QuestionsControversy regarding discovery of "tensegrity" Fuller's student Ken Snelson feels he was not given due credit for his part Find each party's version of events: Snelson's version in an to International Journal of Space Structures Fuller's version in "Everything I Know"
222 Exploring Side QuestionsOur sources have repeated mention of "buckminsterfullerenes." What are they? Google search on the term returns many useful links From Scientific American to SUNY Stony Brook, to Michigan State University, to online dictionary, we find the answer: A fullerene is a stable molecule of carbon composed of 60 or 70 atoms in the shape of a geodesic sphere
223 Case Study Wrap Up If we are going to use this information to write a report, we should create a summary file containing: Bookmarks from the sites visited Notebook entries of the search terms used Brief notes of our impressions from the information we found — interesting discoveries, most useful sites, why we followed up some topics and not others, etc.
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239 Chapter 7: To Err Is Human: An Introduction to DebuggingFluency with Information Technology Third Edition by Lawrence Snyder
240 Precision: The High Standards of ITPrecision in Everyday Life Many people say "oh" rather than zero when giving a phone number The listener makes the mental conversion because he knows phone numbers are numeric Computer does not know that unless it has been programmed to know it
241 Exactly How Accurate Is "Precise?"Modem or database software can be programmed to make "oh" to zero corrections automatically because all digits will always be numbers In programs, both letters and numbers are allowed, so the computer can't be programmed to auto-correct. Users have to be careful
242 Lexical Structures Field Inputs: Information entered into boxes/forms on screen Governed by lexical structures (rules about the legal form for input fields) May limit symbols that can appear in specific positions, length of entry, etc. May also be loose, allowing any sequence of symbols of any length
243 Debugging: What's the Problem?Debugging: The method of figuring out why a process or system doesn't work properly Usually learned from experience Debugging in Everyday Life: People troubleshoot problems such as why their cars don't start Usually involve working system with broken or worn-out part Debugging in Information Technology: Working system might have wrong data or wrong configuration information or There might be a logical design error We will always begin by assuming a correct, working system
244
245 Whose Problem Is It? When we debug an information system, we are always part of the problem We give the commands and the input Operator or pilot error Only other possible cause is broken system People don't knowingly make errors We may think we did everything right because we misunderstand the system
246 Using the Computer to DebugA computer can't debug itself We can't debug it directly, either Error is internal to the computer To get information about the error, we have to ask the computer what data it stored, etc. With faulty software we cannot fix, try to bypass error with alternative approach (workaround)
247 A Dialog About DebuggingDebugging is solving a mystery Whatdunit vs. whodunit Ask purposeful questions like: Do I need more clues? Are my clues reliable? What is a theory to explain the problem? Better than aimlessly "trying stuff"
248 Debugging (cont'd) Steps to follow:Check that the error is reproducible Make sure you know what the problem is If no mailing labels come out of printer, problem may be with printer or with program sending labels to printer or file containing addresses Check all the "obvious" sources of error Isolate the problem Divide operation into those parts that are working and those that are not working Think objectively—ask yourself if you've made a wrong assumption, etc.
249
250 Debugging Recap Make sure you can reproduce the errorDetermine exactly what the problem is Eliminate "obvious" causes (Is it plugged in?) Divide the process, separating out the parts that work from the part that doesn't (isolate the problem) When you reach a dead end, reassess your information; then step through the process again As you work through, make predictions about what should happen and verify that they are fulfilled
251 Butterflies And Bugs: A Case StudyImagine we've developed a simple HTML page Following is our goal page:
252 Our Goal Page:
253
254 The Actual Display in IE:
255
256 Butterflies and Bugs (cont'd)Displaying the page in Safari and Mozilla also produces errors Test in multiple browsers! We can study the HTML very closely and "brain out" where the error is We will use the debugging strategy
257 Butterflies and Bugs (cont'd)First, be sure we can re-create the error Reload the page In this case, the results are the same Next, determine the problem exactly Look at the displayed page and determine where the errors occur Since there are multiple errors on different parts of the page, assume they are caused by different mistakes in the HTML Try to fix first/top error on page first; save and refresh browser
258 The HTML for Our Page
259 Butterflies and Bugs (cont'd)Next, eliminate the obvious In HTML, most common error is forgetting to close a tag For example: with no closing tage Make sure all quotes match (open and close) In this case, the word Blues appears in red on the page. Why?
260
261 Butterflies and Bugs (cont'd)Divide up the process Separate the parts of the system that work from the parts that do not First row of the table Browsers and debugging systems for HTML can give us a color-coded version of the HTML, showing how it's being interpreted (for example, Notepad++) View (page) source We see the entire heading line is colored blue as if it's an attribute The problem turns out to be a fancy quote that the browser cannot interpret
262
263 Butterflies and Bugs (cont'd)Reassess The pictures are still not displaying We find that the image tags are well structured and the browser is interpreting them correctly What is the problem? To check that the images are ok, display in another document To check that the JPEG specification is ok, put another image file in the document Check the exact file name for the image, including capitalization In this case, we find the filename extension is .jpeg, not .jpg as we have been using
264 Butterflies and Bugs (cont'd)Unnecessary changes: During the debugging process, we made some unnecessary changes due to wrong conjectures about the error Making unnecessary changes is typical in debugging Sometimes we even make the situation worse by introducing new errors
265 Butterflies and Bugs (cont'd)Hiding other errors: At first we thought we had three errors—bad caption, missing link, busted table Because there were two things wrong with the table (messed up heading line and wrong file names specified) there were actually four errors Because it is common for one error to hide another, always suspect there is more than one error
266 Butterflies and Bugs (cont'd)Viewing the source: Most effective technique in our debugging was the View Source feature In general, one of the most powerful debugging techniques is to find ways for the computer to tell us the meaning of the information it stores or the commands it executes Little errors, big problems: The errors in the HTML code were tiny, but they had serious effects We must be extremely precise
267 No Printer Output: A Classic ScenarioMost systems we use, we don't create The software is very complicated. How do we troubleshoot a system we don't understand? Generally, software has been extensively tested before we come in contact with it Standard operations are likely to be bug-free To illustrate debugging a system without understanding it, consider a common problem: You try to print a document and nothing comes out of the printer
268 Applying the Debugging StrategyApply the debugging strategy: Reproduce the error, understand the problem, check the obvious causes Check the printer's control panel, the paper, the cartridges, cable connection, file to be printed, installation of printer driver, whether others can print (if it's a shared printer) and whether you can print a different document Simple, quick checks If this does not solve the problem, press on
269 Pressing On Try to isolate the problem:Configuration is correct because you've printed before Try printing a simple document Same problem Think through the probable process If the computer couldn't send the data to the printer, wouldn't it give a message to plug in the printer? Look around for the stranded files In the printing monitor's files, you find a list of files you've tried to print recently Start > Printers and Faxes
270 The Print Queue You've found the print queueComputer's settings may tell it to "queue" converted files rather than printing them immediately Pause Printing You may never know how this occurred, but you can still fix it by re-configuring the driver Unclick Pause Printing or click Resume Printing
271
272
273
274 Fluency with Information Technology Third EditionChapter 8: Bits and the "Why" of Bytes: Representing Information Digitally Fluency with Information Technology Third Edition by Lawrence Snyder
275 Digitizing Discrete InformationDigitize: Represent information with digits (normally base 10 numerals 0 through 9) Limitation of Digits Alternative Representation: Any set of symbols could represent phone number digits, as long as the keypad is labeled accordingly Symbols, Briefly Digits have the advantage of having short names (easy to say) But computer professionals are shortening symbol names (exclamation point is pronounced "bang")
276
277 Ordering Symbols Advantage of digits for encoding info is that items can be listed in numerical order To use other symbols, we need an ordering system (collating sequence) Agreed order from smallest to largest value In choosing symbols for encoding, consider how symbols interact with things being encoded
278 The Fundamental Representation of InformationThe fundamental patters used in IT come when the physical world meets the logical world The most fundamental form of information is the presence or absence of a physical phenomenon In the logical world, the concepts of true and false are important By associating true with the presence of a phenomenon and false with its absence, we use the physical world to implement the logical world, and produce information technology
279 Analog vs. Digital Analog is continuous data/information Sound waves
280 Analog vs. Digital Digital is discrete data/informationMany distinct samples of data Stored in binary (0's and 1's) All data in a computer is represented in binary
281 The PandA RepresentationPandA is the mnemonic for "presence and absence" It is discrete (distinct or separable)—the phenomenon is present or it is not (true or false; 1 or 0). There in no continuous gradation in between.
282 A Binary System Two patterns make a binary systemBase 2 (0 or 1) The basic binary unit is known as a "bit" (short for binary digit) 8 bits are grouped together to form a byte Memory accessed by byte addresses We can give any names to these two patterns as long as we are consistent PandA (Presence and Absence can represent 1 and 0, respectively)
283
284 Encoding Bits on a CD-ROM
285 Encoding Bits on a CD-ROM
286 Bits in Computer MemoryMemory is arranged inside a computer in a very long sequence of bits (places where a phenomenon can be set and detected) Analogy: Sidewalk Memory Each sidewalk square represents a memory slot (bit), and stones represent the presence or absence If a stone is on the square, the value is 1, if not the value is 0
287
288 Alternative PandA EncodingsThere are other ways to encode two states using physical phenomena Use stones on all squares, but black stones for one state and white for the other Use multiple stones of two colors per square, saying more black than white means 0 and more white than black means 1 Stone in center for one state, off-center for the other etc.
289 Combining Bit PatternsSince we only have two patterns, we must combine them into sequences to create enough symbols to encode necessary information Binary (PandA) has 2 patterns, arranging them into n-length sequences, we can create 2n symbols
290
291 Hex Explained Recall in Chapter 4, we specified custom colors in HTML using hex digits e.g., Hex is short for hexadecimal, base 16 Why use hex? Writing the sequence of bits is long, tedious, and error-prone
292 The 16 Hex Digits 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F A = 10, B = 11, ... , F = 15 Sixteen values can be represented perfectly by 4-bit sequences (24 = 16) Changing hex digits to bits and back again: Given a sequence of bits, group them in 4's and write the corresponding hex digit C Given hex, write the associated group of 4 bits
293 Hex (0-9,A-F) Decimal Hex Binary 0 0 0000 1 1 0001 2 2 0010 3 3 0011 A B C D E F
294 Digitizing Text Early binary representation—1 and 0—encoded numbers and keyboard characters Now representation for sound, video, and other types of information are also important For encoding text, what symbols should be included? We want to keep the list small enough to use fewer bits, but we don't want to leave out critical characters
295 Assigning Symbols 26 uppercase and 26 lowercase Roman letters, 10 Arabic numerals, 10 arithmetic characters, 20 punctuation characters (including space), and 3 non-printable characters (new line, tab, backspace) = 95 characters, enough to represent English For 95 symbols, we need 7-bit sequences 26 = = 128 A standard 7-bit code is ASCII(American Standard Code for Information Interchange)
296 Decimal ASCII Character SetDecimal - Character 0 NUL 1 SOH 2 STX 3 ETX 4 EOT 5 ENQ 6 ACK 7 BEL 8 BS 9 HT NL VT NP CR SO SI 16 DLE 17 DC DC DC DC NAK 22 SYN 23 ETB 24 CAN 25 EM SUB 27 ESC 28 FS GS RS US 32 SP 33 ! " # $ % & ' 40 ( ) * , / : ; < = > ? A B C D E F G 72 H I J K L M N O 80 P Q R S T U V W 88 X Y Z [ \ ] ^ _ 96 ` a b c d e f g 104 h i j k l m n o 112 p q r s t u v w 120 x y z { | } ~ DEL
297 Hexadecimal ASCII Character SetHexadecimal - Character 00 NUL 01 SOH 02 STX 03 ETX 04 EOT 05 ENQ 06 ACK 07 BEL 08 BS HT 0A NL 0B VT 0C NP 0D CR 0E SO 0F SI 10 DLE 11 DC DC DC DC NAK 16 SYN 17 ETB 18 CAN 19 EM 1A SUB 1B ESC 1C FS 1D GS 1E RS 1F US 20 SP ! " # $ % & ' 28 ( ) 2A * 2B C , 2D E F / A : 3B ; 3C < 3D = 3E > 3F ? A B C D E F G 48 H I 4A J 4B K 4C L 4D M 4E N 4F O 50 P Q R S T U V W 58 X Y 5A Z 5B [ 5C \ 5D ] 5E ^ 5F _ 60 ` a b c d e f g 68 h i 6A j 6B k 6C l 6D m 6E n 6F o 70 p q r s t u v w 78 x y 7A z 7B { 7C | 7D } 7E ~ 7F DEL
298 Extended ASCII: An 8-bit CodeBy the mid-1960's, it became clear that 7-bit ASCII was not enough to represent text from languages other than English IBM extended ASCII to 8 bits (256 symbols) Called "Extended ASCII," the first half is original ASCII with a 0 added at the beginning of each group of bits Handles most Western languages and additional useful symbols
299
300 ASCII Coding of Phone NumbersHow would a computer represent in its memory, the phone number ? Encode each digit with its ASCII byte
301 Unicode Several languages around the world have more than 256 individual characters Unicode uses 16 bits; 216 = characters 1st 7 bits (128 chars) are ASCII chars Different locales – different characters beyond 1st 7 bits
302 NATO Broadcast AlphabetThe code for broadcast communication is purposefully inefficient, to be distinctive when spoken amid noise
303 The Oxford English DictionaryExtended ASCII encodes letters and characters well, but most documents contain more than just text. Format information like font, font size, justification Formatting characters could be added to ASCII, but that mixes the content with the description of its form (metadata) Metadata is represented using tags, as in HTML
304 Using Tags to Encode Oxford English Dictionary (OED) printed version is 20 volumes We could type the entire contents as ASCII characters (in about 120 years), but searching would be difficult Suppose you search for the word "set." It is included in many other words like closet, horsetail, settle, etc. How will the software know what characters comprise the definition of set? Incorporate metadata
305 Structure Tags Special set of tags was developed to specify OED's structure
306
307 Why "BYTE" Why is BYTE spelled with a Y?The Engineers at IBM were looking for a word for a quantity of memory between a bit and a word (usually 32 bits). Bite seemed appropriate, but they changed the i to a y, to minimize typing errors.
308
309 Chapter 9: Following Instructions: Principles of Computer OperationFluency with Information Technology Third Edition by Lawrence Snyder
310 Instruction Execution EnginesWhat computers can do Deterministically perform or execute instructions to process information The computer must have instructions to follow What computers can't do Have no imagination or creativity Have no intuition Have no sense of irony, subtlety, proportion, decorum, or humor Are not vindictive or cruel Are not purposeful Have no free will Recent movies: Terminator, Matrix, AI
311 The Fetch/Execute CycleA five-step cycle: Instruction Fetch (IF) Instruction Decode (ID) Data Fetch (DF) / Operand Fetch (OF) Instruction Execution (EX) Result Return (RR) / Store (ST)
312 Anatomy of a Computer Computers have five basic parts or subsystemsMemory, control unit, arithmetic/logic unit (ALU), input unit, output unit
313 Memory Memory stores the program running and the data on which the program operates Properties of memory: Discrete locations. Each location consists of 1 byte. Addresses. Every memory location (byte) has an address (whole numbers starting with zero). Values. Memory locations record or store values. Finite capacity. Limited size—programmers must remember that the data may not "fit" in the memory location.
314 Byte-Size Memory LocationA commonly used diagram of computer memory represents the discrete locations as boxes (1 byte each). Address of location is displayed above the box. Value or contents of location is shown in the box.
315
316 Memory (cont'd) 1-byte memory locations can store one ASCII character, or a number less than 256 ( ) Programmers use a sequence of memory locations together, ignoring the fact that they all have different addresses Blocks of four bytes are used as a unit so frequently that they are called memory "words"
317 Random Access Memory (RAM)"Random access" means the computer can refer to (access) the memory locations in any order Often measured in megabytes (MB) – millions of bytes or gigabytes (GB) – billions of bytes Large memory is preferable because there is more space for programs and data (which usually equates to less I/O)
318 Control Unit Hardware implementation of the Fetch/Execute CycleIts circuitry fetches an instruction from memory, decodes the instruction, and fetches the operands used in it A typical instruction might have the form ADD 4000, 2000, op dest, src1, src2 This instruction asks that the numbers stored in locations 2000 and 2080 be added together, and the result stored in location [4000] = [2000] + [2080] Data/Operand Fetch step must get these two values and after they are added, Result Return/Store step will store the answer in location 4000
319
320 Arithmetic/Logic Unit (ALU)Performs the math Generally does the work during the Instruction Execute step of the Cycle A circuit in the ALU can add two number There are also circuits for multiplying, comparing, etc. Instructions that just transfer data usually don't use the ALU Data/Operand Fetch step of the Cycle gets the values that the ALU needs to work on (operands) When the ALU completes the operation, Return Result/Store step moves the answer from the ALU to the destination memory address specified in the instruction
321 Input Unit and Output Unit (I/O)The wires and circuits through which information moves into and out of a computer The peripherals: Connect to the computer input/output ports. They are not considered part of the computer, but specialized gadgets that encode or decode information between the computer and the physical world.
322 The Peripherals Keyboard encodes keystrokes we type into binary form for the computer Monitor decodes information from the computer's memory and displays it on a lighted, colored screen Disks drives are used for both input and output—storage devices where the computer puts away information when it is not needed, and can retrieve from when it is needed again
323 A Device Driver for Every Peripheral"Dumb" devices provide basic physical translation to or from binary signals. Additional information from the computer is needed to make it operate intelligently. e.g., computer receives information that user typed shift and w at the same time. It converts to a capital W. The software that converts is called the device driver.
324 The Program Counter: The Pc's PCHow does the computer determine which step to execute next? Address of the next instruction is stored in the control part of the computer. It is called the program counter (PC). Because instructions use 4 bytes of memory, the next instruction must be at PC + 4, 4 bytes further along in the sequence (in general). Computer adds four to the PC, so when the F/E Cycle gets back to Instruction Fetch step, the PC is "pointing at" the next instruction.
325 Branch and Jump InstructionsThe instruction may include an address to go to next. This changes the PC, so instead of going to PC +4 automatically, the computer "jumps" or "branches" to the specified location.
326 Instruction InterpretationProcess of executing a program Computer is interpreting our commands, but in its own language Before the F/E Cycle begins, some of the memory locations and the PC are visible in the control unit
327
328 Instruction Interpretation (cont'd)Execution begins by moving instruction at the address given by the PC from memory to control unit
329 Instruction Interpretation (cont'd)Bits of instruction are placed into the decoder circuit of the CU Once instruction is fetched, the PC can be readied for fetching the next instruction
330
331 Instruction Interpretation (cont'd)In Instruction Decode step, ALU is set up for the operation Decoder will find the memory address of the instruction's data (source operands) Most instructions operate on two data values stored in memory (like ADD), so most instructions have addresses for two source operands These addresses are passed to the circuit that fetches them from memory during the next step, Data Fetch Decoder finds destination address for the Result Return step, and places it in RR circuit Decoder determines what operation the ALU will perform, and sets it up appropriately
332
333 Instruction Interpretation (cont'd)Instruction Execution: The actual computation is performed. For ADD instruction, the addition circuit adds the two source operands together to produce their sum
334
335 Instruction Interpretation (cont'd)Result Return: result of execution is returned to the memory location specified by the destination address. Once the result is returned, the cycle begins again.
336
337 Many, Many Simple OperationsComputers can only perform about 100 different instructions About 20 different kinds of operations (different instructions are needed for adding bytes, words, decimal numbers, etc.) Everything computers do must be reduced to some combination of these primitive, hardwired instructions
338 Examples of Other InstructionsBesides ADD, MULT (multiply) and DIV (divide), other instructions include: Shift the bits of a word to the left or right, filling the emptied places with zeros and throwing away bits that fall off the end Compute logical AND (test if pairs of bits are both true), and logical OR (test if at least one of two bits is true) Test if a bit is zero or non-zero, and jump to new set of instructions based on outcome Move information around in memory Sense signals from input/output devices
339 Cycling the F/E Cycle Computers get their impressive capabilities by executing many of these simple instructions per second The Computer Clock: Determines rate of F/E Cycle Measured in gigahertz (GHz), or billions of cycles per second
340
341 How Important is Clock Speed?Modern computers try to start an instruction on each clock tick Pass off finishing instruction to other circuitry (pipelining) Five instructions can be in process at the same time Does a 1 GHz clock really execute a billion instructions per second? Not a precise measurement. Computer may not be able to start an instruction on each tick, but may sometimes be able to start more than one instruction at a time
342
343 Software A computer's view of software Assembly languageSees binary object file, a long sequence of 4-byte words (0's and 1's) Assembly language Alternative form of machine language using letters and normal numbers so people can understand it Computer scans assemble code, as it encounters words it looks them up in a table to convert to binary, converts numbers to binary, then assembles the binary pieces into an instruction
344 Software (cont'd) High-level programming languagesMost modern software is written in high-level notation, which is then compiled (translated) into assembly language, which is then assembled into binary Have special statement forms to help programmers give complicated instructions Example: Three-part if statement Yes/no question to test Instructions to operate if test is true Instructions to operate if test is false
345
346
347
348 Operating Systems Basic operations that are necessary for the effective use of computer, but are not built into the hardware Three most widely used Operating Systems: Microsoft Windows Apple's Mac OS X Unix / Linux OS performs booting, memory management, device management, Internet connection, file management
349 Programming Programmers build on previously developed software to make their jobs easier Example: GUI Software Frame around window, slider bars, buttons, pointers, etc. are packaged for programmers and given with OS
350 Integrated Circuits Miniaturization:Clock speeds are so high because processor chips are so tiny (electrical signals can travel about 1 foot in a nanosecond)
351 Integrated Circuits PhotolithographyPrinting process. Instead of hand-wiring circuits together, photograph what is wanted and etch away the spaces Regardless of how complicated the wiring, cost and amount of work are the same
352
353
354 How Semi-conductor Technology WorksIntegration: Active components and the wires that connect them are all made together of similar materials in a single process Saves space and produces monolithic part for the whole system, which is more reliable Silicon is a semi-conductor—sometimes it conducts electricity, sometimes not Ability to control when semi-conductor conducts is the main tool in computer construction
355 The On-Again, Off-Again Behavior of SiliconA circuit is set to compute x and y for any logical values x and y If x is true, the x circuit conducts electricity and a signal passes to the other end of the wire; if x is false, no signal passes Same process for y If both circuits conduct, x and y are true—logical AND has been computed
356 The Field Effect Controls the conductivity of the semiconductorObjects can become charged positively or negatively Like charges repel each other, but opposites attract. This effect is called the field effect.
357 The Field Effect (cont'd)The gap between two wires is treated to improve its conducting and non-conducting properties This is called a channel (path for electricity to travel between the two wires) An insulator covers the channel A wire called the gate passes over the insulator The gate is separated from the channel by the insulator—does not make contact with the wires or the channel Electricity is not conducted between the two wires unless the channel is conducting
358 How Does the Channel Conduct?The silicon in the channel conducts electricity when it is in a charged field Electrons are attracted or repelled in the silicon material Charging the gate positively creates a field over the channel that conducts electricity between the two wires
359 Transistors A connector between two wires that can be controlled to allow charge to flow between the two wires, or not We have described a MOS transistor (Metal Oxide Semiconductor)
360
361
362 Combining the Ideas Put all above ideas together:Start with information processing task Task is performed by application, implemented as part of a large program in a high-level language like C or Java Program performs specific operations; standard operations like print or save are done by OS Program's commands are compiled into assembly language instructions Assembly instructions are translated into binary code Binary instructions are stored on hard disk (secondary memory) Application instructions move into RAM (primary memory)
363 Combining the Ideas (cont'd)Fetch/Execute Cycle executes the instructions All the computer's instructions are performed by the ALU circuits, using the transistor model previously described, under the control of the Control Unit
364
365 Chapter 10: What's The Plan?: Algorithmic ThinkingFluency with Information Technology Third Edition by Lawrence Snyder
366 Algorithm A precise, systematic method for producing a specified result We have already seen several: Recognition of a button click (Ch.1) Placeholder technique (Ch.2) Hex to bits (Ch.8)
367 Algorithms in Everyday LifeSome algorithms are learned—arithmetic Some we figure out ourselves—looking up a phone number Others require written instructions—recipe, assembly instructions, driving directions
368 Five Essential Properties of AlgorithmsInput specified Data to be transformed during the computation to produce the output Must specify type, amount, and form of data Output specified Data resulting from the computation—intended result It is possible to have no output
369 Five Essential Properties (cont'd)3. Definiteness Specify the sequence of events Details of each step, including how to handle errors 4. Effectiveness The operations are doable 5. Finiteness Must eventually stop
370 Language in AlgorithmsNatural language For people, we use a natural language like English Ambiguity is common in natural language Programming Language Formal languages designed to express algorithms Precisely defined; no ambiguity
371 The Context of a ProgramProgram can fulfill five properties of an algorithm, be unambiguous, and still not work right because it is executed in the wrong context e.g., last name in Western countries means family name; in Asian countries it may mean given name Context matters: Driving instructions "From the Limmat River go to Bahnhof Strasse and turn right." Assumes you are traveling in a specific direction. If you are not, the directions will fail.
372 Program vs. Algorithm A program is an algorithm that has been customized to solve a specific task under a specific set of circumstances using a specific language Algorithm is a general method; program is a specific method
373 An Algorithm: Alphabetize CDsImagine CDs in a slotted rack, not organized You want to alphabetize by name of group, performing musician, or composer How do you solve this problem?
374 Alphabetize CDs (cont'd)Input: An unordered sequence of CDs filling a slotted rack Output: The same CDs in the rack in alphabetical order Instructions: Use the term Artist_Of to refer to the name or the group or musician or composer on a CD Decide which end is the beginning of the sequence and call the slot at that end the Alpha slot Call the slot next to Alpha the Beta slot
375 Alphabetize CDs (cont'd)If the Artist_Of the CD in Alpha comes later in alphabet than the Artist_Of in Beta, swap the CDs; otherwise continue on If there is a slot following Beta, begin calling it Beta and go to Instruction 4; otherwise continue on If there are two or more slots following Alpha, begin calling the slot following Alpha, Alpha and begin calling the slot following it Beta, and go to Instruction 4; otherwise stop
376 Instruction 1 Use the term Artist_Of to refer to the name of the group or musician or composer on a CD This gives a name to the operation of locating the name used for alphabetizing
377 Instruction 2 Decide which end of the rack is the beginning of the alphabetic sequence and call the slot at that end the Alpha slot Gives the process a starting point. Defines the word Alpha. At the start, Alpha refers to the first slot in the sequence; as the algorithm progresses it refers to successive slots
378 Instruction 3 Call the slot next to the Alpha slot the Beta slotGives Beta its initial meaning. Alpha and Beta have no inherent meaning; they are chosen by the programmer to name slots in the rack
379 Instruction 4 If the Artist_Of the CD in the Alpha slot comes later in the alphabet than the Artist_Of the CD in the Beta slot, swap the CD's; otherwise continue on This is the workhorse instruction of the algorithm. It compares the names of the artists of the CDs in Alpha and Beta and, if necessary, swaps them so that they are in the correct order
380 Instruction 5 If there is a slot following the Beta slot, begin calling it the Beta slot and go to Instruction 4; otherwise, continue Re-defines Beta slot so that it refers to the next slot in the sequence, if any. Then Instruction 4 can be executed again, comparing a different pair of CDs
381 Instruction 6 If there are two or more slots following the Alpha slot, begin calling the slot following the Alpha slot Alpha and the slot following it Beta, and go to Instruction 4; otherwise stop By the time we get to this instruction, the alphabetically earliest CD is in the Alpha slot. We advance Alpha to the next slot and sweep through the CD rack again, locating the alphabetically earliest CD. When there are no longer enough slots to call one Alpha and one Beta, the entire rack has been alphabetized and the algorithm stops
382 Analyzing Alphabetize CDs AlgorithmIllustrates the five basic properties of algorithms Inputs and Outputs were listed Each instruction was defined precisely (definiteness) Operations are effective because they are simple and mechanically doable Alphabetizing is mechanical, so our algorithm is effective Finiteness is satisfied because there are only a finite number of slots that can be paired, so instructions 4, 5, and 6 cannot be repeated indefinitely
383 A Deeper Analysis Structural featuresTwo instructions, 5 and 6, in which the agent is directed to go back and repeat instructions. This is called a loop Loops and Tests A loop must include a test to determine whether the instructions should be repeated one more time Assumptions We assume that The CD rack is full (instructions do not handle the case of an empty slot) The word "following" means a slot further from the start point
384
385 The Exchange Sort AlgorithmThe Alphabetize CDs example illustrates the standard Exchange Sort algorithm The idea of comparing pairs of items chosen in a particular way, exchanging them if they are out of order, and continuing to sweep through the items We could use the same algorithm to sort on a different principle
386 Abstraction in Algorithmic ThinkingThinking of parts of the algorithm's behavior as whole units rather than individual instructions Work proportional to n2 Where n is the number of items to sort Why?
387 Beta Sweep AbstractionInstructions 4 and 5 illustrate abstract computational unit, which we'll call Beta Sweep Operation of considering in order all CDs following a specific Alpha (~ ½n comparisons on average) While Alpha points to a fixed slot, Beta visits each slot following Alpha, in sequence, comparing its CD with the CD in the Alpha slot, and swapping when necessary Has the effect of finding the next CD in order and moving it to the Alpha slot
388
389 Alpha Sweep AbstractionAlpha sweeps from the slot where alphabetization begins through all slots (except the last), performing the Beta sweep instructions each time ~ n Alpha sweep operations
390
391 Properties of Alpha Sweep AbstractionExhaustive. Considers all CDs from the first to (but not including) the last Nonredundant. No slot is assigned to Alpha more than once, so the process stops if the Beta sweep stops Progressive. At the end of each Beta sweep, the alphabetically next earliest CD is in Alpha Complete. When the last Beta sweep is completed, the CD in the last slot is later than the CD in the next-to-last slot Goal-achieving. The alphabetically earliest CD is in the first slot at the end of the first Beta sweep, by its property 4 and the fact that all CDs are considered; thereafter, in every new position for Alpha the Beta sweep assigns the next earliest CD. The program alphabetizes.
392 Abstracting for Other Algorithms and ProgramsThe Alpha sweep and Beta sweep abstractions are specific to the Exchange Sort algorithm and to programs derived from it Other algorithms and programs exhibit different behaviors and require different abstractions, which will have different properties Every situation is different, but the approach—abstracting the behavior and understanding the properties—is always the same
393
394
395
396 Chapter 11: Light, Sound, Magic: Representing Multimedia DigitallyFluency with Information Technology Third Edition by Lawrence Snyder
397 Digitizing Color RGB Colors: Binary RepresentationGiving the intensities for the three constituent colors—red, green, blue—specifies color on monitor Color intensity is represented as a quantity (0 through 255) Binary Numbers Compared with Decimal Numbers Number of digits is the base of numbering system Binary is two digits: 0 and 1 Decimal is 10 digits: 0 through 9 Hexadecimal is 16 digits: 0 through 9, A through F
398 Place Value in a Decimal NumberTo find the quantity expressed by decimal number, the digit in a place is multiplied by the place value, and the results are added
399 Place Value in a Binary NumberWorks the same way except that the place values are successive powers of 2
400 Place Value in a Binary NumberGiven binary representation, we can find decimal equivalent value by multiplying the digit times the place value and adding the results
401 Converting a Binary Number to DecimalAdd the decimal values for the places in the binary number with 1's
402 Black and White Colors A byte is allocated to each RGB intensityThe smallest intensity is The largest is in binary This is 255 in decimal This is FF in hex Black (#000000) is no color; white (#FFFFFF) has full intensity for each RGB color
403 Changing a Decimal Number to a Binary NumberIf the number being converted is smaller than the place value below it, copy the number into the next cell to its right; enter 0 as the binary digit. If the number being converted is equal to or larger than the place value below it, subtract the place value from the number and copy the result into the first cell of the next column; enter a 1 as the binary digit.
404 Lighten Up: Changing Color by AdditionWhat color does this represent: Each byte contains the decimal value The color is RGB(200,200,200). In HTML, write in hexadecimal #C8C8C8 Equal amounts of red, green, and blue, closer to white than black (medium gray) All colors with equal RGB values are black, white, or gray
405 To Increase Intensity: Add in BinaryTo make a lighter color of gray, change the common values to be closer to white (larger numbers) For example, add (decimal 16) to each color: RGB(216,216,216)
406 Lighter Still: Adding with Carry DigitsBinary addition is similar to decimal addition Work from right to left, adding corresponding digits in each place position Sometimes we can add the two numbers and the result is expressed as a single digit (1+0=1) Sometimes the sum cannot be expressed in one digit and we must carry to the next highest place (1+1=10, put down 0 and carry 1)
407
408
409
410
411 Overflow Because computers use fixed-size bit sequences, what happens when there are not enough bits to represent the correct result of a binary addition? Called overflow exceptions Computers report them when the computation they're told to perform overflows; programmer has to find way to recover
412 Computing On RepresentationsChanging the Colors of a Moon Photo Imagine a scanned black and white photo of the moon In the computer, the pixels of the photo form a long sequence of RGB triples. What values do they have? They are all black, white, or gray Suppose you want a colorized version?
413 Removing the Smudge You have very dark gray values (28,28,28) from a smudge on the scanner's glass To remove the smudge and transform the pixels into the colors you remember seeing Anything very close to black (first 2 digits are 00) can be changed to black (00xx xxxx) (0-63) Algorithm for this is: Any three RGB bytes, each of whose first 2 bits are 00, are replaced with all zeros
414 Making the Moon Orange To shift color of moon to orange, change the white pixels: Pick a shade of orange, say (255,213,132) Change all the white pixels (255,255,255) to this shade This will not change the gray of the craters To change Light Gray into Orange Tint: Red byte: Leave unchanged Green byte: reduce green slightly (subtract 42) Blue byte: reduce blue significantly (subtract 123)
415 Boosting the Red You decide the gray parts of the moon need to be more luminous Boost the red Shifting the red in the orange pixels to 255 is too red Split the difference. Add half the difference between the current value and pure red
416
417 Digitizing Sound An object creates sound by vibrating in a medium such as air Vibrations push the air Pressure waves emanate from the object and vibrate our eardrums The force, or intensity of the push determines the volume The frequency (number of waves per second) is the pitch
418
419 Analog to Digital To convert continuous information into discrete information, convert it to bits From zero line on graph, record with binary number the amount by which the wave is above or below it (positive or negative sound pressure) At what points do we measure? We can't record every position of the wave
420 Sampling Take measurements at regular intervalsNumber of samples in a second is the sampling rate The faster the rate, the more accurate the recording
421 How Fast a Sampling Rate?Sampling rate should be related to the wave's frequency Too slow a rate could allow waves to fit between the samples; we'd miss segments of sound Guideline is Nyquist Rule: Sampling rate must be at least twice as fast as the fastest frequency Human perception can hear sound up to 20,000 Hz, so 40,000 Hz sampling rate is enough. Standard for digital audio is 44,100 Hz (44.1 KHz)
422 ADC, DAC Digitizing Process:Sound is picked up by a microphone (called a transducer) The signal is fed into an analog-to-digital converter (ADC), which samples it at regular intervals and outputs binary numbers to memory To play the sound, the process is reversed Numbers are read from memory into digital-to-analog converter (DAC), which creates an electrical wave by filling in between the digital values Electrical signal is output to speaker, which converts it to a sound wave
423
424 How Many Bits per Sample?How accurate must the samples be? Bits must represent both positive and negative values The more bits, the more accurate the measurement The digital representation of audio CDs uses 16 bits (records 65,536 levels, half above and half below the zero line)
425
426 Advantages of Digital SoundWe can compute the representation MP3 Compression One computation is to compress the digital audio (reduce number of bits needed) Remove waves that are outside range of human hearing MP3 usually gets a compression rate of 10:1 Lower bandwidth requirements, popular for Internet transmission Reproducing the Sound Recording Bit file can be copied without losing any information Original and copy are exactly the same
427 Digitizing Images and VideoIt would take 51 minutes to display an 8 x 10 color image scanned at 300 pixels per inch (21.6 MB) with a 56kb/s modem How can we see screen-size pictures in second while surfing the web? Typical computer screen has under 100 pixels per inch Storing picture digitized at 100 ppi saves a factor of 9 in memory (reducing resolution) This would still take 5 1/2 minutes to send at 56kb/s Solution: JPEG Compression scheme
428 Compression Changing the representation to use fewer bits to store or transmit information Example: fax is a long sequence of 0's and 1's encoding where page is white or black. Run length encoding is used to specify length of first sequence of 0's, following sequence of 1's, etc. Lossless compression—original representation can be perfectly reproduced
429 JPEG Used for still imagesOur eyes are not very sensitive to small changes in hue (gradation of color), but are sensitive to small changes in brightness Store a less accurate description of hue (fewer pixels) Gets a 20:1 compression ratio without eyes being able to perceive the difference
430
431 MPEG Compression SchemeSame idea as JPEG, applied to motion pictures JPEG-like compression is applied to each frame Then "interframe coherency" is used MPEG only has to record and transmit the differences between one frame and the next Results in huge amounts of compression
432 Optical Character Recognition (OCR)Reading license plate to deduct toll from car's account What are the difficulties? Computer must capture image of license plate but camera will see other highway images Frame grabber recognizes when to snap image and send to computer for processing Computer must figure out where in the image the plate is Scans groups of pixels looking for edges where color changes Looks for features Classifier matches features to letters of alphabet
433 OCR Technology Enables computer to "read" printed charactersBusiness applications: Sorting mail and banking
434 Virtual Reality: Fooling the SensesCreating an entire digital world Applies to all senses and tries to eliminate the cues that keep us grounded in reality Haptic devices Input/output technology for sense of touch and feel Haptic glove enables computer to detect where our fingers are. When we bring our fingers close enough together, gloves stop their movement so we feel like we're holding something
435 The Challenge of LatencyThe challenge is for the system to operate fast and precisely enough to appear natural Latency is the time it takes for information to be delivered Too long latency period ruins the illusion Absolute limit to how fast information can be transmitted—speed of light
436 The Challenge of BandwidthHow much information is transmitted per unit time Higher bandwidth usually means lower latency
437 Bits Are It Bias-Free Universal Medium Principle:Bits can represent all discrete information, but have no inherent meaning Bits: The Universal Medium Everything that can be represented in a sensible way, can be manipulated Bits: Bias-Free The meaning of bits comes entirely from the interpretation placed on them through programs Bits are Not Necessarily Binary Numbers Bits can be interpreted as binary numbers, or not, depending on use
438
439 Chapter 12: Computers In Polite Society: Social Implications of ITFluency with Information Technology Third Edition by Lawrence Snyder
440 Improving the Effectiveness of EmailProblems with Conveying emotion Emphasis Conversational pace Ambiguity Flame-a-thons
441 Conveying Emotion Difficult to convey subtle emotions using emailMedium is too informal, impersonal, and casually written Conversational cues are missing Emoticons are popular Tags a sentence indicating the emotion we mean to communicate :-)
442 Emphasis Typing for emphasis can convey the wrong meaningText in all caps can be interpreted as yelling is still largely ASCII based and may not allow italics or underlining Asterisks and underscores can represent bold and italics
443 Conversational Pace Asynchronous medium makes dialog difficultFor interactive purposes (like negotiation) synchronous medium like telephone may be best IM better?
444 Ambiguity Text can be interpreted in ways we don't intendPeople often don't proofread what they write in to avoid ambiguity
445 Flames Flame is slang for inflammatory emailFlame-a-thon is ongoing exchange of angry s When angered by , it's best to delay answering until you cool down
446 Netiquette Rules to promote civilized email usageAsk about one topic at a time Include context (include the question with your answer) Use an automated reply if unable to answer mail for a period of time Answer a backlog of s in reverse order Get the sender's permission before forwarding Use targeted distribution lists (don't send the latest joke to every person you've ever exchanged mail with)
447 Expect the Unexpected Suppose a Mailing List Handler Has a BugUnsubscribe messages start getting sent to everyone on the list, for some reason Someone on the list complains about getting the unsubscribe message Someone else mails back that the list is obviously broken, stop complaining People should notice there's a problem and stop traffic on the list until it's fixed Be alert to unusual event and then think about them
448 Creating Good PasswordsThe Role of Passwords To limit computer or system access to only those who know a sequence of keyboard characters Breaking into a Computer without a Password Trying all possible passwords algorithmically would eventually find correct password, but software usually limits the number of tries Forgetting a Password Passwords are scrambled or encrypted and stored, so system administrator usually can't tell you your password if you forget it
449 Guidelines for Selecting a PasswordIt's not a good idea to choose something easily guessed, but should be easy for you to remember Should have at least 6-8 characters Mix of uppercase and lowercase letters, numbers, punctuation characters Sequence not found in dictionaries No personal association (like your name)
450 Heuristics for picking a passwordSelect a personally interesting topic Always select passwords related to topic Develop a password from a phrase rather than a single word Encode the password phrase Make it short by abbreviating, replace letters and syllables with alternate characters or spellings
451 Changing Passwords Should be changed periodically Managing PasswordsUsing a single password for everything is risky; using a different password for everything is hard to remember Passwords can be recycled Make slight changes to good passwords or Rotate passwords
452 Viruses and Worms It's a Zoo Out ThereVirus is a program that "infects" another program by embedding a copy of itself. When the infected program runs, the virus copies itself and infects other programs Worm is an independent program that copies itself across network connections Trojan is a program that hides inside another useful program, and performs secret operations May record keystrokes or other sensitive data, or load malicious software Exploit is a program that takes advantage of security hole Backdoor access enters computer and reconfigures it for remote control
453 How to "Catch" a Virus attachments. Do not open attachments before checking Is this from someone I know? Is the message a sensible follow-up to the last message from the sender? Is the content of the message something the sender would say to me? Is there a reason for the sender to include an attachment? When in doubt, be cautious
454 How to "Catch" a Virus (cont'd)Copying software from infected computer Peer-to-Peer Exchange Downloading files from unreliable sources New Software Any software is a potential source of infected code Most software distributors are careful to avoid infection
455 Virus-Checking SoftwareThree companies are McAfee, Norton, and Sophos, Inc. Programs check for known viruses, worms, etc. New viruses are created all the time, so update often
456 Phishing Password harvesting fishingUsers are sent SPAM s asking for credit card or banking information Message is disguised to appear to be from a bank or business Often reports a security problem the user needs to address When the user clicks legitimate looking link, they are linked to bogus sites set up to steal the information entered
457 What Can Be Done About Phishing?Never respond to requests for personal information like passwords via ; legitimate businesses do not request information this way Do not click on links or pre-typed addresses because they can be spoofed; type the URL yourself Check to make sure the website is using encryption Routinely review credit card and bank statements for unusual activity Report suspected abuses to proper authorities
458 Protecting Intellectual PropertyIntellectual property is any human creation like photograph, music, textbooks, cartoons, etc. Licensing of software You don't buy software; you lease it License gives you the right to use personally, but not sell or give away Try before you buy Shareware allows you to download and try software for free, then pay the person who built it if you like it (honor system)
459 Open Source Software Software for which the program is publicly available Mozilla Firefox Who pays for the technology and how do companies make money? Selling specialized corporate versions, providing customer support, selling other related software Open source software is worked on and improved by many others
460 Copyright on the Web A person automatically owns copyright of what he creates in the U.S. and most nations Copyright protects owner's right to Make a copy of the work Use a work as the basis for a new work (derivative work) Distribute or publish the work, including electronically Publicly perform the work Publicly display the work
461 Copyright on the Web (cont'd)Free Personal Use You are free to read, view or listen to protected work When is permission needed? Information placed in public domain is free for anyone to use Otherwise you must get permission from owner
462 Copyright on the Web (cont'd)The Concept of Fair Use Allows use of copyrighted material for educational or scholarly purposes, to allow limited quotation for review or criticism, to permit parody When Is It Fair Use? What is the planned use? What is the nature of the work in which the material is to be used? How much of the work will be used? What effect would this use have on the market for the work, if the use were widespread?
463 Copyright on the Web (cont'd)Violating the Copyright Law You break the law whether you give away copyrighted material or sell it Commercial use usually results in higher fines
464 Ensuring the Reliability of SoftwareSafety-Critical Applications (systems that support life or control hazardous devices or materials) Hardware failures can be avoided or resolved using redundancy Have three computers perform all computations of safety-critical system Burn-in Most errors show up after a few hours of operation
465 Software Failures How can programmers be sure their programs work correctly? All reachable configurations (states the software can get into), cannot be examined for correctness—there are too many A program is said to be correct if its behavior exactly matches its specification What can we do about the fact that we can't prove correctness?
466 The Challenge Accept that software may contain bugs. Monitor usage, be alert to unusual behavior, and be prepared to limit the harm they can do Demand high-quality software, refuse buggy software, and be prepared to change to better software
467 Fail-Soft and Fail-Safe SoftwareFail-soft means the program continues to operate under stress, providing a possibly degraded level of functionality Fail-safe means the system stops functioning to avoid causing harm Perfectly safe software is just as impossible as perfectly correct software; there is always a risk
468