0% found this document useful (0 votes)
257 views

Chapter 1 An Overview of Computers and Programming Languages

This chapter introduces computers and programming languages. It discusses the hardware and software components of computers and how they work together. It also covers the evolution of programming languages from machine language to high-level languages like Java. The chapter explains how a Java program is processed from source code to execution and discusses structured and object-oriented programming methodologies.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
257 views

Chapter 1 An Overview of Computers and Programming Languages

This chapter introduces computers and programming languages. It discusses the hardware and software components of computers and how they work together. It also covers the evolution of programming languages from machine language to high-level languages like Java. The chapter explains how a Java program is processed from source code to execution and discusses structured and object-oriented programming methodologies.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 36

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 problem-
solving 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-to-
remember 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-Coding-
Execution 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

You might also like