computers in a changing society by john preston, robert ferrett, and sally preston © 2005...

32
Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice- Hall, Inc. 1

Post on 21-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

Computers in a Changing Society

By John Preston, Robert Ferrett,and Sally Preston

© 2005 Prentice-Hall, Inc. 1

Page 2: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

Computers in a Changing Society

Chapter 4

Using Software: Standing on the Shoulders of Giants

© 2005 Prentice-Hall, Inc. 2

Page 3: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

Computers in a Changing Society Chapter 4

Learning ObjectivesLearning Objectives

I. Generations of Languages—First and Second Generation Match key terms such as source code, machine code, compiler, and assembler

II. Generations of Languages—Third Generation Name three early 3GLs still in use that used GOTO statements Identify the slang term for languages that used GOTO statements Identify the programming solution to branching problems Identify three features of modular programming Identify the relationship between C and operating systems

III. Generations of Languages—Fourth Generation Identify characteristics of a 4GL Give an example of a 4GL language Identify definitions and examples of event driven languages Identify the characteristics of Object Oriented Programming Choose examples that represent OOP Identify languages that use OOP

© 2005 Prentice-Hall, Inc. 3

Page 4: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

Computers in a Changing Society Chapter 4

Learning ObjectivesLearning Objectives

IV. Generations of Languages—Fifth Generation Identify characteristics of a 5GL and give an example of a 5GL language

V. Applications of Programming Identify the acronym and functions of BIOS Identify Operating System (OS) functions and name four common operating systems Identify functions of server applications Define GUI Name three IBM mainframe operating systems and identify the characteristics of LINUX Identify four productivity application suites Identify utility program types and characteristics

VI. Languages and Applications for the Internet Identify the relationship between Web applications, browsers, and operating systems Identify relationships between Java, byte code, and java virtual machine Identify applications from Microsoft that compete with Java Identify the role of CGI, four script languages, and types of Web pages created by scripts

© 2005 Prentice-Hall, Inc. 4

Page 5: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

I. Generations of Languages—First and Second GenerationFirst Generation Language (1GL)

Machine Language Language a computer processor understands Electrical Engineers

Design of circuits and connections

Binary number complexity Series of ones and zeros

Machine Code Instruction sequence written

in machine language

Most machine-like

© 2005 Prentice-Hall, Inc. 5

Computers in a Changing Society Chapter 4

Page 6: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

I. Generations of Languages—First and Second GenerationSecond Generation Language (2GL)

Assembly Language Slightly more convenient than machine language Allows use of command words and decimal numbers (Ex. L 8300) Assembler

Program that takes assembly language statements and converts them into a series of machine language instructions

Register—holding place in the processor for assembler instructions Source Code Machine Code Assembler is closest language to machine language that programmers use Assembler language is specific to the hardware Used for quick data processing; useful for interactive gaming programs

© 2005 Prentice-Hall, Inc. 6

Computers in a Changing Society Chapter 4

Page 7: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

II. Generations of Languages—Third GenerationThird Generation Language (3GL)

Characteristics Uses commands not specific to a particular processor Source code sent to compiler that

converts code into machine code High-Level Languages

Third, fourth, and fifth generation

Low-Level Languages First and second generation

Significant Terminology Syntax—Rules governing a language Bugs—Programmatic errors Debugging—Fixing errors

© 2005 Prentice-Hall, Inc. 7

Computers in a Changing Society Chapter 4

Among other notable achievements, computer science pioneer Rear Admiral Grace Hopper is known for discovering the first computer “bug”—a moth trapped in a Mark II Aiken Relay Calculator

Page 8: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

II. Generations of Languages—Third Generation (3GL)Early Languages with GOTO Instructions

FORTRAN—FORmula TRANslation COBOL—COmmon Business Oriented Language BASIC

General purpose language created to help students learn programming Adapted by Bill Gates and Paul Allen to run on the first personal

computer Branching—Ability to perform different operations based on conditions

