Lecture Notes on Various Computer Applications By Dr. Vincent A. Ssembatya. University of Florida and Makerere University "Technology is far ahead of the law" (textbook) Database Programs Database programs are applications. Database programs can be thought of as a computerized file cabinet. Database programs are designed to maintain databasescollections of information stored on a computer disk. A database is? An information manager. Databases make it possible to store, organize and retrieve information in ways that otherwise would not be possible. Databases come in all sizes and shapes from mainframe applications that run multi-national corporations to appointment calendars in PDAs. Just about any collection of information can be turned into a database. The good: Easy access to information makes life easier and more efficient. The bad: Easy access to information can lead to erosion of privacy. Why databases? Databases make it easy to store large quantities of information. The larger the mass of information, the bigger the benefit of using a database. Databases make it easy to retrieve information quickly and flexibly. Databases make it easy to organize and reorganize information. You can quickly switch between schemes. Databases make it easy to print and distribute information in a variety of ways. Nuts and bolts of a database. Databases have a specialized vocabulary. A database is a collection of information stored in an organized form in a computer. A database program is a software tool for organizing storage and retrieval of that information. Many of the terms that describe the computer come from the file cabinet terminology of the office. For databases, the term file means a data file that is a part of a database. A record is the information relating to one person, item or event. Each discreet chunk of information in a record is called a field. There are different types of fields. Field types include a text fields that contain text, a numeric fields which contain only numbers and date fields which contain only dates. Other field types can include other types of data including graphics, photos, sounds or even videos. Computed fields contain formulas similar to spreadsheets. Most database programs have more than one way that data can be viewed. For example, form views show one record at a time and list views which show several records at a time. Database operations Most database programs can easily import or receive data in the form of text files created with word processors, spreadsheets or other databases. You can browse through these information records just as you would if they were paper records in a notebook. You can make an information request from the database called an information query. A query may be a simple search for or a specific record or a search for a group of records that meet defined criteria. A sort command allows you to arrange records in alphabetic or numeric order based on values in one or more fields. Reports are the most common types of database printouts. Many database programs don't print themselves; they export data or transport selected records to word processing programs with mailmerge capabilities. Queries Queries may be simple or complex, but like most computer operation parameters, they must be precise and unambiguous. The exact method for making a query depends on the computer's user interface. Some types require the user to use a special query language that is more specific than English. Most modern database programs support SQL which is the standard for programming complex queries. Users are often shielded from the complexities of the query language by graphical user interfaces that allow point-and-click queries. Special-purpose database programs Specialized database software is pre-programmed for specific data storage and retrieval purposes. An electronic phone directory can pack millions of names and phone numbers onto a single CD-ROM. Using an electronic street atlas you can locate addresses on a graphical map. A geographical information system (GIS) goes beyond mapping and allows businesses to combine tables of data, such as customer sales lists, with demographic information and other data sources to see relationships that be invisible in a table form. A personal information manager (PIM) can automate functions like: address phone books, appointment calendars, to-do lists and miscellaneous notes. PIMs are popular with busy people and often run on notebook computers, laptops and PDAs. File Manager vs. Database Management System (DBMS) A file manager is a program that allows users to work on one file at a time. A true DBMS is a program or a system of programs that can manipulate data in a large collection of files cross-referencing as needed. A file manager is sufficient for mailing lists and other common data management applications For large, complex jobs a DBMS is needed. With a DBMS there is no need to store redundant information in multiple files. With a DBMS databases that are related are linked using key fields. These are fields that are shared by all files that use data from each other. Since the files in databases that have DBMSs relate to each other, they are commonly called relational databases. Relational database definitions The common definition is that relational databases are databases that allow files to be related to each other so that changes in one file are reflected in other files automatically, those that have DBMSs. There is a more specific technical definition with the structure of a relational database based on a specific mathematical model that combines data in tables. Almost all databases that have DBMSs meet both definitions of a relational database. Databases look different to different users Large databases can contain hundreds of related files. Managers, accountants, data processing specialists and customers deal with the databases, work with and see information differently. Trends in data processing The earliest file management programs only allowed batch processing. When a user made an information query it might take a long time to get an answer. Increased capabilities on the part of hardware and software allows real time processing of information for many tasks, this is called interactive processing. Databases used to consist solely of mainframe computers, which kept data in one central mainframe called a data warehouse. Now, with client/server computing, information can be spread over many geographically separate computers. This model is called a distributed database. ERP (Enterprise Resource Planning) software This type of software looks at the data processing needs of a whole company (commonly called an enterprise.) It provides the company with a modular approach to data processing that is integrated. ERP software creates one process for each activity, eliminates all duplications and redundant processes thus increasing efficiency. SAP R/3 is the big player in ERP (Systems, Applications and Products in data processing. The "R" stands for real time. The three means it is the third version, the client/server version, of SAP.) SAP has 44% of ERP market. Peoplesoft is major competitor. SAP is a big company with a product in huge demand. Their 3rd quarter revenue was up 82 percent in 97. An SAP implementation changes the way a corporation does business. There are 12 jobs for every person trained and experienced in SAP. SAP software alone costs corporations $500K. The Future? Object-oriented database capabilities are being incorporated into relational databases. Object-oriented databases may come to dominate. In these types of databases rather than just storing records in tables, databases may store objects that contain procedures or instructions along with data. Multimedia technology is changing the way users interact with data, especially over the Internet. Privacy The price we pay for convenience of information access is the loss of privacy. Data is one of the currencies of our time. Marketing databases are the tip of the iceberg. There is a sea of information out there we have little control over. Sources of information include: credit, banking, voter registration, warranty registration, magazine and newsletter subscriptions, DMV, airline reservations, census data, arrest records, etc. With networked computers it is easy to link information. Record matching is easy and quick using social security, drivers license and other identification numbers that can be transformed into key fields. Data is often wrong. Data can become immortal. Data is often insecure. Technology is far ahead of the law. Connectivity and Networking A computer network is any computer system that links two or more computers. Telecommunications Samuel Morse invented the telegraph in 1844 Alexander Bell invented the telephone in 1876 Telecommunications today means long-distance electronic communications in a variety of forms, including networks Networks Hardware, networks allow people to share hardware Software, networks allow people to share data and software People, networks allow people to work together in ways that were impossible before Networks extend the reach of computers Networks allow computers to communicate their binary electrical signals beyond the confines of the local system Users connect to a network, either directly through a network card or through a phone based connection via a modem People connect to networks: With a modem (either internal or external) With a network interface card (NIC) Network Interface Cards (NICs) Add a serial port to a system Connect directly to the network Converts the computers low power internal signals to higher powered signals that can be transmitted over the network Are measured in speeds rated in megabits per second Network Architectures Ethernet, packet based, typically star topology Token Ring, token based, ring topology ATM (Asynchronous Transfer Mode), connection based, star or mesh topology Network Architectures (Cont.) Typical networks today involve a variety of architectures with old "legacy" networks connected to new networks with routers or fast "layer three" routing switches connecting and translating between them. Modems Modem is short for modulator/demodulator Connects a computer's serial port to a phone line Convert digital signals (a stream of bits) to analog signals (a continuous wave) Have different transmissions speeds, measured in bits per second (BPS), also called the baud rate Local Area Networks (LANs) Computers in a LAN are usually close to each other, usually in the same building Each computer and peripheral is an individual node on the LAN Nodes in regular networks are connected to the LAN via cables Nodes in wireless networks connect via radio waves or infrared transmitters Computers on a LAN do not have to be the same brand or use the same operating systems, but they have to use the same network standards, such as Ethernet or Token Ring LANs in a work area, such as a classroom or a building, are connected to each other with high speed networking connections called the network backbone Wide Area Networks (WANs) Most WANs are private and are owned by the businesses that operate them WANs are the network infrastructure connections that are used to connect remote LANs to each other A LAN is a node on a WAN Typically WAN connections are slower than LAN connections There are several different types of WAN designs, the design of the WAN, also called the topology of the WAN determines the cost, reliability and speed of the network WANs can extend over great distances and can span the globe The Internet is the biggest WAN LANs and WANs (Local Area Networks and Wide Area Networks) This is a WAN: LANs, and a single user remote site, are shown here connected in a WAN. The networks in San Francisco and San Jose are LANs. The whole network, with all sites considered, constitute a WAN. Communication Software Computers need communication software to interact Computers on a network must follow the same protocol - a set of rules for the exchange of data between nodes Many communications on the network are taken care of by the Network Operating System (NOS) Most medium sized or larger LANs are set up following the Client-Server model Some small LANs follow a peer-to-peer model Client-Server Networks: This is the type of network used in this lab. Drives physically located on the server can be mapped to appear as local drives on the local computer. Files saved on these mapped drives are actually saved on the remote server. (Note: Mapped drives appear when you open the "my computer" icon on your computer's desktop. Without mapping only drives physically located on the computer would appear. This mapping is done by the network administrator.) Client-server This is a hierarchical model where some computers are servers and others are clients Typical networks using this approach are Novell and NT based networks (there are others, including Appleshare File Servers) The server computers fulfils requests from client computers for data and other resources There can be many types of servers, including file servers, mail servers, print servers and web servers In a client-server LAN the bulk of the NOS exists on the servers Peer-to-peer The nodes on the network serve as both clients and servers Every user can make files available to other users on the LAN One problem is that resources go away when users turn off their workstations Modern Windows and MacOS computers have this ability built in Hybrid Networks The most common type of network Combines client-server and peer-to-peer Terminal emulation software Terminal emulation software allows a personal computer to function as a terminal of a larger and/or more sophisticated computer, typically a mainframe This larger computer is called the host Network advantages Since resources are shared peripherals can be more sophisticated and standardized, such as expensive laser printers Servers allow users to share files and/or software that's stored in a central location where it's available for everyone Software is licensed. Copyright issues must be respected and addressed! Networks make it possible for users of different kinds of systems to share data Data can be sent between remote sites very quickly Using GroupWare multiple users can work on the same documents at the same time (Lotus Notes is a very popular type of GroupWare) Interpersonal Computing Email Proprietary systems for Email used to be common, but these have been eclipsed by Internet savvy Email packages Each Email user has a mailbox Everybody can send mail to the mailbox but only the owner of the mailbox can open it Teleconferencing A teleconference is a real-time on-line meeting between two or more people Give and take format Often called Chat and Talk Chat rooms tend to be chaotic Delayed teleconference In effect users share a mailbox to discuss a topic of common interest Usenet newsgroups are a good example of this "E" vs. "snail" mail Email is faster and cheaper Email doesn't depend on location Email facilitates group discussion, one Email can be sent to multiple recipients Email and digital data can be combined and files can be attached Email doesn't create landfill! Email vs. Ma Bell Email is less intrusive Email is less time zone sensitive Email and teleconferencing vs. meetings Participants nave time to think about topics and decisions can evolve over time Long distance meetings are possible without travel Emphasize the idea over the messenger. You can't see who is sending the message. "Everyone is the same on the internet." Downsides of Email (and similar technologies) Junk Email is even easier and cheaper to send than junk snail mail Email is easily lost and/or forgotten. It is often impossible to know if it was even delivered. Email can be read by others Email can be faked, difficult to verify! Email works only if everyone is connected and reads their mail Email can be dehumanising and closes the door to many types of human interaction Email shifts the communication advantage away from the physically attractive ones and the good orators, toward the good writers and those who know the technology the best. Is everyone really the same on the Internet? Dial-up services Electronic bulletin board systems (BBSs) An electronic place for posting messages and reading messages posted by others Most are small operations Many divide messages into categories called SIGs, for special interest groups Often used to download and upload files and software Runs unattended with the sysop, or system operator, needed only to maintain the system On-line databases Place to get instant answers to very specific questions Most for very specific information for customers with specific information needs Most, like Dow Jones News Retrieval Service, by subscription only Commercial on-line services On-line information services like America Online, CompuServe etc. Allow users to send and receive information like BBSs do Able to handle large volume of information and users Services include: news, research databases, shopping, banking, games, bulletin boards, communications Most offer connections to the Internet Worth noting Use of on-line services can be addictive and expensive They have changed the way many people meet and relate to each other, there have been many on-line marriages (and divorces) Heavy users of computer dial-up networking include telecommuters. (Many are working parents or people who care for invalid family members.) For a growing percentage of our population networks and on-line services are as an important part of their lives (or more important) as TV and phones! Some people spend hours on-line each day Facsimile transmission (fax) The sending fax machine scans each page, converts the scanned image into a series of analog pulses and sends those signals, via built in modem, over the phone lines The receiving machine uses that signal to construct a facsimile (a fax, a copy) of the original document A computer can also use a fax modem to receive and send a fax Voice mail & computer telephony Voice mail is a sophisticated computer based system for taking messages and routing phone calls Often too many layers to go through to speak to a human Telephony software allows calls to be handled by computers sometimes over the computer network Video teleconferencing Combines video and computer technology to allow people to communicate face to face over long distances Expensive, but cheaper and more convenient than travel Electronic Funds Transfer EFT Money is just another form of information Automated teller machine (ATM), is a specialized computer terminal hooked up via a computer network to a banks mainframe computer ATMs are not needed for EFTs to happen, can be handled automatically or via telephone or user logging in personal computer Personal Digital Assistants (PDAs) Can meet many communication requirements A PDA can combine cell phone, fax and other communication equipment in a light weight wireless box Convergent Technologies Just a matter of time before most phone traffic is transmitted digitally This will provide infrastructure for transmitting all kinds of digital information, including phone, data, TV, radio, cable over the same pipe The medium for this will be mostly fiber optic cable Integrated Services Digital Network (ISDN) A set of standards that combines telephones, fax machines, television and mail into a single digital system Fiber optics provide the bandwidth LANs will be able to hook into phone networks without modems ISDN alternatives like cable modems and digital subscriber line (DSL) technologies are starting to become available to offer home users fast and affordable Internet connections Pier-to-pier, (ocean-to-ocean) ubiquitous networking 90 percent of American homes may have fiber connections by 2026. All kinds of new services will become available in the near future. The lines separating the different mediums are blurring. Industry is already combining and integrating their communications infrastructures. Computer-generated 3-D map representing major Internet connections in the United States (The Benjamin/Cummings Publishing Co., Inc.) To the Internet and beyond In the beginning there was ARPANET (1969) Advanced Research Projects NETwork. The Department of Defense wanted a network that could survive nuclear attack. ARPANET designed with two assumptions: Designed with the assumption that the network would be unreliable, so had to be able to automatically route around problems. Designed so that all computers on the network would be equal in their ability to communicate. ARPANET grew: Quickly became an international network. Peer to peer networking philosophy copied into other networks. Vince Cerf and Bob Kahn wrote the protocols that became the standard computer communication language, allowing different computer networks to be linked. In 1990 ARPANET was disbanded and the ARPANET infrastructure became the Internet! The Internet A technology. A tool. A culture. The Internet is: An interconnected network of thousands of networks linking academic, research, government, commercial institutions and other organizations and individuals. The Internet was originally written by and for computer scientists. The Internet is not centrally controlled. It is in a sense, massive anarchy built around common protocols. Internet services include: Electronic mail (E-mail), Internet users can send mail messages, data files and software programs to other users. Remote login (telnet), users on one system can access and log into a host system across the Internet with just a handful of commands. File transfer (File Transfer Protocol, "FTP"), some internet servers house vast archives of shareware, public domain software, pictures, literary works and other files. Users can download this stuff from these servers to their own computers. Newsgroups (Usenet) the Usenet is the home of thousands of Usenet newsgroups that are ongoing discussion groups on every imaginable topic. The World Wide Web, a collection of multimedia documents that are linked in a hypertext web. "Browser: An application that downloads HTML files from a Web server and displays the formatted file. Also called a client." How big is it? The Internet's costs are shared by the thousands of organizations that are connected to it. Growing too fast to track, 2 million new users per month! Too decentralized to quantify. Does not have hard boundaries. Transmission Control Protocol/Internet Protocol (TCP/IP) TCP/IP is an open standard, not owned by anybody. Hidden in software, generally invisible. TCP protocols, for packet routing Information on the Internet is broken down into packets. Each packet contains an address, like letters going through the post office, each packet has all the information it needs to reach its destination. Different packets might take different routes. When the packets reach their destination they are reassembled into the original message. This follows a packet-switching model that is flexible and robust. IP protocols, for addressing Every host computer on the Internet has a unique IP address. In the current version of IP (IPv4), the IP address is 4 bytes. The binary address is represented by four decimal numbers separated by dots that might look like 123.23.168.22 Every packet includes the IP address of the sending (server) computer and the receiving (client) computer. To further confuse you (and because they are running out of IP addresses) there is another, longer, IP protocol coming out called IPv6. 3 ways to access the Internet Direct connection, a full time connection on a LAN. Dial-up, terminal emulation, via modem your remote computer is functioning as a terminal on a host computer that has a direct connection. Full-access dial-up connection. Via SLIP (Serial Line Interface Protocol) or PPP (Point to Point Protocol) the remote computer has temporary full access to the internet. It is a part of the Internet while it is connected. Various levels of access Internet Service Providers (ISP's) generally offer different levels of connection at different prices. In some areas free access is available, "freenet." Many computer networks, bulletin board systems and on-line services are separate systems connected to the Internet via gateways -computers connected to two networks - and are sometimes called "outernets." Intranets Self-contained networks built around Internet protocols and/or standards. A typical Intranet offers Internet services, but not all of these services are available to users outside the organization. Intranets are generally separated from the outside world with firewalls. Internet applications are different Based on the client/server model. The distributed nature of the Internet. Various connections and types of clients. Internet users see things different The same content presented in a variety of ways to users. As a designer of Internet content, you need to keep in mind that only so much can be controlled. UNIX The dominant operating system on the Internet, an Internet fact of life. UNIX has long been the choice for workstations and mainframes in research and academia. There are many flavors of UNIX, available for most types of computers. UNIX, like DOS, is character based, (sometimes with a graphical shell.) LINUX is a UNIX-like operating system, developed by Linus Torvalds, for Intel-based PC's. The biggest advantage of Linux is the availability of the complete source code for the operating system. People are able to modify the operating system at will. Internet addresses (Email) Made up of two parts separated by an at sign (@). The person's log-in username, the at sign, and the human readable name of the host computer: username@hostname Domain Name Service (DNS) A system that translates the computers IP address into a human readable machine name (the domain name). The DNS uses a string of names, separated by dots. The words in a domain name address, like a postal address, are arranged from little to big. There is no "directory assistance" on the Internet. Email How you receive mail varies with type of computer and connection you have. Standard Emails are plain ASCII text. Attachments, files can be converted to ASCII, attached to Emails, and converted back to files by receiving programs. Listservs allow sending of Email to large numbers of people. Newsgroups Virtual bulletin boards on almost any imaginable subject for anybody to read. Need a client program and a connection to a news server. Real-time vs. asynchronous communication Mailing lists and newsgroups are delayed, or asynchronous communication UNIX Talk and Internet Relay Chat (IRC) allow several users to type to each other simultaneously. Also on-line games like Multi-User Dungeon. Some programs allow you to carry on voice and/or video teleconferences (CUSeeMe) Netiquette 101 Say what you mean, there's no way to call it back! Be short and to the point Proofread: you are judged by what you say, and how you say it! Learn the non-verbal language of the internet :-) Being invisible is not an excuse to be a jerk. Don't be a junk mail source, (watch who you copy too.) Observe before you speak out. Check FAQ's, especially on newsgroups! Make a contribution, help others! Information on the Net The most popular use of the Internet is getting information. The Internet is a giant global library with nobody in charge. Telnet Remote login protocol Sometimes need an account, but many systems allow you to login as a guest. File Transfer Protocol (FTP) Allows users to transfer (usually compressed) files from remote sites (FTP severs) to their computers. FTP and Telnet often used as verbs. Other Data Mining Tools Gopher, (the proto web), character and menu based. Archie, checks FTP servers and updates an Archie sever database. Veronica and Jughead, do what Archie does, but for Gopher servers. Wide Area Information Server (WAIS), specialized database system spread among computers that contain specific information in databases spread across the Net. The World Wide Web Introduced in 1993 at CERN. The killer application of the Internet? The heart of the Web is the concept of hypermedia. The Web is a giant hypermedia document created by unrelated authors and spread over thousands of computers around the world. Web browsers are client programs that allow you to explore web (Internet Explorer, Navigator/Communicator.) Links to other pages appear seemingly at random. Content often can be stale (cobwebs) or be removed with old links remaining. Browsers include tools for keeping personal lists of favorite sites (bookmarks and/or favorites.) Search engines facilitate searching for content. Web addresses are Uniform Resource Locators (URLs). A typical URL http://jmcweb.sjsu.edu/sloan/apsc101/home.htm The first part (http:) is the protocol. Note: A "protocol" is an agreed upon way, a set of rules, that computers use to exchange information with each other. The second part (jmcweb.sjsu.edu) is the address of the host containing the resource. the third part (sloan/apsc101/home.htm) describes the path, the nesting of directories, to the file that is the resource (home.htm). Hypertext Markup Language (HTML) HTML is a language, not a program, and as such is not WYSIWYG. Many programs that create HTML are WYSIWYG and insulate you from coding. Beyond HTML First Web pages were straight hypertext. Then came pictures, then plug-ins to extend browser capability. Then came Java Java, JavaScript and, oh yea, ActiveX etc. Java is an object oriented programming language developed by Sun. Programs written in Java are called "Applets" Java is also a very lightweight operating system. Applets run in a Java Virtual Machine (JVM) environment often included as part of the browser. The Java environment is separate from the (MacOS or Windows) environment created by the operating system of the computer so a program written to run in Java can run on any platform computer. JavaScript, also called Jscript, is a scripting language that can be imbedded in HTML to control the behavior of objects. Java and JavaScript are two different things. (Note: An object is a special kind of variable that provides a way to organize and present data, specify attributes, and provide methods for performing specific tasks. An object can be, but is not necessarily, a Java Applet. (From Jumping Java Script, by Janice Winsor and Brian Freeman.)) ActiveX and VB Script are Microsoft versions. Commerce and the Internet Started as a small, noncommercial enterprise. Grown so fast traffic levels may become more than net can handle. Software systems for digital cash on the Internet. Digital signatures and secure servers make it safer to transmit credit card numbers. Problems like pornography led to 1996 Communications Decency Act, since overturned by courts. The Internet defies control. "The Net interprets censorship as damage and routes around it." John Gilmore. National Information Infrastructure (NII) The "information superhighway." A super Internet with equal access for all? Cyberspace An alternative reality, built around computers, connectivity and the Net. Cyberfiction, new subgenera of science fiction. "In this age of advanced technology, thick walls and locked doors cannot guard our privacy or safeguard our personal freedom" Computer security Computers and crime Computers have an ever increasing role in fighting crime. Law enforcement facing an ever increasing amount of computer crime. Most computer crimes undetected. Most of those that are detected are not reported. Computer crimes cost billions of dollars each year. Types of computer crimes Use of computers to steal goods, money, information, software and services. Use and creation of Trojan horses, viruses, worms, logic bombs, etc. to sabotage systems. Hackers The myth is that hackers are responsible for most computer crimes. Actually, they are responsible only for a small proportion. Typical crimes committed by trusted employees. Software piracy is the most common form of computer crime. Security Badges and keys, traditional forms of security, are not enough. Passwords, encryption, shielding and audit-control software are used to secure data. Backups are critical! Security measures can be oppressive to the point of threatening individual rights. Other threats Computer systems also threatened by bugs and glitches. Increasingly, lives depend on performance of computers. As systems become more complex likelihood of bugs grows Military applications Reliability issues are especially important. Humans are being squeezed out of decision-making loop. The debate over high-tech weaponry is bringing security issues to public's attention. "It's impossible to make anything foolproof, because fools are so ingenious." Systems Design and Development Today's PC software is so sophisticated that it is almost invisible to the user. But underneath the virtual environment that is your computer is an incredibly complex software substructure. The programming process Like problem solving, the programming process is a four step process. Defining the problem. Defining, refining and testing the algorithm. Writing the program. Testing and debugging the program. Control structures Logical structures that control the order in which instructions are carried out. Three basic control structures Sequence Selection Repetition Coding Statements in the algorithm translate directly into lines of code in whichever programming language best fits the programmer's needs. The program needs to be entered into the computer's memory, saved as a disk file and needs to be translated into the computer's native machine language before it can be executed, or run. Because it's a computer program, every word, symbol, and punctuation mark has an exact, unambiguous meaning. To enter code into computer, programmers use a text editor - like a word processor without formatting features. Once it is coded it is translated into machine language using an interpreter or a compiler. Programming Languages There are many types of programming languages. Assembly languages (low level languages) are very similar to machine languages and are used a lot with programs that have to relate to hardware. High level languages are more independent of hardware and more transportable between platforms. High level programs often are designed for different types of applications. Modern programming languages often referred to as fourth generation languages (4GL's). Structured Programs Previous programs required a lot of "go to" statements that were used to transform control to other parts of programs. Structured programs are built from modules and submodules. Object-oriented programming (OOP) Similar to multimedia and hypermedia. With OOP programmers can build programs from prefabricated objects, just as builders can build prefabricated buildings. Features can be moved between programs. Allows programmers to write programs around logical objects. The tenet of OOP is that software should be designed using the same techniques that people use to understand and categorize the world around us. Programming by "users" Most users don't use classic programming languages. Hypermedia and multimedia. Macros. Component software Features can be added as needed to customize basic packages. Examples include extensions for Quark, PhotoShop, Netscape plus other programs, and OpenDoc and OLE at the system level. Build-it-yourself software. The future Programming languages continue to evolve closer to plain English, with aid of AI software? Line between programmer and user will grow hazier? Computers will grow in ability to program themselves? Information systems and systems analysis Programs are part of information systems (IS) IS is the collection of people, machines, data and methods organized to accomplish specific functions and to solve specific problems. Systems have a life cycle. Systems analyst is a computer professional who is primarily responsible for designing and managing a system. Steps of Systems Analysis Investigation, defining the problem. Analysis, understanding the current system. Design, proposing a solution. Development, building and testing the solution. Implementation, putting the solution into place, retiring the old system. Maintenance, repairing and enhancing the system. Retirement, replacing the system with a new one. Computer Science Computer science includes a number of focus areas, from computer theory to software engineering. Professionals who work in the academic discipline called computer science. Programming is just one thing computer scientists do. The problem As computer hardware grows more sophisticated, and makes possible more functionality, the complexity of programs increases. This complexity increases the possibility of error and complicates systems. "A machine may be deemed intelligent when it can pass for a human being in a blind test." Artificial Intelligence (AI) AI Research AI has many definitions, almost philosophical term. Most AI research focuses on making computers do what humans can do better. Most success working in limited domains. Natural Language Communications Very important field of AI research. Used in machine translation programs and natural-language interfaces. No program can understand vocabulary, syntax and ambiguities of language the way humans can. Knowledge in computers Variety of schemes for representing knowledge in computers. A knowledge base contains facts and a system for determining and changing the relationship between those facts. Most knowledge bases specific to particular specialties. Expert systems Simulate the decision making process of human specialists. Includes a knowledge base, an inference engine (for applying logic rules to knowledge base) and a user interface. Can sometimes rival human expert advice. Used in a variety of applications. Pattern recognition Involves recognizing recurring patterns in input data. Is at the heart of computer based vision, voice communication and other AI applications. People are better at pattern recognition than computers. People capable of massive parallel processing, brain not CPU based. Neural network computers Process data the same way human brain does. Unpredictable, fuzzy logic. Many small processors. Robotics A robot is a computer with mechanical peripherals and sensors designed to perform specific manual tasks. Perform dangerous and repetitive tasks, often better than people. Often replace human workers. Implications? Research continuing to find ways to produce truly intelligent machines. This intelligence could exceed human intelligence. If successful this could have staggering implications. "When machines are in league with men, the soul of the alliance must be human, lest its ends become less than human." The Information Age Paradigm shift Our civilization is in the midst of a transition, or paradigm shift, from an industrial economy to a post industrial information economy. This is having a profound influence on the way we live and work. Computers and information technology are central to that change. Factory work Jobs in this sector are declining. Factories are still providing us with hard goods, but the process is increasingly automated. Computers are used every level of operation. CAD/CAM, robotics, automated assembly lines, and automated warehouses mean very few laborers. Office automation Far more people work in offices than factories. Today's offices emphasize PC's and workstations for decentralized enterprise computing. So far, predictions for widespread computer-supported cooperative work and paperless offices have not come true. Telecommuting Growing numbers of workers use computers to work at home. Modems are often used to stay in contact with offices. Telecommuting has many benefits but not for everybody. Satellite offices, cottage industries and portable offices are other options. Many companies resist the idea of having workers out of the office. Management Information Systems (MIS) MIS, decision support systems, project management systems, expert systems, and online information systems can help managers plan, organize, staff, direct and control their organizations. These systems can also lead to information overload. Productivity Gains? Computers have increased the number of services that can be offered. They have not produced hoped for productivity gains. It's possible productivity will increase as people adapt to technology and new technology comes on line that is more human-centered. Computer (and technology) impact Varies from job to job Some jobs are eliminated, others are de-skilled, others are up-skilled. Data-entry warehouses, for example, can be compared to textile sweatshops. Computer monitoring raises issues of privacy and dehumanization of workplace. Job elimination Biggest problem of automation. Expanding economy has created jobs to fill void. Less skilled and less educated will suffer the most. Will society take up the slack? What happens to the blue collar worker when the plant automates the assembly line? What happens when technology eliminates whole new classes of workers? How many workers can a information and service based economy support?