LCC 6310 The Computer As An Expressive Medium
LCC 6310 The Computer As An Expressive Medium
The Computer as an
Expressive Medium
Lecture 1
Overview
Go over the syllabus
Brief introduction to me and my work
Art, programming and Java
Syllabus
Signup sheet
If you’re not listed, please add your name
If you’re listed, please check off your name and update your information
as needed, e.g. nickname, email, program (DM-MS, DM-PhD, etc.)
Handout
Online
http://lcc.gatech.edu/~bmagerko6/classes/LCC6310/
Books
percepts
ai
user actions player
actors
direction
story content
percepts
ai
user actions player
actors
direction
story content
score
pause
button
play vs.
watch
malleable
GUI
Some directions
I’m someone to chat with about…
Interactive Narrative
Artificial Intelligence
Improvisation
Cognitive Science
Game Design
Board Games
Introduce yourselves
Name & place of origin?
Background, academic & other?
Research & other interests?
Programming experience?
Something interesting about yourself?
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
This translation is accomplished by an interpreter or compiler
We will be learning the compiled language Java
Some definitions:
A compiler is a program that processes statements written in a
programming language and converts them into machine language,
binary code, that a computer processor uses. E.g. Java, C, C++
An interpreter translates code one line at time, executing each line as it
is translated. Generates binary code that is never compiled into one
program entity, but interpreted every time the program executes. E.g.
BASIC, JavaScript, Perl (can also be compiled)
A simple Java program
Human readable?!?
Some examples
C - Procedural programming
Java - Object-oriented programming
C++ - Supports elements of both
Web programming
Incorporated into web browsers at critical moment
The virtual machine
Since Java was designed to run on embedded systems, it was
designed around a virtual machine
"Write once, run everywhere"
Java Machine
“Java OS”
Java VM
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
0 50 100
0 x
50
100
y
Let's draw a point: point()
point(x, y) – draws a point at the location x, y
If you use 'save' and not 'save as' Processing will save your project in
a default directory
If you do this, remember to copy your code to your local disk
Don't depend on your project remaining undisturbed on lab machines
Things to do for Thursday
Readings
Three students: present one reading each
Everyone else: prepare one discussion question for each reading
From Software: Exhibition at the Jewish Museum (NMR p.247)
Four Selections by Experiments in Art and Technology (NMR p.210)
Concepts, Notations, Software, Art (Linked from course website)
Processing
Download and install on your own laptops or home machines
http://www.processing.org
Programming concepts this week:
Processing, pp. 58-75, 109, 340-349
Processing, pp. 85-88, 482-486, 564-570, 603-605
Or you can start reading the Reas & Fry book