Early 3GL—1950s and 1960s used conditional IF and GOTO statements

Spaghetti Code—Hard to follow programs created with GOTO statements

GOTO statements—Used in early FORTRAN, COBOL, and BASIC

© 2005 Prentice-Hall, Inc. 8

Computers in a Changing Society Chapter 4

Page 9: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

II. Generations of Languages—Third Generation (3GL)Structured Programming Languages

Structured Programming Handling different conditions

in one program location IF–THEN–ELSE or DO-WHILE

© 2005 Prentice-Hall, Inc. 9

Computers in a Changing Society Chapter 4

Page 10: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

II. Generations of Languages—Third Generation (3GL)Modular Programming

Characteristics Blocks of code to handle standard procedures Kept in separate file for efficient reuse Information hiding

Programmer supplies information to obtain an answer or command

Standardized input and output for module sharing Increased productivity and error reduction ADA

Employs process of information hiding Used by U.S. Defense Department Named after Augusta Ada Byron, Countess of Lovelace,

considered to be the first programmer

© 2005 Prentice-Hall, Inc. 10

Computers in a Changing Society Chapter 4

Page 11: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

II. Generations of Languages—Third Generation (3GL)Languages Used to Write Application Programs

Characteristics Created tools by writing programs

that coordinate modules of code 1972—C Language

Hybrid of 2GL and 3GL Programs ran faster than 3GLs C, C+, C++—Write operating systems Operating System

Special class of software

Special Purpose Languages for the Web The Internet

Special purpose languages and operating systems

© 2005 Prentice-Hall, Inc. 11

Computers in a Changing Society Chapter 4

Page 12: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

III. Generations of Languages—Fourth Generation (4GL)Fourth Generation Languages (4GL)

Characteristics Close to normal human language, but requires strict syntax Non-Procedural

No detailed task instructions; less code required Query—Request for information from a database

Structured Query Language (SQL)—Language for writing queries Works with database structures Centralized data dictionary with system component description Visual programming—Uses icons positioned with pointing device For use by novices and experts Interactive and multifunction programming environment 4GL describes event-driven and object-oriented programming

languages

© 2005 Prentice-Hall, Inc. 12

Computers in a Changing Society Chapter 4

Page 13: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

III. Generations of Languages—Fourth Generation (4GL)Event Driven

Visual Basic (VB) Introduced in 1987 Made it easy for developers to use standard

windows features (buttons, dialog boxes, scrollbars, and menus) using icon dragging

Event and Event-Driven Compatibility

Microsoft Office applications Microsoft Windows or Macintosh computers

Objects Buttons and dialog boxes Confusion—Object vs. object oriented programs

© 2005 Prentice-Hall, Inc. 13

Computers in a Changing Society Chapter 4

Page 14: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

III. Generations of Languages—Fourth Generation (4GL)Object Oriented Programming (OOP)

Characteristics New way of dealing with data and programming Enhanced modular programming—Includes data and instructions Objects—Self-contained modules

Attributes—Contains facts that describe the object Methods or operations—Programmed instructions Class—Object groupings Inherit—Ability to acquire attributes from another class Polymorphism—Ability of each object to determine how to use variables to

accomplish a goal based on the context OOP Languages

Smalltalk—Original OOP Language C++ and VB.NET—Use OOP Sun Microsystems’ Java and Microsoft’s C# (C sharp)

Exclusively use OOP

© 2005 Prentice-Hall, Inc. 14

Computers in a Changing Society Chapter 4

Page 15: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

IV. Generations of Languages—Fifth Generation (5GL)Fifth Generation Languages (5GL)

Characteristics Similar to 4GL that uses knowledge-based system

Knowledge-based system can interpret instructions in human-like manner Loosely defined like 4GL

All computer code is generated automatically Code can be compiled by a 3GL or 4GL compiler Programs are modified and maintained working with 5GL statements

or icons, not underlying 3GL or 4GL code Languages that use graphic interfaces to generate 5GL OOP

