Comput LCC 6310
Popular in Course
Popular in Literature
This 0 page Class Notes was uploaded by Dr. Belle Hahn on Monday November 2, 2015. The Class Notes belongs to LCC 6310 at Georgia Institute of Technology - Main Campus taught by Alexandra Mazalek in Fall. Since its upload, it has received 26 views. For similar materials see /class/233940/lcc-6310-georgia-institute-of-technology-main-campus in Literature at Georgia Institute of Technology - Main Campus.
Reviews for Comput
Report this Material
What is Karma?
Karma is the currency of StudySoup.
You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!
Date Created: 11/02/15
LCC 63m The Computer as am Expressive Medium Lecture 1 Syllabus Signup sheet If you39re not listed please add your name If you39re listed please check off your name and update your information as needed eg nickname email etc Handout Online Overview Go over the syllabus Brief introduction to me and my work Art programming and Java ackground MS amp PhD in Media Arts and Sciences MIT Media Lab Tangible Media amp Interactive Cinema resmrch groups MS Tangible interfaces for interactive narratives PhD Media Tabls architecture ampapplications geniebottles Boundary objects that exist at the intersection of the story space where the characters live and the real space where the user lives Some Of my Past work 39 Tangible containers for digital stories Tight coupling ofinterface and story artists researchers 39 flights of fantasy l V tviews table Tangible computer interfaces can bring people together around story exploration in the same way that board games bring friends and families Interactive installation at the Decordova Museum together around gameplay Visitnrs assemble story sequences using a Design an interface that can sit in social and sliding blocks interface with an iconic language living spaces rather than in offices on dedlts Large database of content that tells stories Multiple users around one interface about a weci c set of characters and locations Face mface socia interactions pm hiowsmg researchers V 39 H 7 researchers tangible viewpoints v9 2 Storyteiiing engine for muitin W tangible spatial narratives VieWpOii39it stories on the Wiews tabie Physicai pawns used as Langibie embodimeriB of the cnaracter wewpoints in a stor Story segrnerfs appear as 39umbi iaiis ciustered aromd the pawns fading in and out as viewer ove forward Creating narrative iandscapes in a physicai form on the TViews tabie udiences ooiiecuveiyreiiect upm and nawgate oompiex spauaiiy structured and muinnviewpoirit smries n Visuai iaridstauz m maintaamnri surface Dimide a Suanai amwak ii the SEN V Di vent DEisDemvz arid haiianve threads througn the story a A spreading act when network is combined with a ruienbased smryteiiing engine emeiue as the smiv unfdds mortar gamer rmmy ma Hamewmum smi er oak m a Aiiows the system to adapt to wewer preferences wniie stii prowding a E 9 5P3 conerentcweraii narrauve Kids shaving DESUriai SMiES mute intranet am New arsma LucaiiunriaEEEd ilth cuiiectiuris researd1er5 researchers Some directions Introd uce yourse lives 1m someone to chat with about Name amp place of origin Tangibie interfaces amp rnedia arts appiicatims Background academic amp other Emerging sensing technoiogies Research amp omer interess Physicai fabrication iasercutters amp other fun toois Programming experience Interactive narratives particuiariy rnuitiwewpoint stories I direct me Synaesihetic Media Lab in he GVU g syriiab gatech eduL Something interesting about yourself P rogramming languages An abstract quothuman understandablequot 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 aocomplished by an 39 39 We will be learning the compiled language Java Some definitions A c Yr 3 programming program that processes statements written in a language and oonverts them into machine language binary oode that a computer processor uses Eg Java C C An i 139 is translated program 39 ent1ty 39 translates code one line at time executing each line as it Generats binary code that is never oompiled into one but interpreted every time the ram executes 9 BASIC JavaScn39pt Perl can also be compiled quotHuman readablequot is relative for int i u i lt 10 i println i Java compiler translates this into A simple Java program for int i o i lt 10 i printlni Just prints the numbers 0 to 9 on the screen Java W4 assembly code public static Void invokevirtual 34 mainjavalangstring quotn Code go o 3 getstatie w testPrintLoop dup Co aload0 invokespecial 23 invokespecial 43 iloa return invokevirtual 27 invokevirtual 31 Programming pararllgms A programming paradigm is a style of programming complete with nr 39 39 uie piugiai er will structure the program and think about is execution Different programming languages advocate different programming paradigms Nut necessarilv a nrietome mapunu since strrlE uuuiamminu languages tan support multple programming paradigms More about these paradigms A couple of Java 5 relatives S mallbalk Inverted by Alan Kay and a goup of researchers at Xerox PARC lrl the 19705 Dzlgriad it Umlammlnu the Dvrlabtuk a Drtwt handrald Emwtel that Wmld enable lealrilrlQi lEadlmi arid lea ve EXUESSlm with dl amt klrds Bf mails gsuhlsi swim at Centered on the concept of obJecB c Bjarne Strobstrup developed C in 1983 at Bell Labs as ari enhancement to the C ming language Used Objectrorlerlted programming to ease tine management of big c programs Object Oriented vs Procedural Languages Procedural eg c We crea e so re t me data presenting an image array of pixels to draw on tne screen We write a procedue than can be passed tne image and that object Oriented eg Java We create a class mat certain an image AND a routine draw it Tine data and tine berawor ability to draw are in one container will draw it Encourages programmers to ourages programmers to thin their programs as sex mink in terms of data and tine of interacting obJects that can turictiors that can be med to operate on eacn otner manipulate tine data Java Developed at Sun Microsysmms in the early 1990s Designers started with c Smaller Programming embedded systems Toasters microwave overs TV set top boxes Rdlablll velv lmDalarltrraled Ds v recalls 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 erte mce run everywhere The Processing environment W lam Menu Tooloar rurl stop nevy operl save aport Tabs Ted edltor this is wnere you type code Message area feedback errors Ted output print commands Brut we39re using Processing Processing is built on top of Java Supporm scriptslike coding Easy to get simple programs Lp fast But allows D39al39lsltlol39l to tull Java programmlng Has builtrin methods and classes to make drawing easy Easy to export program to applet rawing in Processing Aumma c creation of display window Window has a coordinate system for drawing Let39s draw a point pointQ pointX y draws a point at the location X y Let s try it in Processing point 50 50 39 ml what the l Compiler errors appear in the bottom pane Comments Comments are nonprogram text you put in the file to describe to others and yourself what you39re doing Important for being able to look back at your oode and understand it Singleline comments begin with MultiIine comments begin with and end with Drawing several points point30 20 point85 20 point 85 75 point30 75 rawing shapes some primitives ineX1 y1 X2 y2 triangeX1 y1 X2 y2 X3 y3 rectX y width height rectModeO CORNER CENTERiDIAMETER CORNERS elipseX y width height ellipseModeO CORNER CENTERiDIAMETER CORNERS CENTER RADIUS v Compu rer39 Power39 and Human Reason from Judgmen r To Calcula rion By Joseph Weizenbaum Co n ren r Who is Weizenboum Mee r wi rh ELIZA 39 Effec rs on socie ry The book Who r Weizenboum Thinks Hear39 from his own voice Discussion 939 4 i Tunlu Bilir 2 of 14 LCC6310Compufufion as Expressiv Computer Power and Hum i e Medium n Reason from Judgmenf To Calculafion Joseph Weizenboum 1950 1955 POWER AND HLIMAN 1 I REASON I FROM JLIDG MEIW TO CALCULATION InstituteofElectmnicBusiness Tanla Bilir 3 of 14 LCC6310CompuToTion as Expressive Medium CompuTer Power and Human Reason from J udgmem To CalculaTion ELIZA Designed in 1966 Named af rer Eliza Dooli r rle a charac rer in George Bernard Shaw39s play A program Tha r can be incrementally improved by i rs users Tunlu Bilir 4 of 14 LCC 310Compuiuiion us Expressive Medium Computer Power and Human Reason from Judgment ioCuIculuiion ELIZA Dam suzungen Ems euungen Hm ELIZR e The EDmFuLer Psueeeeereee Drlglnal ELIZR be JDSEFH Nelzenbaum MIT 1965 Ha Have ueu requested LHJS sesslun7 1e LesL the Seee7 ellza exam le Program e ueu Feel nLensE Psychuluglcal eereeev m re ueu saalng ne JusL L0 be negaL1v97 belng e bJL negatlve Nell wHaL dld ueu expecLW e were alscusslng eeu not me ukea wee ee ueu eee m not sure I understand ueu Fully I am JusL LHFJng LD Show How 91125 works 1e ueu come Lu me because ueu are JusL LHFJng LD Show How 91125 works 1 1 SL an 9125 demonstratlun eeeebee mEFengun seed75Flrg gt I BM EM A program opera l ing wi l39hin The Timesharing sysfem cf MIT conversa l39ion between man and compu I39er39 ads as a Rogerian hempis lef39s 139r39y Tam amp LccealoecOmpumnon as Expresswvz Mzdmm Computer Power and Human Reason from Judgmem m Ca cu anon 50f14 How ELIZA works The key words in The inpuT TexT are analyzed When cerTain word is found The senTence is Trans orme accordin To a rule associaTed wiTh The eyword if noT a conTenTfree remark or under cerTain condiTions an earlier TransformaTion is reTrieve The TexT so compuTed or reTrieved is Then prinTed ouT Responses are generaTed b reassembly rules assOCIaTed WITh selecTed decomposITIon rules The fundamenTal Technical problems wiTh ELIZA Tania am a uf 14 LCCbSlOVCumpmaHun as Expressive Medium Cumpuler Puwer and Human Reasun frum Judgmem m Calculaimn ELIZA39s effec rs on society 1 DOCTOR as an au roma ric form of psychotherapy a shortage of Therapists b Time saving solution 2 The emotional involvemen r wi rh The program Secre iary exam ple Tania am 7af l4 Mi l riampumimn as Expressive Medium 5mm Pawerand Human Eeasan mm Judgmemm Caicuiahan ELIZA39s effec rs on socie ry con rd 3 A general solution To The problem of computer under39s randing of na rur39al language a a line dividing human and machine in i39elligence compu rers became The ex i39ensions of human body people must develop a sense of understanding regarding how machines wor b v C v 7 BJ 8am 5mm Power and Human u Judgmem m Calculalian JOSEPH WELZENBAUM COMPUTE POWER AND HUMAN REASON FROM JUDGMENT TO CALCULATKON Computer Power and Human Reason From Judgmen r 1390 Calcula1ion Responses 1390 ELIZA mo139iva1ed Weisenbaum 1390 write his book Compm er39 Power and Human Reason Fro77 Judgmenf 7 0 Cacua an In 139ha139 book he explains The limi1s of compu1er s Compu rer39s will always lack human quali es such as compassion and wisdom a mu Judgmem laCalculmmn 9af14 Further deba re from Weizenbaum warm 1 Unsolved deba re Compu rer39s humans 2 Science as an addictive drug mu m gm n Eubuh mn Fur l39her39 deba l39e from Weizenbaum con l39d 3 Scien rific heor39ies believe if or39 no I39 gt 131 Comm STA RT Tank am Lii l riampumhan as Expresswe Med mm Cam m Pawerand Human myquot mm Judgmemm caxcmmn 11 Df 14 Hear from Weizenbaum unlu Bi Iir 12 of 14 LCC 310Computution cu Expressive Medium Computer Power and Human keuson from Judgment toCuIculution Discussion Do you Think a compuTer39 program may Take place of The real docTor39s people are cr39eaTing emoTional Ties wiTh compuTer39s wheTher or39 noT human ThoughT is enTirer compuTabIe one day machines cr39eaTe Their39 own InTelllgence and Take over39 The world should we really know The design principles behind every machine we are using In our39 daily life peo le became addicTive To The Tec nology quesTion scienTific facTs Tanla Bilir39 13 of 14 LCC BlOCompuTaTion as Expressive Medium CompuTer Power39 and Human Reason from JudgmenT To CalculaTion Selected Readings from Plans and Situated Actions Lucy Suchman Navigation Making the distinction between planning and situated action two navigators There are three ways of looking at purposeful action Simply stated purposeful action may be 1 Learned and subject to cultural variation 2 Dependent on the nature of the activity and level of skill 3 Situated actions in any case Suchman will take the 3 In fact she maintains that regardless of the degree of planning purposeful actions are situated actions or in other words actions taken in the particular context of fundamentally concrete and embodied circumstances Therefore circumstances of action can never be fully anticipated and are continuously changing Situated actions are essentially ad hoc Let s find ways to describe our ad hoc methods Interactive Artifacts Defining interactivity and looking at its application to artificial intelligence within an historical context Interaction now as of 1988 is used to signify communication among humans and this is a big and between humans and machines Within the humanmachine rhetorical situation there is implied a mutual intelligibility or shared understanding How have we arrived at this newly connoted version of interaction 1 Automata and Cognitive Science Abstract notions of the mind and intelligence so fundamental to cognitive science have led us to a concept of constructing intelligent artifacts Now there is no reason to automatically draw a principled boundary between peopleand certain computing machines Thanks cognitive science 2 The Idea of Human Computer Interaction Thanks in large part to the rapid reactivity of contemporary 1988 computers we are furnished with a character of computer With its familiar linguistic interface and designed reactions humans are more likely to view themselves as engaged in interaction with as opposed to performing actions upon a computer It has been reified as an entity LCC 6310 The Computer as an Expres e Medium Lecture 12 Project 3 Literary machines are potential literature procedurally producing Exam a y textual traces in re onse to inmraction ples of liter r machines include interactive fiction nodal hypertexts inmractive poetry ofmn with animated typography and chatmrbos reate a limrary machine The literary machine must include 39 39c elements ilch as animated typography generated text ses as a func on o e previous interaction ace It must respon ternal inputs eg user interaction Your piece may include conjunctions of text and imagery Let s look at some examples Overview Look at project 3 Discuss readings Readings for next week Seif Portraits as 0thers By Talan Memmott es elemerrts of the seltportraie and biographies otother artlsB mes them to cre s are cse e y idier portrait nor biography off accurate represel39ftatlm of any specific artist but there is a compression of multiple aftlSB into a single artist httg vwwv uiowa eduiareyiewtiwvebfeature rnernrnottsgo Mernrnottiridex htrnl Arteroids By Jim Andrews quotThe battle of poetry against itself and the forces of dullness Arteroids is about cracking language openquot quotArteroids shifts the focus between game and play between text as readable literary object that gets its primary meaning from the meaning of the words to text as meaning via sound motion and destructive intentquot From Games Po Art Play amp Arteroids 203 2002 htt wwwvis ocom arteroids indexhtm Jabber By Neil Hennessey Letters float around the screen As they contact one another they form clusters and eventually words based on the likelihood that they would appear contiguously in the English language The words formed are mostly Englishlike nonsense a bit like Lewis Carroll39s Jabberwocky poem uIMIeta mquot C III httoemsthatocomaller t q winter2004l39abberindexhtm 1 12 prou u Intruder By Natalie Bookchin Intruder uses a series of 10 arcadestyle game interfaces to tell a short story by Jorge Luis Borges Players move forward through the narrative by shooting catching colliding the game scenarios serving as metaphors for the tragic tale The story39s brutal nature is also an indictment of the violence in computer games The 10 game scenarios present a loose parallel narrative of computer game history from Pong to a war game httoemsthatocomaller 13 19 fall2003intruderindexhtml Jorge Luis Barge I I I I I I i I I I I I I I I I I I I I Heavy Industries Young HaeChang Loud jazzy textmovies made in Flash There39s no interactivity just words flashing on screen in mostly black and white Monaco typeface with intense jazz accompaniment Surprisingly absorbing they work each one drives its point home Many have versions in Korean English and other languages htt www hchan com THE ASSUMPTIBN 24 R uuii m n39c k WES REUNIFIChTIGN TAKE my me THE PAINTER 105 SAMEW5 6N THE STMK MARKET 661 ARIRANG 4 3390 SAM SE MAY 1ND BEWR JCTIM 1l3 MYUNE DBNG 4354 Readings ouglas Engelbart Summary presentations amp questions for discussion 1962 conceptual model for augmenting human intellect Augmenting Human Intelect Engelbart NMR pp93 108 Complexity of problems increasing Camputy LbDream Machnes Nelson NMR pp301339 Need better ways of solving problems Rethink how people interact with machines Separate interface issues from processing Designs for interactive computing Displays text and graphics input devices Structured document creation views on documents Navigating in information space linking Shared screen facilities NLS he emo Engelbart developed the oNLine System NLS at SR1 for the soonto be ARPANEI39 in the 1960s NLS allowed hyperlinking between les on different computers document editing email etc Engelbart gave the quotmother of all demosquot in 1968 which showed word processing windows hypertext the mouse and video conferencing aw me mm 1968 Fall Joint Computer Conference SF Video of NLS oNLine System m w Singleuser workplace efficiency hierarchi S cal hypertext multimedia mouse highresolution display windows hared les electronic messaging CSCW teleconferenc39n m hrrnl Inan ranfnrrl quotquotquot quotquot39quotquot m m m u u y x mm mill hrml Lessons of Lucasfilm39s Habitat Chip Morningstar F Randall Farmer What is Habitat P u a quotmultiplayer online virtual environmentquot its purpose is to be an entertainment medium consequently the users are called quotplayersquot player uses his or her home computer as a frontend communicating over a commercial packetswitching data network to a centralized backend system frontend provides the user interface generating a realtime animated display of what is going on and translating input from the player into requests to the backend backend maintains the world model enforcing the rules and keeping each player39s frontend informed about the constantly changing state of the universe backend enables the players to interact not only with the world but with each other What is Habitat P Frontend screen gives an animated view of the player39s current location in the Habitat world I The scene consists of various objects arrayed on the screen such as the houses and trees I The players are represent by animated figures called quotAvatarsquot Figure 1 A typical Habitat scene 1986 LucasArts Entertainment Company What is Habitat P Avatars can move around pick up put down and manipulate objects talk to each other and gesture each underthe control of an individual player Control is through the joystick which enables the playerto point at things and issue commands I Talking is accomplished by typing on the keyboard Background Lucasfilm39s Habitat was created by Lucasfilm Games a division of LucasArts Entertainment Company in association with Quantum Computer Services Inc I one of the first attempts to create a very large scale commercial multiuser virtual environment Ambitious in its scope can support a population of thousands of users in a single shared cyberspace presents its users with a realtime animated view into an online simulated world in which users can interact Communicate play games found religions fall in love experiment with selfgovernment I built on top of an ordinary commercial online service and uses an inexpensive some would say quottoyquot home computer to support user interaction Lessons Lesson 1 A multiuser environment is central to the idea of cyberspace I Conviction a definitive characteristic of a cyberspace system is that it represents a multiuser environment Opinion what people seek in such a system is richness complexity and depth Nobody knows how to produce an automaton that even approaches the complexity of a real human being let alone a society Approach not to attempt this futile automation but instead to use the computational medium to augment the communications channels between real people Lessons Lesson 2 Communications bandwidth is a scarce resource Based on one of externally imposed design constraints namely that it provides a satisfactory experience to the player over a 300 baud serial telephone connection one routed moreover through commercial packetswitching networks that impose an additional uncontrollable latency of 100 to 5000 milliseconds on each packet transmitted Even in a more technically advanced network however bandwidth remains scarce in the sense that economists use the term available carrying capacity is not unlimited I Reductionists approaches based on inappropriate fixation on technologies invite disasters eg the temptation to build upon bitmapped images or polygons or some other graphic primitive for graphicsoriented cyberspace system Lessons Lesson 3 An objectoriented data representation is essential this assertion is unlikely to be controversial as objectoriented programming is currently the methodology of choice among the software engineering cognoscenti Intention not only an objectoriented approach should be adopted but that the basic objects from which system would be built should correspond moreorless to the objects in the user39s conceptual model of the virtual world that is people places and artifacts Goal to enable the communications between machines take place primarily at the behavioral level what people and things are doing rather than at the presentation level how the scene is changing Lessons Lesson 4 The implementation platform is relatively unimportant Observation The presentation level and the conceptual level cannot and should not be totally isolated from each other However defining a virtual environment in terms of the configuration and behavior of objects rather than their presentation enables us to span a vast range of computational and display capabilities among the participants in a system This range extends both upward and downward As an extreme example a typical scenic object such as a tree can be represented by a handful of parameter values and two users on two starkly different systems might be looking at the same tree in same the place in the same world and talking to each other as they do so Lessons Lesson 5 Data communications standards are vital Thrust is more on upon the definition of the data being transported than on cyberspace data communications standards because of the focus on the unique communications needs of an objectbased cyberspace I concerned with the protocols for sending messages between objects that is for communicating behavior rather than presentation and for communicating object definitions from one system to another Communicating object definitions seemed to be an important problem and was not addressed in Habitat Lessons Lesson 6 Detailed central planning is impossible don39t even try n in a system designed to deliver information or communications services large numbers of users are simply a load problem rather than a complexity problem It is not necessary to match the size and complexity of the information space to the size of the user population I While it may turn out that the quantity of information available on a service is largely a function of the size of the user population itself this information can generally be organized into a systematic structure that can still be maintained by a few people I World Design Problem Lessons I Lesson 7 You can39t trust anyone I Running The World Problem I Social engineering is at best an inexact science even in protocyberspaces Or as someone once said quotin the most carefully constructed experiment under the most carefully controlled conditions the organism will do whatever it damn well pleasesquot I control should be released to the users I Designers and operators of a cyberspace system must inhabit two levels of quotvirtualityquot at once First is the quotinfrastructure levelquot the level of implementation where the laws that govern quotrealityquot have their genesis and the second is the quotexperiential levelquot which is what the users see and interact with I that there should not be any quotleakagequot between these two levels I to give control to the users meant control at the experiential level Lessons Lesson 8 Work within the system Wherever possible things that can be done within the framework of the experiential level should be The result will be smoother operation and greater harmony among the user community I On the other hand taking what seemed like the expedient course which involved violating the worldmodel provoked upset and dismay Conclusions defining characteristic of cyberspace is the sharedness of the virtual environment and not the display technology used to transport users into that environment I an objectoriented world model is a key ingredient in any cyberspace implementation the most significant challenge for cyberspace developers is to come to grips with the problems of world creation and management most important of these is that managing a cyberspace world is not like managing the world inside a singleuser application or even a conventional online service Instead it is more like governing an actual nation An agoric evolutionary approach to world building rather than a centralized socialistic one Get real Nomadic Power and Cultural Resistance Nomadic Power Scythians horticulture based nomadic society No fixed territory unlocatable could not be conquered Autonomy through movement always present invisible This archaic model has been reinvented into a sustainable means of domination cyberspace Both a diffuse power field without location and a fixed sight machine appearing as spectacle Modern Nomadic Power Advantages Always on the offensive invisibility is the best defence1 Sedentary populations submit to the obscenity of spectacle and contentedly pay tribute labor material profit Fragmentation of the world as a means of discipline All divisions of society blend into caretakers of the cyberelite Friendly pillage rather than hostile plunder Hostility from repressed is rechanneled into the bureaucracy No longer needing to take a defensive posture is the nomads greatest strength Who is the Nomadic Elite Cannot be located examined or seen A downloaded elite military consciousness not a class Transcendent entity Unknown whether they have integrated programmed motives Disillusionment Strategies of Retreat Absent potentially unassailable power revolution in ruin Aestheticized retreatism retreat towards introspection sidestep the question of social condition Cultural resistance under poetic self away from everyday revolution leads to cultural production that is the easiest to commodify and bureaucratize Strategies of Retreat Sociological Retreatism Fixed areas that elude surveillance Achieving autonomy by hiding from social authority Susceptible to infection from spectacle language nostalgia lnherently unstable communities good or badi Will they last long enough to have an effect Labor Movement Organized body of workers stop production key to revolution Union or Labor Bureaucracy Broken strikes givebacks layoffs Fragmentation of the world anachronized national labor movements alternative labor pools Situationists reject both labor and capital All should quit work Futility of antiquated strategies Strategies based on contestation of sedentary forces can no longer disrupt elite power Elite power no national and urban bases Architectural monuments of power hollow and empty Can be occupied but occupation can be made invisible through media manipulation Function as bunkers for complicit and those who acquiesce Web connecting bunkers streets left to underclass Electronic Resistance Authority that locates itself in the electronic field must be met with electronic resistance Prolonged inertia collapse of nomadic power Viruses worms bombs harbingers of destructive force of inertia in the electronic field Hold data as hostage instead of property Key total disruption of command and control All dead capital becomes and economic drain Electronic Resistance Problems Cyberreality depoliticized group Activities motivated by curiosity and belief in free access to information Political thought and action is alien Asking this class to destroy its own Very few understand the specialize knowledge required Direct Manipulation A Step Beyond Programming Languages Ben Shneiderman What makes a truly pleased user Well if you answer yes to at least two of these questions you re probably a truly pleased user Did you find the system easy to master Are your tasks being taken care of competently Are you retaining your knowledge of the system Do you enjoy using the system and showing off in front of your colleagues Would you like to get to know the system better Not quite direct manipulation In 1983 certain programs visual editors EMACS Vi video games Pong Donkey Kong TRON or computer aided design programs with robots came close to Ben Shneiderman s ideal of Direct Manipulation by possessing these lovely and delightful qualities visible objects ofinterest eg multiple lines of code a Mario Brother layered or windowed data rapid reversible incremental actions no more tyopsl command language superceded by direct manipulation of the visible object of interest Why You Might Like Direct Manipulation As Don Hat eld s crew dropped their WYSWYG and Ted Nelson exclaimed The tool itself seems to disappearlquot Ben Shneiderman was listening A I By positing the SyntacticSemantic Model ShneiderMan suggests that we humanity would be best served by a system that visualizes our problems gives us physical actions in lieu of a complex syntax and layers information to make knowledge biytesized and easy to digest Some Concerns Shneiderman realizes that there might be some issues with direct manipulation For instance graphic representation alone doesn t necessarily guarantee better performance Indeed graphic representation like a syntactic command language has aspects that need to be learned Icons can be confusing or unclear Misunderstood graphic signifiers could lead to false conclusions and user disappointment Eek Also 10 graphically signified documents are much less appealing than 50 tabularly listed documents For sure Where do we stand Photoshop File Edit Image Layer Select Filler P4 ri Hl ghj l FEMEWOM sme Normal ma 8 8 8 E DSC 39 inn 100 m 1 2iquot i gquot LCC 63110 The Computer as am Expressive Medium Lecture 26 Project 6 While computerbased interactive games aka video games have been a popcultural force since the arcade scene of the late 19705 and early 19805 in recent years video games have been recognized as a major emerging art form poised to have as much cultural impact on the let century as cinema did on the 20th The game industry is making Hollywoodsized amounts of money with designers of the most popular games achieving a geeky sort of celebrity Museums and galleries are offering exhibitions of quotart gamesquot computerscientists are beginning to treat games as technical objecB worthy of serious attention and in humanities departments around the world games studies is a hot new topic What kind of game would you create Create a simple game Your game should be a quotregularquot Java applet ie do not use Processing Overview Project 6 questions Game example frogger More java for real Look at project 45 Look at project 55 Frogger Simple game of frogger as applet or application Froggerjava Main class with game thread and controls Frogjava Can hop fonvard back left and right to cross lanes and avoid cars Lanejava A lane where cars drive in a certain direction at a certain speed Carjava A car that drives in a certain direction at a certain speed Let39s look at the code for these Project 4 Project 4 discussion And as we39ve been discovering together computation is Let39s look at some of your project 4s fundamentally a process medium What would you do to the web Create an applet that dynamically does something to one or more web pages eg collage systematic distortion relayout ironic Things to think abOUt superposition etc Volunteers 1 what is the purpose of the html parser is there an overall theme or concept is it easily grasped is it original is it engaging v i 39 what does the html parser do to web pages are the mappings between parsed pages and visual output clear can the parser be easily understood by users and does it need to be does the html parser provide an appmling interface what are e cn en39a ofvisual appeal in this case how does the presentation re ect the parsing approach and ooncept clear affordanoesconstraints clear inputoutput ma pings how do users know what they cancannot do responsiveness and feedback Project 5 Project 5 discussion Build a collection of simple AI agents that interact with the user Let39s look at some of your project 5s each other and their ecosystem to give the illusion of life You can build upon the provided framework of Braitenberg vehicles which can produce complex agent behaviors or code your own simulation Things to think abOUt Volunteers 3quot 11 39 at is the ooncept for the agentseoosystem is it easily grasped is it original is it engaging 1 c 39 w tdo the agents do how do they interact with each other how do they interact with the user do they seem lifelike it is the piece agents and ecosystem visually appmling what are the criteria of visual appeal in this case how do the visuals re ect the behavioral model of the agents 39 1 clear affordancesoonstiaints clear inputoutput mappings how do users know what they cancannot do responsiveness and feedback LCC 63m The Computer as am Expressive Medium Lecture 5 thawing a rocket background 0 fill 255 triangle10 o o 20 20 20 rectMode CORNERS 39 rect5 20 a 23 rect12 20 15 23 Let39s try this in Processing Overview Programming concepB Methods Classes ProcessHg pp 301318 New K want to draw several rockete I want several rockeB in different locations on the screen I could copy and paste the code But I would need to adjust all the numbers for the new locations Or I can just define a method First method for drawing a rocket Note Wecancallthe mt dwhaleverwe Want 111255 but 5 conventional to gwe triangle10 o o 20 20 20 reetMode CORNERS man DramRocket rect5 20 a 23 rect12 20 15 23 Now how do we use this code Can we just call the method at the top of the file Let39s try it Calling drawRocketQ void setup drawRocket void drawRocketU fill25539 triangle10 0 0 20 20 20 rectMode CORNERS 39 rect5 20 8 23 rect12 20 15 23 First method for drawing a rocket fill 255 39 triangle10 0 0 20 20 20 rectMode CORNERS 39 rect5 20 8 23 rect12 20 15 23 Now how do we use this code Can we just call the method at the top of the file Let39s try It x 439 ll c u This ddn39t seem to help much Our method still just draws a rocket at one fixed location We need 39 that allow us to tell the program where we want the rocket This means we need to gure out the relationship between the position of the rocket and the location of the rest of ii parts Note Argument variables are available within the method but not ouBide method scope drawRecketo with arguments void ammonium nnsex m nnseYi am a mom with quotmm to n nose nlhex pails of m mom um xespecl u n nus int hnttnmn lncket 7 nnseY 2n m leftn lncket 7 nnsex 7 m m xiqhtn lncket 7 nnsex 1n nlz55l dxaw m locket hndy lxianqleinnsex unseY leftnmncket hntlm f knckel xiqhtn lnckel hullm f knckeli dlaw m cm feel quot9mm icmulmlsi xectileftn lncket 5 hattnm lncket leftn lncket a hnttmnmncket an xectlxiqht lncket 7 a hnttnmn lncket xith f knckel 7 5 hnttnmnfnncket 3 Centering the rocket around the origin Currently the rocket draws with respect to its nose You can see this by calling drawRocket00 Now we want to draw the rocket around the origin We know the rocket dimensions are int leftofRocket nosex 7 10 int rightOfRocket nosex 10 From this we know our rocket has a width and height of 20 pixels so we can define some constants mt halfHeight 10 int halfwidth 10 Now let39s use these to draw the rocket New to specify rotation Currently we specify the nose position and it draws a rocket that faces straight up To rotate the rocket we would need to figure out the new position of the vertices That39s hard Instead of rotating the rocket let39s rotate the paper As long as we39re rotating the paper might as well slide it around as well To prepare for translating and rotating first let39s draw the rocket centered around the origin 00 Body and feet around the origin Drawing the rocket body used to look like inanqleinnsex nnseY leftnmncket huttnm fkncket xiqhtn lncket hullm lnckeli Now instead we start at the origin and use halfHeight and halfWidth Drawing the rocket feet used to look like mummmcm 5 mummcm leftn lncket a hummus at xeclixith fknckel 7 a hnttnmnfnncket xith flnckel 7 5 hullnm fknckel 3p Now instead we center around the origi Putting it together Now acid translation anti rotation void dzawknckeliint nal int half eiqht 1n int float xl nal int nalnmm 1n nal int nammam n nal int namuau 1n lxianqlei rhalf eiqht ihal ridth hal leiqht hal lidth hal leiqhtl xecmnde lcmulmlsl xectlrhal lidth 5 nammam rhal lidlh a hal leiqht 3 xeclihal lidlh a a hal leiqht namuau a 5 hal leiqht 3 lxianqlei rhalf eiqht rhal lidth half eith hal dth half eiqhtl xecmnde lcmulmlsl xeclirhal lidlh 5 hal leith rhal lidlh a half eith 3p xectihal lidth a a half eith nalmaau a 5 nammgm 3p Let s m drawing several rockeB aaawnackmz525mrgn Using pushMatrixO and popMatrixO Works ne for one call void dxawknckeliinl x int 11 float mu r nal in namnaan z But when we call it twice it doesn t seem to work n nal int namuau 1n Looks like rst call mess up subsequent calls What is happening lxanslal x yl When you move the paper translate rotate the paper stays moved mum Subsequent paper moves additional translats and rotates build on top of the previous ones aaanalam anammana autumn hal reiqm hal ridth namnaanm I I xecmnde lcmulmlsl So what we want IS to move the paper draw and then move It back quotamalgam 5 hal uiqht snamuau a namnaan at 10 ihal lid h r E hal iei h hal lid h r 5 hal lei h 3i We need r and i i q i i q i pushMalrixO remembers the previous paper position ie the previous transformation matn39x popMatn39xO restores the paper to the remembered position ie restores Let s trv drawing several rockeB now the transformation matrix aaawnaakm5n5nmrgn aaawnackmz525mrgn Classes Java Processing is an objectoriented language This means that parts of your program that you treat as conceptual things become things objecB in the program code ObjecB are built from classes Classes are the blueprint objects are built from the blueprint Objects are called i 1 ofclasses Our rocket sure seems like a thing let39s turn it into a class efining the Rocket class class Rocket float oat float final int halfwidth 10 final int halfHeight 10 Rocketint initialx int initialY float initialRot xPos initialx yPos initial l rotation initialRot Parts of a class Classes define i39 39 391 quot A 391 and of are the variables that appear inside every instance of the class you can think of them as properties that each object will have Each instance has its own values Eg a square class might have variables for size and color and each instance ofa square can have its own size and 00 or C52 are special methods that define how to build instances generally how to set the initial values of fields A class can have multiple constructors that can be used to set up the object in different ways z are how you do thingsto instances you can think of them as the operations that can happen to an object Eg a square can be drawn its color can be changed etc Using the class to create instances Classes define a You can now P variables of this type and 39 39 gt3 them using the constructor Like arrays the keyword n is used to tell Java to create a new object hmm so arrays must be objects void setupo Rocket 1 new Rocket 75 1o 0 Rocket 2 new Rocket50 so 1912 l Let39s see try this Nice but my rockets don39t do anything Oh yeah you need methods to do things to objects Wilding a draw routine to our Rocket void dzaw ell pnshuatxixl l lxanslale xntalel 5 lxianqlel awning 7hammm mummy hal lidth hal leithl ucmndelcnmnsl ucu7hammm 5 hummith 7131am a hal leith 3p xeclthal lidlh 7 a half eith human 7 5 hal leiqht 3p rnwatxixn But we could de ne add ional arguments if we wanted to Adding a color argument pushnalxix umhu 1xPns yPnsl xnlal91xnlalinnl txianqlel 7hammqm maximum hal leiqht hal dth hal leithl xecmnde lcmulmlsl ucu7hammm 5 half eith mammal a hal leiyhl 3 xectlhal lidth 7 a hal leiqht hal lidth 7 5 hal leith 3 pnp atxixll ummmuzm xzauwnelcn1nxlz55125nn Calling methods on objects You call methods on instances Think of the method as something your asking the object to do For example we can now ask the rockets to draw themselves r1drawMe In general to call a method take the name of the variable holding the object the method name myobjectmyMethod Let39s try drawing our rockets What else could we do to the Rocket We may want to change the rotation mtateCIockwiseO mtateCounterclockwiseO We may want to give the rocket a boost reThrustersO Let39sg a full implementation of our Rocket class Do you understand how the mcket moves Understanding the rocket movement angles velocity and thrust ysin6 Angles are formed counterclockwise circle of radius 1 from the X aXIs centered at 00 to a Slfl 87 fire39l hmsters an extra push I Now suppose we want to give the rocket and extra little push so that it keeps moving in the same direction but a little faster We need to increase velocityX and velocityY by some number each call these thrustX and thrustY What will thse numbers be In our 9 n6 example we can guess that the number added to velocityX will be bigger than the number added to velocityY since the rocket is moving more in the x direction than in the y direction The question is how much bigger How can we exactly determine the x and y velocity components The diagram above gives the answer Let39s look at some examples 5L5 15m 6r Velocity components xuse Suppose a rocket is moving at an angle of e n6 Le 30 degrees like in the picture We can think of this in terms ofx and y as follows The rocket it is moving in both the x and y directions So it has both x and y veloci The rocket is moving more in the x direction than in the y direction So the x velocity is greater than the y ve oc39 Suppose the rocket velocity is known with components velocityX and velocityY Then we can update the position of the rocket xPos yPos based on the time since the last update as follows xPos xPos velocityX timesinceLastDraw yPos yPos velocityY timesinceLastDraw Example 1 lfthe rocket is moving in the X direction only ie 6 0 what does the extra thrust look like in terms ofX and y directions All thrust is in the X direction no thrust in the y direction That m XThrust cos 6 cos 0 1 yThrust sin 6 sin 0 0 And we can update our velocities as follows velocityX velocityX XThrust velocityX 1 velocityY velocityY yThrust velocityY m a sin a Example 2 lfthe rocket is moving in the y direction only ie 6 112 what does the extra thrust look like in terms ofx and y directions All thrust is in the y direction no thrust in the X direction That means xThrust cos 6 cos Tr2 0 yThrust sin 6 sin Tr2 1 And we can update our velocities as follows velocityX velocityX xThrust velocityX velocityY velocityY yThrust velocityY 1 Acceleration Suppose we want the rocket to speed up even more when we fire the thrusters e can simply multiply the XThrust and yThrust oomponents by a chosen acoeleratlon actor velocityX velocityX XThrust a velocityY velocityY yThrust a Or using our rocket s angle this is the same as saying velocityX velocityX 005 e a velocityY velocityY sin e a Of course when translating these concepB into code we need to account for Java39s coordinate system Example 3 lfthe rocket is moving at an angle 6 116 30 degrees what does the extra thrust look like in terms ofx and y directions Greater thrust in the X direction than in the y direction That m xThrust cos 6 cos Tr6 08660 yThrust sin 6 sin Tr6 05 And we can update our velocities as follows velocityX velocityX xThrust velocityX 08660 velocityY velocityY yThrust velocityY 05 Java and rocket rotation Note that in Java our angle of 0 when it is facing upwards We also need to account for Java39s ipped y axis LCC 63m The Computer as am Expressive Medium Lecture 20 Project 4 w Making sense of the world is not just a matter of structure but of process of the dynamic construction of meaning And as we39ve been discovering together computation is fundamentally a process medium What would you do to the web Create an applet that dynamically does something to one or more web pages eg collage systematic distortion re Iayout ironic superposition etc Overview Project 4 questions Discuss readings Readings for next week Readings Summary presentations amp questions for discussion Process Intensig Chris Crawford amp feEC VIZ Process I tE SIZ and Instanu39aAsses Greg Oostikyan linked from class page for Oosh39kyan scroll down to Tues May 20 2003 Sembu39c Cansidelau39ons Michael Mateas linked from class page Compuung Macriner and Human Intelligence Alan Turing NMR PP4 93964 From Conwuung Powerand Human Reason Joseph Weizenbaum NMR pp367375 Chars Crawford on Process Intensity e 39nstead of data All programs use a mIX of process and data Process is re ected in algorithms equations and branches Data is re ected in data mbles images sounds and text A process 39 39 lot of 39 39 t intensive program spends a lot of time moving bytes aroundquot chris Crawford quotProcess intensity is the degree to which a program emphasizes process si Semiotic Considerations in an Artificial IntelligencerBased Art Practice Michael Mateas 2003 Expressive AI 7 hybrid practice of art making and AI research quotAI consisE of coupled rhetorical and technical shamgies for structuring compumtional rocesses ArtisE can consciousi man39pulam these rhetorical and technical strategies so as to build m A experiencesquot Greg Costlkyan on Process Intensrty quotTo put it another way we39ve been doing precious litlle actual game design we39ve mostl been implementing ersions ofexist39ng game styles but with prettier graphics But as I39ve argued we ve e point of diminishing returns along that road In future to do something else And the something else we have to do is to start thinking about processrrabout how different algorithms can be combined to create challenges and gameplay that people m gameplay about how rules shape player behaviorquot Sat 200 07 1 9 Manifesto Games Semiotics framework i e the task of de ning the structures and processes that are amenable to computaton while at the same trne being meaningful to the user 39 t If analyzing both sides of this problem by considering them both as insmnces of 39 n sy t ms i e e sign system of code code machine39 and the sign system used to taik about the code rhetorical machine Alan Turing English mathematician logician and cryptographer who is often considered to be the father of modern computer science and AI During ww11 Turing worked at Bletchley Park Britain39s codebreaking centTe designing e Bombe electromechanica machine decipher me m ssages encoded with the German Enigma machine Tu ring Test quotCan machines thinkquot gt quotCan machines behave intelligentlyquot Operational Est for intelligent behavior the Imitation Game Separate rooms contain a person a computer and an interrogamr The interrogator can communicate with the other two by teleprinter The interrogator tries m demrmine which is the person and which is ine e machine tries to fool the inmrrogator into believing that it is the person If it succeeds then we conclude that the machine can think Computing Machinery and H man Intelligence quotI propose m consider the question 39Can machines think 1950 Operational test for intelligent behavior the 1mimtion Game Transforms the question Cari machines thlrik7 9 Carl machines behave lritelllgeridW Description of machines and universality of digital computers Anticipated the major arguments against AI in following 50 years Theological mathematical argumens frorn consciousness orlgll lallty etc Suggested major componenE of AI Knowledge reasoning language understanding learning Predictions In 1950Turing predicted that by 2000 a machine might have a 30 chance of fooling a lay person for 5 minums It will be natural to speak of compumrs 39thinking39 quotThe machine may be used to help in making u p is w programmes or to predict the effect ofalterations in its own ucturequot quotWe may hope that machines will eventually compete with men in all purely intellectual eldsquot Some objections Theological objection Thinking is part of humans39 souls and so t th39nk animalsmachines can a nothessand objection Consequences of thinking machines are dreadrui so lets hope it s not possible Futuristic movies arid books build upori this fear Machines will never be able to do X x be kind friendly haye sense of humor rail in ioye etc i Compwteir Power and Human Reason Weizenbaum demands that the community consider ethical and 39 39 wiul 39 imimm human behavior e real question for the Artificial Intelligence he says is not what computers will be able to do but what we should allow them to do Joseph Weizenbaum Professor emeritus of Computer science at MIT In his 1976 book quotComputer Power and Human Reasonquot he explores his misgivings about technology and AI that were prompted by effecE he observed his ELIZA program had on people EUZA ELIZA program that simulated a Rogerian psychotherapist interacting with a patient Coded at MIT during 195471955 by Joseph Weizeribaurn The script was a simple collection of syntactic patterns Each pattern had an associated repiy which might include bits or the input arter simple transformations my s your Weizenbaum was d10cked at the reactions Psychiatriss thought it had potential People anthropomorphized Many thought it solyed the natural language problem Did it pass the Turing Test A funny ELEZA story Soon after ELIZA39s invention copies of Weizenbaum39s program were running on many computer systems Weizenbaum39s former colleague at MIT Daniel Bobrow told the following story at a conference in 1969 At the time of the story Bobrow was across town from MIT at a company called BBN VP Do you think thatI can use the computer this morning D WHY DO YOU ASK VP I might be able to make some additional Telcomp sales D WHY AREN39T YOU SURE VP My prospective customers have never seen a demonstration of the system D DOES THIS MEAN VERY MUCH TO YOU VP Of course it does D YOU SEEM VERY POSITIVE ABOUT THAT VP This is ridiculous D WHAT DO YOU MEAN THIS IS RIDICULOUS VP Is there any reason why I can t use the computer now D TELL ME MORE ABOUT YOUR PROSPECTIVE CUSTOMERS VP Please dial me up on 4911850 quotOne Saturday morning about 9 am a BBN Vice President in charge of selling our Telcomp commercial service arrived at our PDP1 Computer Room hoping to be able to use the computer for a demonstration He found a note on the PDP1 teletype that read quotTYPE ALL MESSAGES INTO THIS TELEI39YPE AND END THEM WITH A PERIODquot This note was left there by one of the programming bums who had just succeeded in making run a LISP version of the DOCTOR program based on ELIZA as developed by Weizenbaum However the VP thought that this note indicated that this teletype was linked with the one in my home sinceI often used the computer all night Therefore he started typing to quotmequot but in fact was typing to this version of the DOCTOR program The following conversation ensuedquot quotNote that after the last remark the VP did not obey instructions and left out the period Therefore of course the computer didn t answer him This so infuriated the VP who thought I Bobrow was playing games with him that he called me up woke me from a deep sleep and said VP Why are you being so snotty to me B What do you man why am I being so snotty to you The VP angrily read me the dialogue that we had been having and couldn39t get any response but laughter from me It took a while to convince him it really was the computerquot Bobrow 1969 3233 reproduced in Boden 1978quot As We May Think An essay by Vannevar Bush Published in July 1945 but conceived in 1936 Vannevar Bush with his Differential Analyzer 1935 Vannevar Bush s Legacy Led OSRD during WWII which coupled civilian researchers with armed services Helped cement ties between academic science industry and the military which had been forged during the war Recommended the creation of what would eventually become National Science Foundation NSF Scientists should be left to selforganize and selfpolice The government should be kept on tap but not on top As We May Think Essay conceived in 1936 but put on the shelf during WWII Published in 1945 Desire to make all previous collected human knowledge more accessible Predicted hypertext personal computers the Internet speech recognition and online encyclopedias The Memex A memeX is a device in which an individual stores all his books records and communications and which is mechanized so that it may be consulted with exceeding speed and flexibility It is an enlarged intimate supplement to his memory The Memex A portmanteau of memory extender Theoretical computer Predicted hypertext and intellect augmenting computer systems The user builds a trail of his interest through the maze of materials available to him The Memex The Successors JCR Licklider Said computers and people will work together 1960 Ted Nelson Sought a computer network with a simple user interface 1960 published Computer LibDream Machines in 1974 Douglas Engelbart Helped develop the computer mouse hypertext etc 1968 As We May Think in Action Wholly new forms of encyclopedias will appear Wikipedia A trail of interest through the maze of materials Amazon Clickstreams Any item can be joined into numerous trails Flickr tagging Selection by association rather than indexing Google See Anatomy of a LargeScale Hypertextual Web Search Engine As We May Think in Action As the user has several projection positions he can leave one item in position while he calls up another Firefox tabbed browsing A lever runs through material at will stopping at interesting items going off on side excursions MySpace Facebook social networking As We May Think in Action The world has arrived at an age of cheap complex devices of great reliability and something is bound to come of it Mobile computingcell phones Excursions may be more enjoyable if man can reacquire the privilege of forgetting the manifold things he does not need to have immediately at hand with some assurance that he can find them again if they prove important 39 Mythinformation don Winner Mythinformation The almost religious conviction that a Widespread adoption of computers and communications systems along With broad access to electronic formation Will automatically a better world for humanity aa l d revolutionaries nform citizens about gQ al the means and the coming new order 5 Starting with the French Revolution the term revolution is tightly connected to a deliberate change towards Social justice Freedom Democracy 3911 the revolutionaries manage the violence and military they 39 forrevolutionary purposes once they are in control reaking down the political 4 ments of computer romantics ple need more information V nformation is knowledge wledge is power sing access to information enhances y and equalizes social power sequences of a revolution consequences of computerization need to c carefully thought through and planned to e that the outcomes are desirable came areas to consider surveillance state and selfsurveillance Issues ofprivacy and freedom A lie alteration of patterns of human sociability 1 I39L r 1 1 39 39 layers 1 41 r to vi u l quot quot r for being together an b lmore susceptible to external pressu b39lity and unlocatability ofpower quotrhizomacyquot at any point on the globe not limited by geography uffers between institutions ofpower and individuals the re Questions N lien everyone has a computer everyone 1 be equally powerful N0 ch a development might give previously vantaged people more social in uence quot not rock the balance of power Questions form information to knowledge oes not come just by having access
Are you sure you want to buy this material for
You're already Subscribed!
Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'