DOC PREVIEW
GT LCC 6310 - LCC 6310 Lecture 1

This preview shows page 1-2-17-18-19-36-37 out of 37 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

LCC 6310 Computation as an Expressive MediumOverviewSyllabusBackgroundAI & ArtWorkFaçadeTerminal TimeOffice Plant #1Combine AI research and artSome directionsIntroduce yourselvesProgramming languagesA simple Java program“Human readable” is relativeJava VM assembly codeObject Oriented vs. Procedural LanguagesA couple of Java’s relativesSmalltalk 80Slide 20C++JavaThe virtual machineSteps for running a Java programStructure of Java programsSample applicationJava file and class namesCompiling HelloWorldExecuting HelloWorldObject Oriented ProgrammingPreviously...A ClassFieldA ConstructorA MethodAnother ClassOOPLCC 6310Computation as an Expressive MediumLCC 6310Computation as an Expressive MediumLecture 1Lecture 1OverviewOverview•Go over the syllabusGo over the syllabus•Brief introduction to me and my Brief introduction to me and my workwork•Art, programming and JavaArt, programming and JavaSyllabusSyllabusBackgroundBackground•Ph.D. in Computer SciencePh.D. in Computer Science•Expressive AI: Artificial Intelligence-based art and entertainment•Worked in industrial research labs (Intel, Worked in industrial research labs (Intel, Tektronix) doing HCI researchTektronix) doing HCI research•New at Georgia Tech – arrived in JanuaryNew at Georgia Tech – arrived in JanuaryAI & ArtAI & ArtEdward IhnatowiczThe Senster, 1970Black and White, 2000Peter Molyneux (Lionhead)WorkWorkTerminal Time – interactive video FaçadeFaçade – interactive drama – interactive dramaOffice Plant #1 – robotic sculptureFaçadeFaçade•Dramatic world inhabited by computer controlled characters (believable agents)•The user (player) plays a protagonist within the story, first-person point of view•The player experiences a story with a dramatic arcCollaborator:Andrew Stern, independent artist and researcherTerminal TimeTerminal TimeGoal trees (ideology)Historical eventsAudio-visualelementsAudience feedbackCollaborators:Paul Vanouse, Art Department, SUNY Buffalo Steffi Domike, Design Department, Chatham CollegeOffice Plant #1Office Plant #1•Creates a background Creates a background presencepresence•Sorts incoming email into Sorts incoming email into social and emotional social and emotional categoriescategories•Behavior is a function of Behavior is a function of the email receivedthe email receivedCollaborator:Marc Bohlen, Media Studies, SUNY BuffaloCombine AI research and artCombine AI research and artAI methods and technology suggest new audience experiences…Artistic practice AI researchExpressive AIWrestling with meaningful human experiences suggests new AI research directions…Some directionsSome directions•I’m someone to chat with about…I’m someone to chat with about…•Interactive story (particularly procedural approaches)•Robotic sculpture •Video games as a cultural practice (design and technology)•Meta-art (generative systems)Introduce yourselves Introduce yourselvesProgramming languagesProgramming languages•Abstract, “human understandable” language for Abstract, “human understandable” language for telling computer what to dotelling computer what to do•The abstract language must be translated into the The abstract language must be translated into the low level language understood by the machinelow level language understood by the machine•This translation is accomplished by an interpreter This translation is accomplished by an interpreter or compileror compiler•We will be learning the compiled language JavaWe will be learning the compiled language JavaA simple Java programA simple Java programclass PrintLoop { public static void main(String[] args) {for (int i = 0; i < 10; i++) System.out.println("i = " + i); } }Just prints the numbers 0 to 9 on the screenHuman readable?!?“Human readable” is relative“Human readable” is relativeclass PrintLoop { public static void main(String[] args) {for (int i = 0; i < 10; i++) System.out.println("i = " + i); } }Java compiler translates this into…Java VM assembly codeJava VM assembly codepublic 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 24: invokevirtual #34 27: iinc 1, 1 30: iload_1 31: bipush 10 33: if_icmplt 5 36: returntest.PrintLoop(); Code: 0: aload_0 1: invokespecial #43; 4: returnObject Oriented vs. Procedural LanguagesObject Oriented vs. Procedural LanguagesProcedural (e.g. C)Procedural (e.g. C)•We create some data representing an image (array of pixels to draw on the screen)•We write a procedure than can be passed the image and will draw itObject Oriented (e.g. Object Oriented (e.g. Java)Java)•We create a class that contains an image AND a routine draw it•The data and the behavior (ability to draw) are in one "container"A couple of Java’s relativesA couple of Java’s relatives•Smalltalk 80Smalltalk 80•Alan Kay and the Dynabook (PARC)•C++C++•Managing big C programs: Bjarne StroustrupSmalltalk 80Smalltalk 80•Alan Kay and the Dynabook (PARC)Alan Kay and the Dynabook (PARC)•Developed idea of a general purpose computer to be Developed idea of a general purpose computer to be used by normal people!used by normal people!•Highly interactive interfaceHighly interactive interface•Included concept of windows!Included concept of windows!•Smalltalk 80 – end users could create their own toolsSmalltalk 80 – end users could create their own toolsSmalltalk 80Smalltalk 80•Includes objectsIncludes objects•Objects contain data and proceduresObjects contain data and procedures•Procedures in objects are called methodsProcedures in objects are called methods•All computing is done by sending a message to an All computing is done by sending a message to an object asking it to perform one of its methodobject asking it to perform one of its method•Objects are defined by classesObjects are defined by classesC++C++•Managing big C programs: Bjarne Managing big C programs: Bjarne StroustrupStroustrup•Started as "C with Classes" idea Started as "C with Classes" idea borrowed from Simula 67 & Smalltalkborrowed from Simula 67 & Smalltalk•GoalsGoals•Organize programs as classes with inheritance•No performance penalty compared to C•Thus somewhat dangerous!!!•C++ is converted into CJavaJava•Designers started with


View Full Document

GT LCC 6310 - LCC 6310 Lecture 1

Documents in this Course
Load more
Download LCC 6310 Lecture 1
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view LCC 6310 Lecture 1 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view LCC 6310 Lecture 1 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?