Processing in context
Download
Report
Transcript Processing in context
CSCI 273.001
Processing
CSCI 201.003
Introduction to Algorithm Design
An Introduction
Why three Java courses?
• “Traditional” CS1 (201.001 & 201.002)
– Starts with Python
– Uses drjava as IDE and interactive Java evaluator
– Uses “media computation” package
• Mathematical CS1 (273.002)
– How to compute it
– Use NetBeans as IDE
– Closest to the traditional CS1`
• Processing CS1 (201.003 & 273.001)
– Uses Processing as IDE
– Uses Processing for multimedia packages
– Ends with Arduino
Programming Languages
– An abstract "human understandable"
language for telling the computer what
to do
– The abstract language must be
translated into the low level language
understood by the machine
Programming Languages
– How does a computer work?
– The translation from a text source to machine code is
accomplished by an interpreter or compiler
– How does a compiler work?
– How does an interpreter work?
Instruction 1
0000 0000 0001 0000 0011 0001 (moving the number from memory location "3" to Register # 1)
Instruction 2
0000 0000 0001 0000 0100 0010 (moving the number from memory location "4" to Register # 2)
Instruction 3
0000 0000 0011 0001 0010 0011 (Adding Register #1 and Register # 2, and putting the result in Register # 3)
Instruction 4
0000 0000 0010 0011 0000 0100 (Moving the contents of Register # 3 in Memory location "4")
Compiler
A Simple Java Program
/* this is a simple Java program */
class Example {
public static void main(String args[]) {
System.out.println("this is a simple Java program");
}
}
Human Readable??
Java VM assembly code (bytecode)
• Bytecode is interpreted by machine-specific Java Virtual
Machines (JVMs).
• Bytecode consists of simple, step-by-step instructions for
the JVM.
public static void
main(java.lang.String[]);
Code:
0: iconst_0
1: istore_1
2: goto 30
5: getstatic
8: new
11: dup
12: ldc
14: invokespecial #23
17: iload_1
18: invokevirtual #27
21: invokevirtual #31
…
How Java Works
1. Source code is first written in plain text files ending with the .java
extension.
2. Those source files are then compiled into .class files by the javac
compiler. A .class file does not contain code that is native to your
processor; it instead contains bytecodes — the machine language of
the Java Virtual Machine1 (Java VM).
3. The java launcher tool then runs your application with an instance of
the Java Virtual Machine.
Java Virtual Machine
• Java VM is
available on many
different operating
systems.
• The same .class
files are capable of
running on
Microsoft Windows,
the Solaris TM
Operating System
(Solaris OS), Linux,
or Mac OS.
But we’re using Processing
• Processing is built on top of Java
• Supports script-like coding
– Easy to get simple programs up fast
– But allows transition to full Java programming
• Has built-in methods and classes to make
drawing easy
• Easy to export program to applet
Processing Environment
Menu
Toolbar (run, stop, new, open, save, export)
Tabs
Text editor (this is where you type code)
Message area (feedback, errors)
Text output (print commands)
Drawing in Processing
• Automatic creation of display window
• Window has a coordinate system for
drawing
Let's draw a point: point()
• point(x, y) – draws a point at the location
x, y
• Try it in Processing:
point(50, 50)
Unexpected token: null – what the #@#$ !?!
• Compiler errors appear in the bottom pane
• All lines must be terminated with a
semicolon ;
• Try drawing several points
Comments
• Comments are non-program text you put
in the file to describe to others (and
yourself) what you’re doing
• Important for being able to look back at
your code and understand it
– Single-line comments begin with //
– Multi-line comments begin with /* and end
with */
• Commenting and un-commenting lines
useful for figuring out code
Moodle http://learnonline.unca.edu
• If you are new to Moodle, a new account was
created for you and the login instructions,
including your password, was emailed to your
UNCA email address. If you forward your
UNCA email to an external account, check the
Spam/Bulk mail folder of that account for the
email.
• If you have forgotten your password, go to the
Moodle login screen and select the Lost
Password link.
Lab 1
• Lab 1: Draw a 200 x 300 white canvas.
Add 5 points and 5 lines. Revise the 5
points and 5 lines into a composition.