programs Examples: Borland’s JBuilder and Oracle’s JDeveloper

© 2005 Prentice-Hall, Inc. 15

Computers in a Changing Society Chapter 4

Page 16: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingApplication Programs or Applications

Characteristics Usually written in 3GL, which is source code Source code compiled for use on different computer systems Distributed via CD or Internet download

Basic Input/Output System (BIOS)

Characteristics Checks connections to major system components Beep Codes—Indicate unplugged or faulty component Process—First program running when computer is booted

© 2005 Prentice-Hall, Inc. 16

Computers in a Changing Society Chapter 4

Page 17: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingOperating Systems (OS)

Characteristics Loads after BIOS checks computer OS controls running computer OS Functions Determine

how information is displayed how information is printed how mouse works common functions for programs how data is written on disks

Drivers—Small programs that manage commands between OS and peripherals

MS-DOS—Microsoft Disk Operating System IBM adopted for IBM PC

© 2005 Prentice-Hall, Inc. 17

Computers in a Changing Society Chapter 4

Page 18: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingOperating Systems (OS)

Characteristics GUI—Graphical User Interface

Popularized by Apple Corporation Microsoft adopted GUI approach for Windows OS MS-DOS and Windows popularity—90% vs. Apple—5%

Platform—OS and specific type of processor Example: Wintel—Windows OS and Intel processor OS Compatibility and Consistency Advantages

© 2005 Prentice-Hall, Inc. 18

Computers in a Changing Society Chapter 4

Page 19: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingOperating Systems (OS)

Characteristics PDAs—Personal Digital Assistants and Multi-Function Cell Phones

Use OS with small amount of RAM to manage small screens Popularized by Palm Pilot using Palm OS Windows CE OS—Special version of Windows for PDAs

Mainframe OS IBM—MVS, OS/390, or Z/OS UNIX

Originated at Bell Labs in 1969 Written in C language First widely-used open source OS Intellectual property rights owned by SCO Group

Microsoft—Windows 2000 DataCenter

Medium Sized Computers Use UNIX or similar OS, Linux

© 2005 Prentice-Hall, Inc. 19

Computers in a Changing Society Chapter 4

Page 20: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingClient/Server Applications

Characteristics Server Software—Provides services to multiple computers Client Software—Resides on user’s PC or workstation Many combinations of OS and server software

Web Servers Provide Web pages Variety of software available Apache—Popular low-cost Web server software

Open source software runs on Unix or Linux OS Free combination of Apache and Linux Apple—Mac OS X Server Microsoft—Windows Server 2005 with Internet Information Server (IIS)

Browsers—Netscape and Internet Explorer Client programs serving Web pages from Web server

© 2005 Prentice-Hall, Inc. 20

Computers in a Changing Society Chapter 4

Page 21: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingClient/Server Applications

Messaging and Collaboration Groupware—Programs that coordinate groups

Microsoft’s Exchange Server Microsoft Outlook—Client software works with Microsoft Exchange Server

E-mail, calendars, meeting scheduling Lotus Notes—Client software works with IBM mainframe systems

© 2005 Prentice-Hall, Inc. 21

Computers in a Changing Society Chapter 4

Page 22: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingProductivity Applications for Personal Computers

Characteristics Programs that help users perform specific functions

(e.g., word processing, spreadsheet, database, graphics, etc.)

Microsoft Office—Productivity suite of applications Word—word processing; Excel—spreadsheet; Access—database; PowerPoint—

presentation; Outlook—personal information; Internet Explorer—Web browser

Competitors Corel WordPerfect Office Lotus SmartSuite Open-Office—Free suite that runs on Linux OS StarOffice—Nominal cost suite that runs on Linux OS, Windows, and Solaris OS

© 2005 Prentice-Hall, Inc. 22

Computers in a Changing Society Chapter 4

Page 23: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingProductivity Applications for Personal Computers

Characteristics All major suites run on Windows OS Applications are platform specific

