You are on page 1of 22

Programming

What is a program?

◦ A set of instructions

◦ Understood by a computer
What does a program look like?

An algorithm is a set of instructions designed to


accomplish a specific goal
For a temperature f in Fahrenheit
◦ Subtract 32 from f.
◦ Divide f by 1.8.
◦ Display the value of f.
◦ [Converts to Celsius]

Don’t need to understand the goal to follow


instructions
Programming Languages
A language is a tool with which we tell a computer
an algorithm

Compilers translate from one computer language


to another

Each language has own advantages and


disadvantages
The Java Language
Widely Used

Can be compiled on many computer systems

Object Oriented (we’ll learn what this means


later)
Event Driven Programming
Old programs would start with all input at once and
run until completion

Event: An action, a mouse click, an item selected

Using events made easy in Java


A First Program
import objectdraw.*;
import java.awt.*;

public class TouchyWindow extends WindowController {


public void onMousePress ( Location point ) {
new Text("I’m touched", 40, 50, canvas );
}

public void onMouseRelease( Location point ) {


canvas.clear();
}
}
What do all these words
mean?
Let’s break the program apart
Some of the words
Class
◦ A set, collection, group, or configuration containing members regarded as
having certain attributes or traits in common. (American Heritage Dictionary)
◦ Very similar meaning in Java
Software Libraries
Reuse code already written

extends
◦ Builds upon an already written class

import
◦ Allows the use of instructions written elsewhere
Parts of a Class
Body
◦ Enclosed in the curly braces found on the line “public class…”

Methods:
public void onMousePress ( Location point ) {
new Text( "I’m touched", 40, 50, canvas );
}
The Life of a Program
Write the Program

Translate the program into a language the computer understands

Run the Program


Integrated Development
Environments
Eclipse
◦ Professional Programming Tool
◦ TouchyWindow in Eclipse
Integrated Development
Environments
BlueJ
◦ Designed to teach Java
◦ TouchyWindow in BlueJ
Integrated Development
Environments
Eclipse and BlueJ:

◦ Available on Windows, MacOS, Unix

◦ Free and downloadable


More Programming
Normal vs Graphics Coordinate Systems
Graphical Objects
new Text ( "I’m Touched", 40, 50, canvas );
new an instruction that tells we want to construct
a new object
Text the object we want to construct
(…) comma delineated “parameters” that tell how
to construct the object
; semicolons are important too!
◦ every command semicolon terminated
Graphical Objects
new Text ( "I’m Touched", 40, 50, canvas );
Events
public void onMousePress( Location point )
◦ Will run the code when mouse button is pressed

onMouseRelease:
◦ Runs code when the buttons released

Many more mouse event handling methods


The begin Method
public void begin(){

}
begin method
◦ Executed (run) exactly once for each program
◦ Executed early in program’s life
Graphical Objects
new Line( 100, 150, 200, 0 canvas);
Graphical Objects
New FilledRect( 10, 20, 30, 40, canvas );
◦ Creates a 30x40 rectangle
◦ Upper left corner at (10,20)

new FilledOval( 10, 20, 30, 40, canvas);


◦ Imagine a 30x40 rectangle at (10,20)
◦ Draws the largest oval that can fit inside the imaginary rectangle
Mistakes? Impossible!
Sadly, computers read what is written, not the intention.
Errors will often generate complaints from the IDE.
Some complaints are more informative than others

You might also like