Download Chapter 1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Logic programming wikipedia , lookup

Falcon (programming language) wikipedia , lookup

Compiler wikipedia , lookup

Functional programming wikipedia , lookup

Go (programming language) wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

ILLIAC IV wikipedia , lookup

Java (programming language) wikipedia , lookup

Programming language wikipedia , lookup

Reactive programming wikipedia , lookup

Object-oriented programming wikipedia , lookup

Java performance wikipedia , lookup

Structured programming wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Transcript
Chapter 1: An Overview of Computers
and Programming Languages
Java Programming:
From Problem Analysis to Program Design,
Second Edition
Chapter Objectives
 Learn about different types of computers.
 Explore the hardware and software components of a
computer system.
 Learn about the language of a computer.
 Learn about the evolution of programming
languages.
 Examine high-level programming languages.
 Discover what a compiler is and what it does.
Java Programming: From Problem Analysis to Program Design, Second Edition
2
Chapter Objectives
 Examine a Java program.
 Examine how a Java program is processed.
 Become aware of the Internet and World Wide
Web.
 Learn what an algorithm is and explore problemsolving techniques.
 Become aware of structured and object-oriented
programming design methodologies.
Java Programming: From Problem Analysis to Program Design, Second Edition
3
Introduction
 Computers have greatly affected our daily lives—
helping us complete many tasks.
 Computer programs (software) are designed
specifically for each task.
 Software is created with programming languages.
 Java is an example of a programming language.
Java Programming: From Problem Analysis to Program Design, Second Edition
4
An Overview of the
History of Computers
 1950s: Very large devices available to a select few.
 1960s: Large corporations owned computers.
 1970s: Computers got smaller and cheaper.
 1990s: Computers got cheaper and faster and were
found in most homes.
Java Programming: From Problem Analysis to Program Design, Second Edition
5
Elements of a Computer System
A computer has two components:
 Hardware
 Software
Java Programming: From Problem Analysis to Program Design, Second Edition
6
Hardware Components
of a Computer
 Central processing unit (CPU)
 Main memory
Java Programming: From Problem Analysis to Program Design, Second Edition
7
Central Processing Unit
 Control unit (CU)
 Arithmetic logic unit (ALU)
 Program counter (PC)
 Instruction register (IR)
Java Programming: From Problem Analysis to Program Design, Second Edition
8
Hardware Components of a Computer
Java Programming: From Problem Analysis to Program Design, Second Edition
9
Main Memory
 Ordered sequence of cells (memory cells).
 Directly connected to CPU.
 All programs must be brought into main memory
before execution.
 When power is turned off, everything in main
memory is lost.
Java Programming: From Problem Analysis to Program Design, Second Edition
10
Main Memory with
100 Storage Cells
Java Programming: From Problem Analysis to Program Design, Second Edition
11
Secondary Storage
 Provides permanent storage for information.
 Examples of secondary storage:
 Hard disks
 Floppy disks
 Zip disks
 CD-ROMs
 Tapes
Java Programming: From Problem Analysis to Program Design, Second Edition
12
Input Devices
 Devices that feed data and computer programs into
computers.
 Examples:
 Keyboard
 Mouse
 Secondary storage
Java Programming: From Problem Analysis to Program Design, Second Edition
13
Output Devices
 Devices that the computer uses to display results.
 Examples:
 Printer
 Monitor
 Secondary storage
Java Programming: From Problem Analysis to Program Design, Second Edition
14
Software
 Software consists of programs written to perform
specific tasks.
 Two types of programs:
 System programs
 Application programs
Java Programming: From Problem Analysis to Program Design, Second Edition
15
System Programs
 System programs control the computer.
 The operating system is first to load when you turn
on a computer.
Java Programming: From Problem Analysis to Program Design, Second Edition
16
Operating System (OS)
 The OS monitors the overall activity of the computer
and provides services.
 Example services:
 Memory management
 Input/output
 Activities
 Storage management
Java Programming: From Problem Analysis to Program Design, Second Edition
17
Application Programs
 Written using programming languages.
 Perform a specific task.
 Run by the OS.
 Example programs:
 Word processors
 Spreadsheets
 Games
Java Programming: From Problem Analysis to Program Design, Second Edition
18
Language of a Computer
 Machine language is the most basic language of a
computer.
 A sequence of 0s and 1s.
 Every computer directly understands its own
