* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Chapter 1
Survey
Document related concepts
Logic programming wikipedia , lookup
Falcon (programming language) wikipedia , lookup
Functional programming wikipedia , lookup
Go (programming language) wikipedia , lookup
Abstraction (computer science) wikipedia , lookup
Java (programming language) wikipedia , lookup
Programming language wikipedia , lookup
Reactive programming wikipedia , lookup
Object-oriented programming wikipedia , lookup
Java performance 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