Apple OS applications must be rewritten Usually appear on market after Windows versions

© 2005 Prentice-Hall, Inc. 23

Computers in a Changing Society Chapter 4

Page 24: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingUtilities

Characteristics Special purpose software applications Bundled with OS or separate purchase

Managing Files File name extensions

Three-character extension helps identify files Recorded in OS registry and looked up by OS

before launching associated software application

Backslash—Separates folder name with first backslash indicating root

Spaces—Windows and Macintosh OS allow spaces, but Unix and Linux do not

Capitalization—Windows usually ignores, but Unix and Linux do not

© 2005 Prentice-Hall, Inc. 24

Computers in a Changing Society Chapter 4

Page 25: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingUtilities

File Compression Method for decreasing size of a file Decompress—Returning file to its original size Also known as zipping and unzipping Utility programs use logic to reduce file size usually by a factor of four Feature built into Windows XP

Extra utility programs available for older version OS—Windows, Macintosh, UNIX

© 2005 Prentice-Hall, Inc. 25

Computers in a Changing Society Chapter 4

Page 26: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingUtilities

Antivirus, Web Security, and Spam Blockers Virus—Serious threat to computer system Anti-Virus Software—Scans for presence

of viruses to protect system Spam—Unsolicited e-mail Spam Blockers—Block suspected spam

Viewing Documents Captures image to share information; not original file Example: Adobe Acrobat—.pdf format

Custom Software Horizontal Software—Applications for different organizations Vertical Software—Applications for specific market segments Enterprise Resource Package (ERP)—Business solutions

SAP, PeopleSoft, Oracle, Microsoft

© 2005 Prentice-Hall, Inc. 26

Computers in a Changing Society Chapter 4

Page 27: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

V. Applications of ProgrammingUtilities

Disk Use and Maintenance Formatting—Dividing disks into tracks and sectors

Tracks—Concentric circles of re-writable disk space Sectors—Pie-shaped sections of circular tracks Cluster—Data spanning two or more adjacent sectors

Size and spacing varies with OS (Microsoft Windows and Macintosh) Preformatted and reformatting Scanning—Process of identifying unusable bad sectors of disk Erasing —File Allocation Table (FAT) used to record disk space allocation Defragmenting—Moving file fragments together in contiguous pattern

© 2005 Prentice-Hall, Inc. 27

Computers in a Changing Society Chapter 4

Page 28: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

VI. Languages and Applications for the InternetLanguages for Creating Web Pages

Hypertext Markup Language (HTML) Inventor—Tim Berners-Lee Tags—Predefined codes for display File type .html or .htm Web browser interprets and displays html code Applets—Small application programs within HTML Sun Microsystems Java language

Byte code Included within a Web page Sent to client computer

Java virtual machine (JVM) Client computer converts byte code to machine language compatible with OS Included with Netscape and downloadable for Windows/Intel Microsoft—C# (C sharp) and Active X—Microsoft’s Java applet

© 2005 Prentice-Hall, Inc. 28

Computers in a Changing Society Chapter 4

Page 29: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

VI. Languages and Applications for the InternetLanguages for Creating Web Pages

eXtensible Markup Language (XML) Allows programmers to attach tag descriptions Programmer collaboration

Java 2 Platform Enterprise Edition (J2EE) uses Java tools Microsoft.NET uses XML Simple Object Access Protocol (SOAP)

Web Server Languages Common Gateway Interface (CGI)

Standard method of handling requests for programmed actions on the server by applets within the Web page

Scripts—Small programs on server used by applets within Web page

© 2005 Prentice-Hall, Inc. 29

Computers in a Changing Society Chapter 4

Page 30: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

VI. Languages and Applications for the InternetWeb Server Languages

Script Authoring Languages PERL—Used on Web servers running UNIX or Linux OS ECMAScript

Created by Netscape and originally named JavaScript Standardized to work with Netscape and Internet Explorer under

auspices of the European Computer Manufacturers Association (ECMA)