machine language.
 A bit is a binary digit, 0 or 1.
 A byte is a sequence of eight bits.
Java Programming: From Problem Analysis to Program Design, Second Edition
19
Language of a Computer
Java Programming: From Problem Analysis to Program Design, Second Edition
20
Evolution of
Programming Languages
 Early computers programmed in machine language.
 Assembly languages were developed to make
programmer’s job easier.
 In assembly language, an instruction is an easy-toremember form called a mnemonic.
 Assembler: Translates assembly language
instructions into machine language.
Java Programming: From Problem Analysis to Program Design, Second Edition
21
Instructions in Assembly and
Machine Languages
Java Programming: From Problem Analysis to Program Design, Second Edition
22
Evolution of
Programming Languages
 High-level languages make programming easier.
 Closer to spoken languages.
 Examples:





Basic
FORTRAN
COBOL
C/C++
Java
Java Programming: From Problem Analysis to Program Design, Second Edition
23
Evolution of
Programming Languages
To run a Java program:
1. Java instructions need to be translated into an
intermediate language called bytecode.
2. The bytecode is interpreted into a particular
machine language.
Java Programming: From Problem Analysis to Program Design, Second Edition
24
Evolution of
Programming Languages

Compiler: A program that translates a program
written in a high-level language into the
equivalent machine language.
 (In the case of Java, this machine language is the
bytecode.)

Java Virtual Machine (JVM): A hypothetical
computer developed to make Java programs
machine independent.
Java Programming: From Problem Analysis to Program Design, Second Edition
25
A Java Program
public class ASimpleJavaProgram
{
public static void main(String[] args)
{
System.out.println("My first Java program.");
System.out.println("The sum of 2 and 3 = " + 5);
System.out.println("7 + 8 = " + (7 + 8));
}
}
Sample Run:
My first Java program.
The sum of 2 and 3 = 5
7 + 8 = 15
Java Programming: From Problem Analysis to Program Design, Second Edition
26
Processing a Java Program
 Two types of Java programs are applications and
applets.
 Source program: Written in a high-level language.
 Loader: Transfers the compiled code (bytecode)
into main memory.
 Interpreter: Reads and translates each bytecode
instruction into machine language and then
executes it.
Java Programming: From Problem Analysis to Program Design, Second Edition
27
Processing a Java Program
Java Programming: From Problem Analysis to Program Design, Second Edition
28
Problem-Analysis-CodingExecution Cycle
 Algorithm: A step-by-step, problem-solving process
in which a solution is arrived at in a finite amount of
time.
Java Programming: From Problem Analysis to Program Design, Second Edition
29
Problem-Solving Process
1. Analyze the problem: Outline solution
requirements and design an algorithm.
2. Implement the algorithm in a programming
language (Java) and verify that the algorithm
works.
3. Maintain the program: Use and modify if the
problem domain changes.
Java Programming: From Problem Analysis to Program Design, Second Edition
30
Problem-Analysis-Coding-Execution Cycle
Java Programming: From Problem Analysis to Program Design, Second Edition
31
Programming Methodologies
Two basic approaches to programming design:
 Structured design
 Object-oriented design
Java Programming: From Problem Analysis to Program Design, Second Edition
32
Structured Design
1. A problem is divided into smaller sub-problems.
2. Each sub-problem is solved.
3. The solutions of all sub-problems are combined to
solve the problem.
Java Programming: From Problem Analysis to Program Design, Second Edition
33
Object-Oriented Design (OOD)

In OOD, a program is a collection of interacting
objects.

An object consists of data and operations.

Steps in OOD:
1. Identify objects.
2. Form the basis of the solution.
3. Determine how these objects interact.
Java Programming: From Problem Analysis to Program Design, Second Edition
34
Chapter Summary
 A computer system is made up of hardware and
software components.
 Computers understand machine language; it is easiest
for programmers to write in high-level languages.
 A compiler translates high-level language into
machine language.
 The Java steps required to execute a program are
edit, compile, load, and execute.
Java Programming: From Problem Analysis to Program Design, Second Edition
35
Chapter Summary
 An algorithm is a step-by-step, problem-solving
process in which a solution is arrived at in a finite
amount of time.
 The three steps of the problem-solving process are
analyze the problem and design an algorithm,
implement the algorithm in a programming language,
and maintain the program.
 The two basic approaches to programming design are
structured design and object-oriented design.
Java Programming: From Problem Analysis to Program Design, Second Edition
36