220 likes | 448 Views
Chapter 1 What is Programming?. Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E. Reingold. Chapter Preview. In this chapter we will: demonstrate some problem-solving techniques needed in programming
E N D
Chapter 1What is Programming? Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E. Reingold
Chapter Preview In this chapter we will: • demonstrate some problem-solving techniques needed in programming • design an algorithm to solve a problem • write a program to implement an algorithm • discuss the importance of object-oriented programming • discuss some basics of computer hardware • describe the process of entering and running Java programs
Definitions • program • a set of directions telling a computer exactly what to do • programming languages • languages for specifying sequences of directions to a computer • algorithm • a sequence of language independent steps which may be followed to solve a problem
Final Maze Solving Program step forward; while (inside the maze?) { turn right; while (facing a wall?) { turn left; } step forward; }
Object-Oriented Programming • A modern programming paradigm that allows the programmer to model a problem in a real-world fashion • Objects interact with each other by sending messages • An object is an instance of a class • A class implements an interface and specifies the behavior of an object
Object-Oriented Programming and Java • The use of OOP in Java is pervasive • easy to create multiple objects of the same type • easy to create similar objects without having to rewrite the overlapping code • OOP makes programs easier to understand and more reliable • Prevents objects from having to know any more about structure of other objects than is really necessary
Computer Organization • central-processing unit • performs the actual work of executing the program • main memory • holds the program and during execution • hard disk • holds all programs not executing and all data files • input/output devices • allow the computer to communicate with the outside world
Running a Program • First the program and all its data is copied from the hard disk into main memory • The CPU goes to the location of the program instruction and reads that word • The CPU determines what action is requested by decoding its bit pattern representation • The CPU performs the action • The CPU then moves to the location of the next program instruction in memory, reads the word, and repeats the process
Data Representation • Computers use binary numbers • Numbers can be used to represent any type of data • pictures are represented by dividing them into picture elements known as pixels • video images or animations are represented by placing several picture one after another • sounds are represented by sampling the wave at regular intervals • All data are stored in files on the hard disk
Running Your Own Java Program • Enter the program source code in a data file using an editor • Transform the source program into machine language or Java Bytecode using an compiler (e.g. javac) • Use an interpreter to execute the compiled program (e.g. java) • Return to the editor to correct any errors (or bugs) and start the cycle again
Errors • Debugging is the process of detecting and fixing errors found in a program • Syntactic errors are caused by giving the compiler a program it cannot recognize • Logical errors come from programs that compile correctly but fail to execute as expected • Programs must be designed carefully and tested thoroughly to ensure that neither error will occur
Java • applications • stand-alone programs that run on you own computer • can read and write data on your disk disk • applets • executed from within a browser window (e.g. Netscape or Internet Explorer) • can be loaded from the World Wide Web and executed on another computer • cannot read or write data on your hard disk