Chapter 1: An Overview of Computers and Programming Languages by 3dMq16

VIEWS: 9 PAGES: 36

									Chapter 1: An Overview of Computers
and Programming Languages


Java Programming:
Program Design Including Data Structures
                        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: Program Design Including Data Structures   2
      Chapter Objectives (continued)
   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: Program Design Including Data Structures   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: Program Design Including Data Structures   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: Program Design Including Data Structures   5
     Elements of a Computer System
 A computer has two components:

       Hardware

       Software




Java Programming: Program Design Including Data Structures   6
                  Hardware Components
                     of a Computer
 Central processing unit (CPU)

 Main memory




Java Programming: Program Design Including Data Structures   7
                Central Processing Unit

  Control unit (CU)

  Arithmetic logic unit (ALU)

  Program counter (PC)

  Instruction register (IR)



Java Programming: Program Design Including Data Structures   8
       Hardware Components of a Computer




Java Programming: Program Design Including Data Structures   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: Program Design Including Data Structures   10
                       Main Memory with
                       100 Storage Cells




Java Programming: Program Design Including Data Structures   11
                        Secondary Storage
 Provides permanent storage for information
 Examples of secondary storage:
       Hard disks
       Floppy disks
       Zip disks
       CD-ROMs
       Tapes

Java Programming: Program Design Including Data Structures   12
                                Input Devices
 Devices that feed data and computer programs into
  computers

 Examples:

       Keyboard

       Mouse

       Secondary storage

Java Programming: Program Design Including Data Structures   13
                             Output Devices
 Devices that the computer uses to display results

 Examples:
       Printer

       Monitor

       Secondary storage



Java Programming: Program Design Including Data Structures   14
                                       Software
 Software consists of programs written to perform
  specific tasks

 Two types of programs:

       System programs

       Application programs



Java Programming: Program Design Including Data Structures   15
                          System Programs
 System programs control the computer

 The operating system is first to load when you turn
  on a computer




Java Programming: Program Design Including Data Structures   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: Program Design Including Data Structures   17
                    Application Programs
 Written using programming languages
 Perform a specific task
 Run by the OS
 Example programs:
       Word processors
       Spreadsheets
       Games

Java Programming: Program Design Including Data Structures   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: Program Design Including Data Structures   19
                Language of a Computer
                     (continued)




Java Programming: Program Design Including Data Structures   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: Program Design Including Data Structures   21
         Instructions in Assembly and
              Machine Languages




Java Programming: Program Design Including Data Structures   22
                     Evolution of
               Programming Languages
 High-level languages make programming easier
 Closer to spoken languages
 Examples:
        Basic
        FORTRAN
        COBOL
        C/C++
        Java

Java Programming: Program Design Including Data Structures   23
                    Evolution of
              Programming Languages
                    (continued)
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: Program Design Including Data Structures   24
                     Evolution of
               Programming Languages
                     (continued)
     Compiler: A program that translates a program
      written in a high-level language into the
      equivalent machine language
      With Java, this machine language is the bytecode

     Java Virtual Machine (JVM): A hypothetical
      computer developed to make Java programs
      machine independent


Java Programming: Program Design Including Data Structures   25
                         A Java Program
public class ASimpleJavaProgram
{
    public static void main(String[] args)
    {
        Systemoutprintln("My first Java program");
        Systemoutprintln("The sum of 2 and 3 = " + 5);
        Systemoutprintln("7 + 8 = " + (7 + 8));
    }
}

Sample Run:
My first Java program
The sum of 2 and 3 = 5
7 + 8 = 15




Java Programming: Program Design Including Data Structures   26
             Processing a Java Program
 Types of Java programs: 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: Program Design Including Data Structures   27
          Processing a Java Program
                 (continued)




Java Programming: Program Design Including Data Structures   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: Program Design Including Data Structures   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: Program Design Including Data Structures   30
 Problem-Analysis-Coding-Execution Cycle




Java Programming: Program Design Including Data Structures   31
         Programming Methodologies
Two basic approaches to programming design:

       Structured design

       Object-oriented design




Java Programming: Program Design Including Data Structures   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: Program Design Including Data Structures   33
      Object-Oriented Design (OOD)
       OOD: 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: Program Design Including Data Structures   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: Program Design Including Data Structures   35
        Chapter Summary (continued)
 Algorithm: step-by-step, problem-solving process.
  Solution is arrived at in a finite amount of time
 The three steps of the problem-solving process
       Analyze the problem and design an algorithm
       Implement the algorithm in a programming language
       Maintain the program
 Two approaches to programming design are
  structured design and object-oriented design

Java Programming: Program Design Including Data Structures   36

								
To top