• No results found

Chapter 1 – Introduction to Computers, the Internet, and the Web

N/A
N/A
Protected

Academic year: 2021

Share "Chapter 1 – Introduction to Computers, the Internet, and the Web"

Copied!
27
0
0

Loading.... (view fulltext now)

Full text

(1)

2002 Prentice Hall. All rights reserved.

Chapter 1 – Introduction to Computers, the Internet, and the Web

Outline

1.1 Introduction

1.2 What Is a Computer?

1.3 Computer Organization

1.4 Evolution of Operating Systems

1.5 Personal, Distributed and Client/Server Computing 1.6 Machine Languages, Assembly Languages and

High-Level Languages 1.7 History of C++

1.8 History of Java

1.9 Java Class Libraries

1.10 Other High-Level Languages 1.11 Structured Programming

1.12 The Internet and the World Wide Web 1.13 Basics of a Typical Java Environment

(2)

Chapter 1 – Introduction to Computers, the Internet, and the Web

1.14 General Notes about Java and This Book

1.15 Thinking About Objects: Introduction to Object Technology and the Unified Modeling Language

1.16 Discovering Design Patterns: Introduction 1.17 Tour of the Book

1.18 (Optional) A Tour of the Case Study on Object- Oriented Design with the UML

1.19 (Optional) A Tour of the “Discovering Design Patterns” Sections

(3)

2002 Prentice Hall. All rights reserved.

1.1 Introduction

• Java How to Program, Fourth Edition

– Java 2 Standard Edition

– Object-oriented programming

(4)

1.2 What Is a Computer?

• Computer

– Performs computations and makes logical decisions – Millions / billions times faster than human beings

• Computer programs

– Sets of instructions for which computer processes data

• Hardware

– Physical devices of computer system

• Software

– Programs that run on computers

(5)

2002 Prentice Hall. All rights reserved.

1.3 Computer Organization

• Six logical units of computer system

– Input unit

• Mouse, keyboard

– Output unit

• Printer, monitor, audio speakers

– Memory unit

• RAM

– Arithmetic and logic unit (ALU)

• Performs calculations

– Central processing unit (CPU)

• Supervises operation of other devices

– Secondary storage unit

• Hard drives, floppy drives

(6)

1.4 Evolution of Operating Systems

• Batch processing

– One job (task) at a time

– Operating systems developed

• Programs to make computers more convenient to use

• Switch jobs easier

• Multiprogramming

– “Simultaneous” jobs

– Timesharing operating systems

(7)

2002 Prentice Hall. All rights reserved.

1.5 Personal, Distributed and Client/Server Computing

• Personal computing

– Computers for personal use

• Distributed computing

– Computing performed among several computers

• Client/server computing

– Servers offer common store of programs and data – Clients access programs and data from server

(8)

1.6 Machine Languages, Assembly Languages and High-Level

Languages

• Machine language

– “Natural language” of computer component – Machine dependent

• Assembly language

– English-like abbreviations represent computer operations – Translator programs convert to machine language

• High-level language

– Allows for writing more “English-like” instructions

• Contains commonly used mathematical operations

– Compiler convert to machine language

• Interpreter

– Execute high-level language programs without compilation

(9)

2002 Prentice Hall. All rights reserved.

1.7 History of C++

• C++

– Evolved from C

• Evolved from BCPL and B

– Provides object-oriented programming capabilities

• Objects

– Reusable software components that model real-world items

(10)

1.8 History of Java

• Java

– Originally for intelligent consumer-electronic devices – Then used for creating Web pages with dynamic content – Now also used for:

• Develop large-scale enterprise applications

• Enhance WWW server functionality

• Provide applications for consumer devices (cell phones, etc.)

(11)

2002 Prentice Hall. All rights reserved.

1.9 Java Class Libraries

• Classes

– Contain methods that perform tasks

• Return information after task completion

– Used to build Java programs

• Java contains class libraries

– Known as Java APIs (Application Programming Interfaces)

(12)

1.10 Other High-Level Languages

• Fortran

– FORmula TRANslator

• COBOL

– COmmon Business Oriented Language

• Pascal

• Basic

(13)

2002 Prentice Hall. All rights reserved.

1.11 Structured Programming

• Structured Programming

– Structured programs

• Clearer than unstructured programs

• Easier to test, debug and modify

– Pascal designed for teaching structured programming – ADA

• Multitasking

– C

(14)

1.12 The Internet and the World Wide Web

• Internet

– Developed over three decades ago with DOD funding – Originally for connecting few main computer systems – Now accessible by hundreds of millions of computers

• World Wide Web (WWW)

– Allows for locating/viewing multimedia-based documents

(15)

2002 Prentice Hall. All rights reserved.

1.13 Basics of a Typical Java Environment

• Java systems contain

– Environment – Language – APIs

– Class libraries

(16)

1.13 Basics of a Typical Java Environment (cont.)

• Java programs normally undergo five phases

– Edit

• Programmer writes program (and stores program on disk)

– Compile

• Compiler creates bytecodes from program