Jscript—Created by Microsoft; adheres to ECMA standards TCL—Developed by Sun Laboratories Rexx—IBM script designed for ease of use by non-programmers Hypertext Pre-Processor (PHP)

Open-source software used with Apache Web server Used to create custom Web pages from database File extensions of .php, .php3, or .phtml

VBScript—Subset of Visual Basic used for writing scripts Active Server Page (ASP)—Customized Web page created upon user request

© 2005 Prentice-Hall, Inc. 30

Computers in a Changing Society Chapter 4

Page 31: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

Computers in a Changing Society Chapter 4

Chapter SummaryChapter Summary

© 2005 Prentice-Hall, Inc. 31

First and second generation languages

Match key terms such as source code, machine code, and compiler with their definitions: Source code is written by a programmer; machine code is made up of binary numbers useable by a processor; and a compiler converts source code into machine code.

Third generation languages

Name three early 3GL still in use that used GOTO statements: FORTRAN, COBOL, and BASIC.

Identify the slang term for languages that used GOTO statements: Spaghetti code.

Identify the programming solution to branching problems: Structured programming using IF-THEN-ELSE or DO-WHILE statements.

Identify the features of modular programming: Information hiding, standardized input and output, shared and reused.

Identify the relationship between C and operating systems: C language combined high level programming features with ability to use specific features of a processor; used to write operating systems.

Fourth generation languages

Identify characteristics of a 4GL: non-procedural, works with databases, visual programming, useful for novices and experts, interactive and multifunction programming environment.

Give an example of a 4GL language: SQL.

Identify definitions and examples of event-driven languages: Events like clicking buttons activate parts of the code.

Identify the characteristics of object oriented programming: objects have attributes and methods and are grouped in classes; an object can inherit attributes and methods of its class; commands are called messages and the ability to act on the message independently is called polymorphism.

Identify languages that use OOP: C++, VB.NET, Smalltalk, Java, C#.

Fifth generation languages

Identify characteristics of a 5GL: all code is generated automatically and can be compiled by a 3GL compiler.

Give an example of a 5GL language: JBuilder or JDeveloper.

Page 32: Computers in a Changing Society By John Preston, Robert Ferrett, and Sally Preston © 2005 Prentice-Hall, Inc.1

Computers in a Changing Society Chapter 4

Chapter SummaryChapter Summary

© 2005 Prentice-Hall, Inc. 32

Applications Identify the acronym for BIOS: Basic Input/Output System.

Identify the functions of BIOS: boot up the computer and check components.

Identify the functions of an operating system: communicate between applications and the processor, manage storage systems, manage peripherals, and provide tools for applications to use.

Name four common operating systems: Windows, Mac OS, UNIX, Linux, MVS, S/390.

Identify functions of server applications: Find and deliver data or Web pages.

Define GUI: Graphic User Interface.

Name three IBM mainframe operating systems: MVS, S/390, Z/OS.

Identify the characteristics of Linux: Similar to UNIX but open source and free.

Identify four productivity application suites: MS Office, Star Office, Corel WordPerfect Office, and Lotus SmartSuite.

Identify types and characteristics of utility programs: File management, disk maintenance, antivirus, and viewing documents.

Languages and Applications for the Internet

Identify the relationship between Web applications, browsers, and operating systems: Web applications use browsers, which in turn use the operating system to display Web pages.

Identify relationships between Java, byte code, and java virtual machine: Java is the programming language. Its programs are converted to byte code, which can be executed by a java virtual machine on the client computer.

Identify applications from Microsoft that compete with Java: C# (programming language) and ActiveX are similar to Java applets.

Identify the role of CGI: The common gateway interface handles requests for scripts by Web pages and locates the scripts in a directory on the server.

Identify four script languages: Perl, ECMAScript, Jscript, PHP, TCL, Rexx, VBScript.

Identify two types of Web pages created by scripts in response to user input: Active Server Pages (ASP) and PHP pages.