Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 1: An Overview of Computers and Programming Languages

Similar presentations


Presentation on theme: "Chapter 1: An Overview of Computers and Programming Languages"— Presentation transcript:

1 Chapter 1: An Overview of Computers and Programming Languages
Java Programming: Program Design Including Data Structures

2 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

3 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

4 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

5 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

6 Elements of a Computer System
A computer has two components: Hardware Software Java Programming: Program Design Including Data Structures

7 Hardware Components of a Computer
Central processing unit (CPU) Main memory Java Programming: Program Design Including Data Structures

8 Central Processing Unit
Control unit (CU) Arithmetic logic unit (ALU) Program counter (PC) Instruction register (IR) Java Programming: Program Design Including Data Structures

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

10 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

11 Main Memory with 100 Storage Cells
Java Programming: Program Design Including Data Structures

12 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

13 Input Devices Devices that feed data and computer programs into computers Examples: Keyboard Mouse Secondary storage Java Programming: Program Design Including Data Structures

14 Output Devices Devices that the computer uses to display results
Examples: Printer Monitor Secondary storage Java Programming: Program Design Including Data Structures

15 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

16 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

17 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

18 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

19 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

20 Language of a Computer (continued)
Java Programming: Program Design Including Data Structures

21 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

22 Instructions in Assembly and Machine Languages
Java Programming: Program Design Including Data Structures

23 Instruction Set Architectures
This list is far from comprehensive as old architectures are abandoned and new ones invented on a continual basis. ISAs commonly implemented in hardware * Alpha AXP (DEC Alpha) * ARM (Acorn RISC Machine) (Advanced RISC Machine now ARM Ltd) * Burroughs B5000/B6000/B7000 series * IA-64 (Itanium) * MIPS * Motorola 68k * PA-RISC (HP Precision Architecture) * IBM 700/7000 series * IBM POWER * PDP-11 (Digital Equipment Corporation) * PowerPC * SPARC * SuperH * System/360 * Tricore (Infineon) * Transputer (STMicroelectronics) * UNIVAC 1100/2200 series * VAX (Digital Equipment Corporation) * x86 (also known as IA-32) (Pentium, Athlon) * x86-64 (also known as AMD64 and Intel 64) * EISC (AE32K) ISAs commonly implemented in software with hardware incarnations * p-Code (UCSD p-System Version III on Western Digital Pascal MicroEngine) * Java virtual machine (ARM Jazelle, PicoJava, JOP) * FORTH ISAs never implemented in hardware * ALGOL object code * SECD machine, a virtual machine used for some functional programming languages. * MMIX, a teaching machine used in Donald Knuth's The Art of Computer Programming * Z-machine, a virtual machine used for Infocom's text adventure games Java Programming: Program Design Including Data Structures

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

25 Evolution of Programming Languages
Java Programming: Program Design Including Data Structures

26 Evolution of Programming Languages (continued)
To run a Java program: Java instructions need to be translated into an intermediate language called bytecode The bytecode is interpreted into a particular machine language Java Programming: Program Design Including Data Structures

27 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

28 A Java Program public class HolaMundo { /* my first JAVA program */
public static void main(String[] argv) System.out.println("Hola mundo"); } Sample Run: Hola mundo Java Programming: Program Design Including Data Structures

29 A Java Program HolaMundo - ByteCode
Java Programming: Program Design Including Data Structures

30 A Java Program Java Programming: Program Design Including Data Structures

31 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: Program Design Including Data Structures

32 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

33 Processing a Java Program (continued)
Java Programming: Program Design Including Data Structures

34 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 (steps). Java Programming: Program Design Including Data Structures

35 Problem-Solving Process
Analyze the problem: Outline solution requirements and design an algorithm Implement the algorithm in a programming language (Java) and verify that the algorithm works Maintain the program: Use and modify if the problem domain changes Java Programming: Program Design Including Data Structures

36 Problem-Analysis-Coding-Execution Cycle
Java Programming: Program Design Including Data Structures

37 Programming Methodologies
Two basic approaches to programming design: Structured design Object-oriented design Java Programming: Program Design Including Data Structures

38 Structured Design A problem is divided into smaller sub-problems
Each sub-problem is solved The solutions of all sub-problems are combined to solve the problem Java Programming: Program Design Including Data Structures

39 Object-Oriented Design (OOD)
OOD: program is a collection of interacting objects An object consists of data and operations Steps in OOD: Identify objects Form the basis of the solution Determine how these objects interact Java Programming: Program Design Including Data Structures

40 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

41 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


Download ppt "Chapter 1: An Overview of Computers and Programming Languages"

Similar presentations


Ads by Google