– Load

• Class loader stores bytecodes in memory

– Verify

• Verifier ensures bytecodes do not violate security requirements

– Execute

• Interpreter translates bytecodes into machine language

(17)

2002 Prentice Hall. All rights reserved.

Fig. 1.1 A typical Java environment.

Primary Memory

. . . . . . Primary Memory

. . . . . . Primary Memory

. . . . . . Disk Disk

Disk

Bytec ode Ve rifier Editor

Class Lo ad er Compiler

Interp reter

Prog ram is created in the editor and sto red on d isk.

Compiler c rea te s bytec odes and stores the m on disk.

Class loa de r p uts byteco des in memory.

Byte code verifier confirms that a ll bytec odes are valid and do not violate J ava ’s sec urity restrictions.

Interpreter read s bytec odes and translates them into a la nguag e that the computer can und ersta nd, possib ly storing d ata values a s the program executes.

Pha se 1

Pha se 2

Pha se 3

Pha se 4

Pha se 5

(18)

1.14 General Notes about Java and This Book

• Geared for novice programmers

• We stress clarity

(19)

2002 Prentice Hall. All rights reserved.

1.15 Thinking About Objects:

Introduction to Object Technology and the Unified Modeling Language

• Object orientation

• Unified Modeling Language (UML)

– Graphical language that uses common notation

– Allows developers to represent object-oriented designs

(20)

1.15 Thinking About Objects (cont.)

• Objects

– Reusable software components that model real-world items – Look all around you

• People, animals, plants, cars, etc.

– Attributes

• Size, shape, color, weight, etc.

– Behaviors

• Babies cry, crawl, sleep, etc.

(21)

2002 Prentice Hall. All rights reserved.

1.15 Thinking About Objects (cont.)

• Object-oriented design (OOD)

– Models real-world objects

– Models communication among objects

– Encapsulates data (attributes) and functions (behaviors)

• Information hiding

• Communication through well-defined interfaces

• Object-oriented language

– Programming is called object-oriented programming (OOP) – Java

(22)

1.15 Thinking About Objects (cont.)

• Object-Oriented Analysis and Design (OOAD)

– Essential for large programs

– Analyze program requirements, then develop solution – We begin OOAD in Chapter 2

• Elevator-simulation case study

(23)

2002 Prentice Hall. All rights reserved.

1.15 Thinking About Objects (cont.)

• History of the UML

– Need developed for process with which to approach OOAD – Brainchild of Booch, Rumbaugh and Jacobson

– Object Management Group (OMG) supervised – Version 1.4 is current version

• Version 2.0 scheduled tentatively for release in 2002

(24)

1.15 Thinking About Objects (cont.)

• UML

– Graphical representation scheme

– Enables developers to model object-oriented systems – Flexible and extendible

(25)

2002 Prentice Hall. All rights reserved.

1.16 Discovering Design Patterns:

Introduction

• Effective design crucial for large programs

• Design patterns

– Proven architectures for developing object-oriented software

• Architectures created from accumulated industry experience

– Reduce design-process complexity

– Promotes design reuse in future systems

– Helps identify common design mistakes and pitfalls

– Helps design independently of implementation language – Establishes common design “vocabulary”

– Shortens design phase in software-development process

(26)

1.16 Discovering Design Patterns (cont.)

• Design patterns

– Similar to architectural elements

• arches and columns

– Used by developers to construct sets of classes and objects

• Developers

– Familiarity with patterns to understand how to use patterns

(27)

2002 Prentice Hall. All rights reserved.

1.16 Discovering Design Patterns (cont.)

• History of Design Patterns

– Gamma, Helm, Johnson and Vlissides

• “Gang of Four”

• Design Patterns, Elements of Reusable Object-Oriented Software (Addison Wesley: 1995)

• Established 23 design patterns – Creational

• Instantiate objects – Structural

• Organize classes and objects – Behavioral

• Assign responsibilities to objects

References

Related documents

This       clash between the two warrior identities creates contention for black women because the warrior       language that originates in the strong black woman image expects

In South Africa, participants were recruited from the chronic care units in four primary health care clinics. Recruitment into the depression treatment cohort followed the same

A este nível acrescentou-se a insatisfação com a aparência, pois segundo Adulyanon, esta é uma dimensão importante dos resultados em saúde oral (Adulyanon et al.,

To self-strengthen, the Qing used the social capital of Han leaders to persuade Chosŏn into signing more international treaties under Qing supervision, which would help China

The ratio of secondary induced emf to primary induced emf is called as voltage regulation ratio devoted by K. 15 Write the expression for equivalent resistance and reactance

There is a significant, robust positive correlation between institutional quality as measured by Polity score and earned average day rates for a PSV in that country in

As the Development and Outreach Officer, you will play a crucial role in supporting the Resource Development Team to raise the funds Reprieve needs to fulfil its mission, and

APPROACH: The Health and Safety Executive (HSE) Stress Indicator Tool is widely used in the UK to assess key psychosocial hazards in the workplace encompassing demands, control,