Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 1 - Introduction. Ch 1Goals To understand the activity of programming To learn about the architecture of computers To learn about machine code.

Similar presentations


Presentation on theme: "Chapter 1 - Introduction. Ch 1Goals To understand the activity of programming To learn about the architecture of computers To learn about machine code."— Presentation transcript:

1 Chapter 1 - Introduction

2 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

3 1.1 What is Programming? Computers are programmed to perform tasks Different tasks = different programs Program Sequence of basic operations executed in succession Sequence of basic operations executed in succession Contains instruction sequences for all tasks it can execute Contains instruction sequences for all tasks it can execute How do we produce this program?

4 1.2 Anatomy of a Computer A computer is a machine that can do certain tasks Stores data Stores data Interacts with devices Interacts with devices Executes programs Executes programs

5 CPU Central Processing Unit (CPU) - Heart of the computer Made of a chip (AMD, Intel, etc), millions of transistors Made of a chip (AMD, Intel, etc), millions of transistors Executes instructions given by a program Executes instructions given by a program

6 1.2 Anatomy of a Computer Storage – where data is kept 3 types – primary, secondary, removable 3 types – primary, secondary, removable

7 1.2 Anatomy of a Computer Computers communicate through a network Peripheral devices allow interaction with humans Speakers, screen, printer, scanner Speakers, screen, printer, scanner RAM, Disks, peripherals connected to CPU via the bus

8

9 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?

10 1.3 Translating Human-Readable Programs to Machine Code There are actually multiple levels upon which a program can be written Machine Instructions Machine Instructions Assembly Assembly High Level Language High Level Language

11 Machine Code The most basic level of instructions Everything is represented with numbers (read in binary) Everything is represented with numbers (read in binary) Looks like this: Looks like this: 00010101 00101000 (binary) 21 40 (decimal) This is the only language the CPU knows

12 What’s the problem? CPUs perform very primitive operations only Add, subtract, load from memory Add, subtract, load from memory Leads to coding of several hundred lines to perform one simple operation 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? 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 Each CPU translates different digits to mean different things

13 Assembly A slight step up from machine Uses words and numbers load 40 load 40 Still needs as many instructions as machine language, but is slightly easier to read.

14 High Level High level is much more expressive One statement is converted into several machine code instructions 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 Very complicated and sophisticated, not the focus of this course

15 1.4 The Java Programming Language Simple Simple Safe – more secure, easier to catch errors Safe – more secure, easier to catch errors Platform-independent ("write once, run anywhere") – operating system and architecture Platform-independent ("write once, run anywhere") – operating system and architecture Rich library (packages) Rich library (packages) Designed for the Internet Designed for the Internet

16 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.

17 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

18 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 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 Programs are kept in files File: a collection of items of information that are kept together File: a collection of items of information that are kept together Files have names, and the rules for legal names differ Files have names, and the rules for legal names differ Files are stored in folders or directories Files are stored in folders or directories

19 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.

20 Simple Program Most simple program Outputs a sentence to the console screen 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!”); }}

21 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 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 We create a class called FirstProgram, the file must be called FirstProgram.java

22 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 Ex. Robot needs method called walk public void walk() { } Every program must have a method called main – it is the method called first

23 Parameters public static void main(String[] args) String[] args is a parameter – input given to a method (will learn about more later on) String[] args is a parameter – input given to a method (will learn about more later on)

24 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 ;

25 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 what is going on*/

26 Method Call Here, we are calling the method println() on the object System.out

27 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 You could have all instructions on one line, but not very useful to a human We will grade on it! We will grade on it!

28 1.7 Errors Two types of errors Compile Time Errors – Syntax 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 Run Time Errors Not problems in the syntax, but problems in logic Program does not accomplish what the programmer intended

29 1.8 Compilation Process The code a programmer creates is called the source code Written in Java Written in Java Saved as a.java file Saved as a.java file Must have the same name as the class Must have the same name as the class When converted by the compiler, a class file is created Machine instructions Machine instructions Saved by compiler as.class file Saved by compiler as.class file

30

31 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

32 Object Oriented Programming What is the point of this course? Not Java – its just a tool Not Java – its just a tool Methodology of programming – OOP Methodology of programming – OOP

33 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 Consists of data values and operations for manipulating those values Interactions between objects is the heart of OO style Interactions between objects is the heart of OO style Ex. Bank accounts – need Customer, Account, Bank, etc. Ex. Bank accounts – need Customer, Account, Bank, etc.

34 Classes Class – Instructions for creating objects Defines what objects can and cannot do – how they behave and what info they hold Defines what objects can and cannot do – how they behave and what info they hold Like a mold, template, or blueprint Like a mold, template, or blueprint Objects are instances of classes Ex. Class is Student, instance is Eric Lantz Ex. Class is Student, instance is Eric Lantz Ex2. Class is University, instances could be University of Wisconsin and Cornell Ex2. Class is University, instances could be University of Wisconsin and Cornell

35 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 Ex. Tell Robot to move forward 1 foot Can you send any message to any object? No, the object must understand the message No, the object must understand the message The class defines the messages that the object can understand The class defines the messages that the object can understand


Download ppt "Chapter 1 - Introduction. Ch 1Goals To understand the activity of programming To learn about the architecture of computers To learn about machine code."

Similar presentations


Ads by Google