Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 1 - Introduction Ch 1Goals To understand the activity of programming To learn about the architecture of computers To learn about machine code and high level programming languages To become familiar with your computing environment and your compiler To compile and run your first Java program To recognize syntax and logic errors 1.1 What is Programming? Computers are programmed to perform tasks Different tasks = different programs Program Sequence of basic operations executed in succession Contains instruction sequences for all tasks it can execute How do we produce this program? 1.2 Anatomy of a Computer A computer is a machine that can do certain tasks Stores data Interacts with devices Executes programs CPU Central Processing Unit (CPU) - Heart of the computer Made of a chip (AMD, Intel, etc), millions of transistors Executes instructions given by a program 1.2 Anatomy of a Computer Storage – where data is kept 3 types – primary, secondary, removable 1.2 Anatomy of a Computer Computers communicate through a network Peripheral devices allow interaction with humans Speakers, screen, printer, scanner RAM, Disks, peripherals connected to CPU via the bus Where is a program stored when it is not currently running? Which part of the computer carries out arithmetic operations, such as addition and multiplication? 1.3 Translating Human-Readable Programs to Machine Code There are actually multiple levels upon which a program can be written Machine Instructions Assembly High Level Language Machine Code The most basic level of instructions Everything is represented with numbers (read in binary) Looks like this: 00010101 00101000 (binary) 21 40 (decimal) This is the only language the CPU knows What’s the problem? CPUs perform very primitive operations only Add, subtract, load from memory Leads to coding of several hundred lines to perform one simple operation Not Intuitive Can you look at 1000 numbers and tell what the program is doing? Each CPU uses a different set of instructions Each CPU translates different digits to mean different things Assembly A slight step up from machine Uses words and numbers load 40 Still needs as many instructions as machine language, but is slightly easier to read. High Level High level is much more expressive One statement is converted into several machine code instructions The conversion is done by the compiler Very complicated and sophisticated, not the focus of this course 1.4 The Java Programming Language Simple Safe – more secure, easier to catch errors Platform-independent ("write once, run anywhere") – operating system and architecture Rich library (packages) Designed for the Internet Java Virtual Machine Unique to Java Instead of compiling for a particular processor, Java compiles to a virtual processor that is the same for every computer Lesson: The code is the same no matter what computer you are on, so you don’t have to make a Mac version and a PC version, etc. Flaws Fully object-oriented nature can be confusing to beginning programmers Many revisions made – make sure you update if you work from home to Java 5.0 (1.5) Rich libraries So much to learn 1.5 Becoming Familiar w/ your Computer Very important to familiarize yourself with your computer Understand how to find files, what they are, how do you move them around and name them Understand files and folders Programs are kept in files File: a collection of items of information that are kept together Files have names, and the rules for legal names differ Files are stored in folders or directories 1.6 Compiling a Simple Program So how do we actually make a program? In this course, we will use an IDE (Integrated Development Environment) called Eclipse This will help us find mistakes more quickly. Simple Program Most simple program Outputs a sentence to the console screen public class FirstProgram { public static void main(String[] args) { //display a greeting in the console window System.out.println(“My First Program!”); } } Essential Components What does each line mean? public class ClassName A class is an essential part of a java program, all instructions are contained within a class We create a class called FirstProgram, the file must be called FirstProgram.java Method public static void main(String[] args) { // Code goes here } Classes contains methods – specific instructions that can be called Ex. Robot needs method called walk public void walk() { } Every program must have a method called main – it is the method called first Parameters public static void main(String[] args) is a parameter – input given to a method (will learn about more later on) String[] args Body The instructions are the body of a method System.out.println(“My First Program!”); An instruction to print a message to the screen Each instruction ends in a ; Comments //display a greeting in the console window System.out.println(“My First Program!”); “//” signifies not to execute this line of code Has many uses – here it is to explain what the code is supposed to do Another type of comments: /* Multiple lines of comments about what is going on */ Method Call Here, we are calling the method println() on the object System.out Notes Java is case sensitive class FirstProgram ≠ class firstprogram It is free form – the amount of white space is irrelevant to the computer (although it is important for readability) You could have all instructions on one line, but not very useful to a human We will grade on it! 1.7 Errors Two types of errors Compile Time Errors – Syntax errors These are caught when you ask Java to convert your program to machine code Your program must follow a set of rules (just like a sentence in English) Run Time Errors Not problems in the syntax, but problems in logic Program does not accomplish what the programmer intended 1.8 Compilation Process The code a programmer creates is called the source code Written in Java Saved as a .java file Must have the same name as the class When converted by the compiler, a class file is created Machine instructions Saved by compiler as .class file Coding loop Edit-compile-test loop Your programming begins with editing a file by writing instructions When done, compile the program. If no compile errors, test the program. If compile errors, go back to editing If there are runtime errors, go back to fix them Object Oriented Programming What is the point of this course? Not Java – its just a tool Methodology of programming – OOP Objects & Classes – 2 Main Concepts Object – an entity, something we can imagine (typically a noun) Consists of data values and operations for manipulating those values Interactions between objects is the heart of OO style Ex. Bank accounts – need Customer, Account, Bank, etc. Classes Class – Instructions for creating objects Defines what objects can and cannot do – how they behave and what info they hold Like a mold, template, or blueprint Objects are instances of classes Ex. Class is Student, instance is Eric Lantz Ex2. Class is University, instances could be University of Wisconsin and Cornell Messages and Methods In order to use objects and classes, coder needs to communicate with them Messages Ex. Tell Robot to move forward 1 foot Can you send any message to any object? No, the object must understand the message The class defines the messages that the object can understand