A static representation for ToonTalk programs

Size: px
Start display at page:

Download "A static representation for ToonTalk programs"

Transcription

1 A static representation for ToonTalk programs Mikael Kindborg Department of Computer and Information Science Linköping University Sweden Abstract Animated and static program representations have different properties, resulting in different user experiences. These properties and differences are analysed in the context of ToonTalk, a programming tool for children. ToonTalk has an animated representation of programs inspired by cartoons and video games. Based on a usability analysis of the animated representation, a static representation that uses comic strips is suggested. The visual language of comics has properties that combine the dynamics of an animated representation with the overview provided by a static representation. The study shows that the representation based on comic strips has the potential to reduce some of the usability problems related to understanding and editing programs, and that the animated representation has advantages when creating and debugging programs. 1. Introduction This paper outlines a static representation for ToonTalk programs that is based on comic strips. ToonTalk is a programming tool that uses an animated programming language to make programming accessible to children (Kahn 1995). Learning to program is traditionally considered as a difficult task. One reason for this is that it is difficult to create a mental model of the behaviour of the program and the underlying computation model. Limitations of the human working memory make it hard to maintain an internal representation of a program. An external representation could help to understand the program s structure and its behaviour. (Internal and external representations are also known as knowledge in the head and knowledge in the world, Norman 1990, pp ) Research in the area of visual programming (Burnett 2000) has suggested the use of visual program representations to help the user create and maintain a mental model of the program, thereby bridging the gap between the programmer and the program. However, the research efforts that have been made have not resulted in a widespread adoption of visual programming (Kahn 1996, pp. 2-3). One possible 1

2 reason is that the graphical representations that have been used, such as flow charts and data flow diagrams, are too abstract and do not visualise the dynamic aspects of a program. The shortcomings of static representations have led to the suggestion that animated program representations could be better suited to serve as an external representation of a program s dynamic behaviour (ibid.). Another reason why programming is difficult is related to the general level of many programming languages (Nardi 1993, pp ). End users find it easier to learn specific languages than to learn general purpose languages, and visual programming have failed due to lack of task specific programming constructs (ibid., pp.61-63). A related observation is that even though ToonTalk is based on a general purpose programming language, it is domain specific in its use of video game graphics and in its support for game programming. ToonTalk has built-in support for pictures, moveable sprites, collision detection, and other game and graphics related constructs that appeal to children. The purpose of this study is to address some of the usability issues of animated and static program representations. This is done by analysing and comparing the properties of animated and static program representations in the context of ToonTalk. The motivation for choosing ToonTalk is its unique use of a fully animated programming language. This makes for an interesting contrast between animated and static program representations. Further, the cartoon-like language of ToonTalk (ToonTalk means Talking in Cartoons) shares many properties with comics, making a comparison of the two representations meaningful. 2. The animated language of ToonTalk ToonTalk has an animated programming language that is inspired by video games. The motivation for using animation is that programs describe dynamic processes. Thus, animation should be a better form for representing a program than static pictures, such as diagrams or re-write rules. The appeal of video games and video game graphics is another strong motivation, especially in a system that is meant for use by children. ToonTalk has been described by a child as a video game for creating video games. ToonTalk is based on the computation model of concurrent constraint programming (see Janson & Haridi 1993 for an introduction to concurrent constraint programming). In ToonTalk each programming abstraction is represented by a concrete object. For example guarded clauses are represented by robots, the guard is represented by a thought bubble, the body by actions carried by the robot, and variables are represented by boxes. Programming in ToonTalk is done by demonstration (Kahn 2000). The programmer trains a robot to perform actions on a concrete example. When the training is done the robot can be generalised to work with generic data by relaxing the guard in the robot s thought bubble. Figures 1-4 show how a very simple robot is trained to add the number 1 to any number given to it. It goes without saying that paper is 2

3 a poor medium for recreating the experience of an animated medium. To see ToonTalk live, a demo can be downloaded from Figure 1. A new robot is given a box with the number 1 in it. Note that the thought bubble of the robot is empty, indicating that this is a new robot that has not been trained before. Dropping a box on an untrained robot will open the robot s thought bubble and the training of the robot can start. The hand holding the box represents the programmer. To the right is a toolbox which contains the various building blocks used to create programs. Figure 2. Inside the robot s thought bubble. Here a number pad with the value 1 is dropped on the number inside the box given to the robot. Dropping a number on another number results in adding the two numbers. When training a robot the hand representing the programmer is replaced by the rocket-powered robot seen in this picture. The robot will remember the programmer s actions. When the training is done, the programmer hits the Escape key to exit the thought bubble. 3

4 Figure 3. The box in the thought bubble represents the guard for the robot s actions. The robot will only work if the content of the box given to it matches the guard. By erasing the digit with the vacuum (left) the guard is generalised. The robot will then accept any number, not just the number that was used to train it. When a box is given to the trained robot it will add the number one to the number in the box (right). Figure 4. The mouse with the hammer is an animation that represents the add operation. When a number is dropped on another number the mouse comes running to hammer them. The robot will continue to work as long as the guard matches the box. In this example the robot will continue until it is stopped. In ToonTalk there exists no traditional iterative control structures, such as while-loops. Iteration is implicit in a robot s action. A robot will continue to work on a box until the guard does not match, or the programmer stops it. Note that when a robot is working, it looks the same as when the programmer was training it in the thought bubble (see figure 4). It is common in ToonTalk to first test the robot by watching it work, then place it to work someplace hidden, like in a separate house or on the back of a picture. The Add 1 robot could for instance work on the x-coordinate sensor of a picture, which would result in the picture moving to the right. 4

5 3. Usability analysis In the area of visual programming various graphical representations have been used to bridge the gulf between the programmer and the program, thereby making it easier to program for end-users. The program consists of objects and operations and an underlying computation model that determines the behaviour of the program when it is executed. The program representation (the source code) is a human (and machine) readable representation of the program that should help the programmer to understand the structure and the behaviour of the program. The present analysis will be structured around the following usability issues: Understanding. How easy is it to understand what a program will do? Creating. How easy is it to create a program that will perform the intended actions? Debugging. How easy is it to examine and to understand the behaviour of a running program? Editing. How easy is it to make changes to a program? Below we analyse these tasks in the context of the animated program representation of ToonTalk. We use an approach similar to a heuristic evaluation (Nielsen, 2000), where the author is the only evaluator. For each issue, the properties of the program representation are analysed from the perspective of the user. Understanding. In ToonTalk there is no static representation of the program so the only way to find out what a program does is to run it and watch. Since the animated representation and the animated program behaviour are essentially the same thing, understanding what a program does can be done by simply watching it. Note that an understanding of the computation model is required to understand the program. In ToonTalk it is for example necessary to understand the role of the guard in the thought bubble and the implicit iteration. This understanding can be formed in the programmer s mind in many different ways. A child could for instance understand these concepts at the level of the concrete ToonTalk objects, and the animated representation can help to gain this understanding. Creating. To create a program in ToonTalk is done by demonstration. The effects of actions are seen immediately as a robot is trained. Again, the program representation is virtually identical to the program behaviour. To correct mistakes during training is not possible, which is problematic for long program sequences. Debugging. To examine the behaviour of a running program, the programmer gives a box with the test data to a robot and then she watches it work. This is the same procedure as is required to understand what a program does. In ToonTalk debugging can be thought of as execution in slow motion. Editing. ToonTalk has no equivalent of a source code editor. If a robot turns out to not work, or if a mistake is done during the training of a robot, the robot has to be re-trained. It is possible to go inside a robot s thought bubble and watch it work 5

6 on the box it was originally trained to work on, and then take control at a certain point in the action sequence and continue the training from that point. One conclusion from this analysis is that an animated representation does not support editing very well. This requires a static representation that is real time independent. It is can also be difficult to get a picture of what a program does and to get an overview of a program. Animation maps well to dynamic behaviour, but is less suited to give an overall view. While it can be clarifying to watch the program work, it is also the case that this requires the programmer to remember the behaviour of the program. In a sense, an animated representation vanishes as it is observed, it is consumed by the passing time. There is no persistent view available to the programmer in the form of an external representation that helps her to maintain a mental model of the program. The paradox of immediateness and ungraspability appears to be generic for representations that are experienced in real time, like film and music (note that a music score is represented in a static form, and that the musician transforms the static score to dynamic tones). 4. A static representation for ToonTalk A robot editor based on storyboards has been suggested for ToonTalk (Kahn 1996b, p. 15). A storyboard consists of a sequence of static pictures that shows the key frames of a movie. Storyboards are commonly used in both movies and animated films to plan the structure of a scene prior to shooting. The purpose of a storyboard is not only to be a diagram of events, it should, more importantly, communicate the experience and reflect the feeling of a sequence (Thomas & Johnston 1981, p. 197). Comics add several dimensions to storyboards. The visual language of comics is intended for a static medium, not an animated one, and has therefore developed a rich set of visual elements that express dynamics and time. One of the most basic devices for expressing time is shared with the storyboard, a sequence of panels or frames (Eisner 1985, p. 28). When we learn to read comics we learn to perceive time and space spatially, time and space become one and the same (McCloud 1993, p. 100). Thus, comics can be thought of as spatial time. In addition to the frame, comics employ a rich set of graphical markers for indicating dynamics. A primary device for capturing speech and sound is the voice balloon. Other examples are markers for motion and emotions. Speed lines are a common type of motion markers (McCloud 1993, p ). Interestingly, elements such as speed lines are now also found in animated cartoons, for instance in Dennis the Menace. Comics also employ many animation techniques such as squash and stretch, anticipation and exaggeration (Thomas & Johnston 1981, pp ). Thus, there is a strong relationship between comics and animation, and there is a two-way influence between the two art forms. 6

7 The similarities between animations and comics suggest that comic strips are a candidate for a static representation of ToonTalk programs. In figures 5-7 examples of comic strip representations for the Add 1 robot are shown. Only the most basic element of comics has been used in the above examples, the framing of time. The graphics for frames are intended to resemble that of boxes. Additional graphical language elements like motion markers could also be used, but this is not shown in these examples. Figure 5. This strip corresponds to the training sequence of the Add 1 robot shown in figure 2. Frame three contains an intermediate step that shows the mouse adding the numbers with his hammer. Figure 6. This is a shorter version of the previous strip. Here the frame showing the intermediate step of the mouse adding the numbers has been removed. Figure 7. The shortest possible strip for the Add 1 robot. In this strip only the start and end states are shown. This could be useful as a compact representation of the result of a robot s actions. The following is a usability analysis of the comic strip representation, using the same usability issues as for the analysis of the animated representation. 7

8 Understanding. To find out what a program does, the programmer has to examine the strip that describes the sequence of actions. The static representation and the actual behaviour are not identical, and therefore the programmer must visualise the program behaviour inside her mind. The strip provides good support for doing this, but it is less immediate than the animated representation. The static representation does not help the programmer to gain an understanding the computation model in the same direct way as the animated representation does. However, if the programmer is familiar with the computation model, she might be able understand the program at a glance, which can be significantly less time than it takes to watch the corresponding animation. It is possible for the programmer to examine the strip independent of any real time constraints, as she can go back and forth in the sequence at her own pace. The static representation also supports an external overall view of the program that in the case of the animated representation must be created as an internal representation in the mind. Creating. To create a program using the static representation the programmer would have to edit the strip and place objects such as boxes and numbers in the frames. Since the program is not created by demonstration, the programmer would not be able to see the effects of the actions in the same direct way as when programming with the animated representation. However, programming by demonstration could be used also with the comic strip representation. Each step (frame) in the computation could for instance be executed locally when the frame is composed, and the system could also generate a template for the next frame that contains the result of the current step in the computation. There is also the possibility of recording the action by demonstration entirely, and view and edit it in the comic strip form. This can be compared to algorithm visualisation, however, the relation between the representations is reversed, as the static representation is used to give an overview of the animated representation. Debugging. The comic strip representation could be used to visualise an executing program by showing how the content of a box is changed from frame to frame. The frame currently executed could be highlighted. While this is not strictly a static representation since it changes over time, the programmer could be in control of the speed of execution and she could also go back in time. This control could of course also be used for the animated representation, and recent versions of ToonTalk have support for time travel. Editing. Editing would be done in the same way as programs are created, by arranging objects in frames. To edit the frames and the contents of the frames, the usual box editing operations of ToonTalk could be used, for instance the vacuum for copy and paste, the magic wand for copying, the mouse for composition, and so on. Note that we have not detailed the use of these in this paper. To conclude the above analysis, it seems as if the major functions provided by the comic strip representation are overview and edit. Since many advantages of the animated representation is lost, such as programming by demonstration and debugging by slow execution, it seems reasonable to view the static representation as a complement in the case of ToonTalk. For instance, programs could be created and debugged using the animated representation, and the static representation 8

9 could then be generated by the system to provide overview and additional editing capabilities. A technical issue is how to slice an animation into strips frames. What should be included in each frame? The examples above show that the number of intermediate steps between atomic actions can vary. An often discussed issue in visual programming is the use of screen space. Visual representations can require a large display to be comprehensible. An advantage with animated representations is that they are consistent in the use of screen space. A long animation does not automatically use more screen space than a short one. The opposite holds for static representations. A long comic strip uses more screen space than a short one. There are, however, interface techniques for managing space. In ToonTalk objective zoom is frequently used. (Objective zoom means changing the size of objects, rather than the position of the viewer, as in subjective zoom.) This zooming technique could also be used with comic strips. Only the strips currently of interest need to be picked up and enlarged. 5. Discussion Comics are interesting with respect to programming, because a static program representation is needed to edit a program in a straightforward way. A comic strip is like frozen time laid out on a format that provides an overview and helps creating a mental model of the sequence of events. Comics share many properties with the animated representation of ToonTalk. The visual language is well suited to express dynamics, it is concrete, it is well known by the user group (children), and it is also fairly universal and standardised. This can be contrasted to formalism such as flow charts and data flow diagrams that are rather abstract and lack elements such as concrete objects and characters. Graphical re-write rules are similar to comic strips in that they also use frames that contain concrete objects to show the computation state. The StageCast system is an example of how programming by demonstration can be combined with a static program representation (Smith et al. 2000). However, the authors make no reference to the visual language of comics. As has been show, comic strips that use ToonTalk computation objects can also express programs in the concurrent constraint computation model, a more powerful and expressive computation model than graphical re-write rules. To learn more about the properties of static and dynamic program representation, empirical studies must be made. Here are a number of things that could be tested together with children: Show programs in the suggested comic strip representation to children and ask them what the program will do. Show strips of varying length to children and ask what the program will do. How much can be eliminated from the strip while retaining understandability? Show a program that consists of many strips and ask what the program will do. (Multiple strips could be evaluated for instance by trying the guard frames sequentially, or non-deterministically.) 9

10 Show an animated program to children and ask them to draw strips that describe the program they have seen. Ask children to create simulated programs by composing strips using objects cut out from paper. References Burnett, Margaret. (2000) Visual Programming Language Bibliography. Available at: August, Eisner, Will. (1985) Comics & Sequential Art. Poorhouse Press, Florida. Janson, Sverker and Haridi, Seif. (1993) An Introduction to AKL. A Multi- Paradigm Programming Language. Swedish Institute of Computer Science, December, Available at: Kahn, Ken. (1995) ToonTalk An Animated Programming Environment for Children. Available at: Kahn, Ken. (1996). Drawings on Napkins, Video Game Animation, and other ways of Programming Computers. Communications of the ACM. August, Available at: Kahn, Ken. (2000). Generalizing by Removing Detail. Communications of the ACM. Vol. 43, No. 3, pp March, McCloud, Scott. (1993). Understanding Comics, The Invisible Art. HarperCollins Publishers. New York. Nardi, Bonnie A. (1993). A small Matter of Programming. The MIT Press. Cambridge, Massachusetts. Nielsen, Jacob. (2000). Heuristic Evaluation. Available at: September, Smith, D. C., Cypher, A., Tesler, L. (2000). Novice Programming Comes of Age. Communications of the ACM. Vol. 43, No. 3, pp March, Thomas, Frank and Johnston, Ollie. (1981). Disney Animation, The Illusion of Life. Abbeville Press. New York. 10

This is followed by two pages of discussion of the art form with downloadable activities spanning in level from beginners to advanced students:

This is followed by two pages of discussion of the art form with downloadable activities spanning in level from beginners to advanced students: ANIMATION.... Animation is the process where artificial movement is created by photographing a series of pictures, objects or computer images one by one. When played back, small changes in position between

More information

Comic Strip Programs: Beyond Graphical Rewrite Rules

Comic Strip Programs: Beyond Graphical Rewrite Rules Comic Strip Programs: Beyond Graphical Rewrite Rules Mikael Kindborg and Kevin McGee Department of Computer and Information Science Linköping University, S-58183 Linköping, Sweden {mikki, kevmc}@ida.liu.se

More information

1A.3: Seeing the Principles of Animation at Work

1A.3: Seeing the Principles of Animation at Work 1A.3: Seeing the Principles of Animation at Work 1. Show students a movie clip. Tell students that now they will learn more about the basic principles of animation. Give students Handout 3: Principles

More information

Lesson Plan. Performance Objective: Upon completion of this assignment, the student will be able to identify the Twelve Principles of Animation.

Lesson Plan. Performance Objective: Upon completion of this assignment, the student will be able to identify the Twelve Principles of Animation. Lesson Plan Course Title: Animation Session Title: The Twelve Principles of Animation Lesson Duration: Approximately two 90-minute class periods Day One View and discuss The Twelve Principles of Animation

More information

Children surpassing key skills. achieve key skills. Computing Progression in Skills Key Stage One

Children surpassing key skills. achieve key skills. Computing Progression in Skills Key Stage One Computing Progression in Skills Key Stage One Name of Unit and Linked Skills Year 1: Using Programmable Toys and Tools to Understand Algorithms Create and follow instructions (algorithms) to navigate other

More information

Teaching Methodology for 3D Animation

Teaching Methodology for 3D Animation Abstract The field of 3d animation has addressed design processes and work practices in the design disciplines for in recent years. There are good reasons for considering the development of systematic

More information

Business Process Models as Design Artefacts in ERP Development

Business Process Models as Design Artefacts in ERP Development Business Process Models as Design Artefacts in ERP Development Signe Ellegaard Borch IT University of Copenhagen, Rued Langgaards Vej 7, 2300 København S, Denmark elleborch@itu.dk Abstract. Adequate design

More information

The Computing Curriculum at Coston Primary

The Computing Curriculum at Coston Primary Years Year 1 Year 2 1 and 2 Autumn We are learning about programming and computational thinking and in We are learning about programming and computational thinking and in Year 1 Food and farming Year 2

More information

Metaphor Design. Case Study of an Animated Programming Environment

Metaphor Design. Case Study of an Animated Programming Environment Metaphor Design Case Study of an Animated Programming Environment Abstract This paper was published in the proceedings of the 1995 Computer Game Developer Conference April, 1995, Santa Clara, California

More information

The Art of Creating Emotional and Robust Interactive Characters

The Art of Creating Emotional and Robust Interactive Characters The Art of Creating Emotional and Robust Interactive Characters W. Scott Reilly School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213-3891 scott.reilly@cs.cmu.edu 1. Introduction Creating

More information

What is Multimedia? Derived from the word Multi and Media

What is Multimedia? Derived from the word Multi and Media What is Multimedia? Derived from the word Multi and Media Multi Many, Multiple, Media Tools that is used to represent or do a certain things, delivery medium, a form of mass communication newspaper, magazine

More information

Visualization. Program visualization

Visualization. Program visualization Visualization Program visualization Debugging programs without the aid of support tools can be extremely difficult. See My Hairest Bug War Stories, Marc Eisenstadt, Communications of the ACM, Vol 40, No

More information

New Media production week 9

New Media production week 9 New Media production week 9 How to Make an Digital Animation poonpong@gmail.com Hardware PC or Mac with high resolution graphics and lots of RAM Peripherals such as graphics tablet Digital Camera (2D,

More information

Animation. The Twelve Principles of Animation

Animation. The Twelve Principles of Animation Animation The Twelve Principles of Animation Image 01. Public Domain. 1 Principles of Animation Image 02. Public Domain. In their book, The Illusion of Life, Ollie Johnston and Frank Thomas present the

More information

Fundamentals of Computer Animation

Fundamentals of Computer Animation Fundamentals of Computer Animation Principles of Traditional Animation How to create maximum impact page 1 How to create maximum impact Early animators worked from scratch to analyze and improve upon silence

More information

MODELING AND ANIMATION

MODELING AND ANIMATION UNIVERSITY OF CALICUT SCHOOL OF DISTANCE EDUCATION B M M C (2011 Admission Onwards) VI Semester Core Course MODELING AND ANIMATION QUESTION BANK 1. 2D Animation a) Wire Frame b) More than two Dimension

More information

Model Answers. A good answer of the questions from 2 to 8 should contain the belowmentioned

Model Answers. A good answer of the questions from 2 to 8 should contain the belowmentioned Model Answers Course: BA (Mass Communication) Semester: V Paper: Computer Application in Mass Media Subject Code: AS-2753 1. Objective type questions: Answer key: A. (III) Super Computers B. (III) Microsoft

More information

Principles of Animation. By: G. Gonzalez

Principles of Animation. By: G. Gonzalez Principles of Animation By: G. Gonzalez Animation 0 Animation refers to the rapid display of a sequence of images in order to create an optical illusion of movement. The optical illusion of movement is

More information

Animation. Presented by Sancho McCann

Animation. Presented by Sancho McCann Animation Presented by Sancho McCann Animation Is animation useful? Why? Principles of animation Principles applied Animation: can it facilitate? Does animation help the understanding of changes over time?

More information

COURSE OUTLINE. Course Number Course Title Credits DMA135 Digital Narrative 3. Pre-requisites DMA 105 or divisional permission

COURSE OUTLINE. Course Number Course Title Credits DMA135 Digital Narrative 3. Pre-requisites DMA 105 or divisional permission COURSE OUTLINE Course Number Course Title Credits DMA135 Digital Narrative 3 Hours: lecture/lab/other (1/4) Catalog description: Pre-requisites DMA 105 or divisional permission Implementation Fall 2013

More information

Unit: At the movies. Musical focus: Composition Subject link: English 9-10 AGE. Click here to view the plans:

Unit: At the movies. Musical focus: Composition Subject link: English 9-10 AGE. Click here to view the plans: The children explore movie music in this unit from 1920s animated films to present day movies. They learn techniques for creating soundtracks and film scores, and compose their own movie music. Click here

More information

Computer Animation. CS 445/645 Fall 2001

Computer Animation. CS 445/645 Fall 2001 Computer Animation CS 445/645 Fall 2001 Let s talk about computer animation Must generate 30 frames per second of animation (24 fps for film) Issues to consider: Is the goal to replace or augment the artist?

More information

[Contemporary Video Game Design.] Challenges in Visualization Interaction and Simulation

[Contemporary Video Game Design.] Challenges in Visualization Interaction and Simulation [Contemporary Video Game Design.] Challenges in Visualization Interaction and Simulation [Andrew Nealen.] Department of Computer Science Rutgers University [Talk. Origins.] 2 years (= 3 classes) of teaching

More information

CHAPTER 6 TEXTURE ANIMATION

CHAPTER 6 TEXTURE ANIMATION CHAPTER 6 TEXTURE ANIMATION 6.1. INTRODUCTION Animation is the creating of a timed sequence or series of graphic images or frames together to give the appearance of continuous movement. A collection of

More information

EDIT202 PowerPoint Lab Prep Sheet

EDIT202 PowerPoint Lab Prep Sheet EDIT202 PowerPoint Lab Prep Sheet It may seem that the only use of PowerPoint in the classroom would be to give presentations regarding course content. However by incorporating PowerPoint into larger projects,

More information

Animation-Based Explanation of Basic Data Communication Principles

Animation-Based Explanation of Basic Data Communication Principles Animation-Based Explanation of Basic Data Communication Principles Author: Drago Hercog, University of Ljubljana, Faculty of Electrical Engineering, Tr_a_ka 25, SI-1000, Ljubljana, Slovenia, Drago.Hercog@fe.uni-lj.si

More information

COMP 150-04 Visualization. Lecture 15 Animation

COMP 150-04 Visualization. Lecture 15 Animation COMP 150-04 Visualization Lecture 15 Animation History of animation The function of animation Illustrate steps of a complex process Illustrate cause and effect, context Show trends over time, tell a story

More information

WORKSHOPS FOR PRIMARY SCHOOLS

WORKSHOPS FOR PRIMARY SCHOOLS WORKSHOPS FOR PRIMARY SCHOOLS Note: Times and prices will be amended where possible to suit school schedules. MEDIA ARTS MAKE-A-MOVIE WORKSHOP In this practical, hands-on course, students learn the step-by-step

More information

Narcissus: Visualising Information

Narcissus: Visualising Information Narcissus: Visualising Information R.J.Hendley, N.S.Drew, A.M.Wood & R.Beale School of Computer Science University of Birmingham, B15 2TT, UK {R.J.Hendley, N.S.Drew, A.M.Wood, R.Beale}@cs.bham.ac.uk Abstract

More information

Seeing Systolic Computations in a Video Game World

Seeing Systolic Computations in a Video Game World Seeing Systolic Computations in a Video Game World Ken Kahn A paper submitted to VL 96: IEEE Symposium on Visual Languages, February 12, 1996 (Published September 1996 version not available) Animated Programs

More information

SignalDraw: GUI Tool For Generating Pulse Sequences

SignalDraw: GUI Tool For Generating Pulse Sequences SignalDraw: GUI Tool For Generating Pulse Sequences Konstantin Berlin Department of Computer Science University of Maryland College Park, MD 20742 kberlin@cs.umd.edu December 9, 2005 Abstract Generating

More information

If there are any questions, students are encouraged to email or call the instructor for further clarification.

If there are any questions, students are encouraged to email or call the instructor for further clarification. Course Outline 3D Maya Animation/2015 animcareerpro.com Course Description: 3D Maya Animation incorporates four sections Basics, Body Mechanics, Acting and Advanced Dialogue. Basic to advanced software

More information

GSPIM: Graphical Visualization Tool for MIPS Assembly

GSPIM: Graphical Visualization Tool for MIPS Assembly GSPIM: Graphical Visualization Tool for MIPS Assembly Programming and Simulation Patrick Borunda Science University of Arizona pborunda@u.arizona.edu Chris Brewer Science University of Arizona brewer@u.arizona.edu

More information

Names a single, identifiable, and reasonably atomic behavior of the system or part of the system.

Names a single, identifiable, and reasonably atomic behavior of the system or part of the system. Packages are discussed in Chapter 12. As your models get bigger, you will find that many use cases tend to cluster together in groups that are conceptually and semantically related. In the UML, you can

More information

Salt Lake City School District Student Learning Objectives (SLOs) Writing Template

Salt Lake City School District Student Learning Objectives (SLOs) Writing Template This SLCSD SLO Writing Template is to be used by educators writing SLOs as a measure of student growth for educator evaluation. Course/Grade Level Information Course name 3D Animation Brief course description

More information

CERTIFICATE COURSE IN WEB DESIGNING

CERTIFICATE COURSE IN WEB DESIGNING CERTIFICATE COURSE IN WEB DESIGNING REGULATIONS AND SYLLABUS FOR CERTIFICATE COURSE IN WEB DESIGNING OFFERED BY BHARATHIAR UNIVERSITY,COIMBATORE FROM 2008-2009 UNDER THE UNIVERSITY INDUSTRY INTERACTION

More information

Animation Overview of the Industry Arts, AV, Technology, and Communication. Lesson Plan

Animation Overview of the Industry Arts, AV, Technology, and Communication. Lesson Plan Animation Overview of the Industry Arts, AV, Technology, and Communication Lesson Plan Performance Objective Upon completion of this assignment, the student will have a better understanding of career and

More information

Visual Storytelling, Shot Styles and Composition

Visual Storytelling, Shot Styles and Composition Pre-Production 1.2 Visual Storytelling, Shot Styles and Composition Objectives: Students will know/be able to >> Understand the role of shot styles, camera movement, and composition in telling a story

More information

Two teams per chapter, three per state. Minimum of 2 students per team Students who excel in the following:

Two teams per chapter, three per state. Minimum of 2 students per team Students who excel in the following: Middle School Level Who? Two teams per chapter, three per state. Minimum of 2 students per team Students who excel in the following: Art Math Science Technology All members of the team should divide the

More information

Linear Motion and Assembly Technologies Pneumatics Service. Understanding the IEC61131-3 Programming Languages

Linear Motion and Assembly Technologies Pneumatics Service. Understanding the IEC61131-3 Programming Languages Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies Pneumatics Service profile Drive & Control Understanding the IEC61131-3 Programming Languages It was about 120 years ago

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7, No. 4, May-June 2008 First Person Shooter Game Rex Cason II Erik Larson

More information

Republic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation.

Republic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation. Republic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation Module Curriculum This document addresses the content related abilities, with reference

More information

Programming can be as easy as child s play.

Programming can be as easy as child s play. Ken Kahn Drawings on Napkins, Video-Game Animation,and Other Ways to Program Computers Programming can be as easy as child s play. PROGRAMMERS usually type characters on a keyboard to enter, test, and

More information

Digital Video-Editing Programs

Digital Video-Editing Programs Digital Video-Editing Programs Digital video-editing software gives you ready access to all your digital video clips. Courtesy Harold Olejarz. enable you to produce broadcastquality video on classroom

More information

Proposal for a Virtual 3D World Map

Proposal for a Virtual 3D World Map Proposal for a Virtual 3D World Map Kostas Terzidis University of California at Los Angeles School of Arts and Architecture Los Angeles CA 90095-1467 ABSTRACT The development of a VRML scheme of a 3D world

More information

SYLLABUS AND COURSE OUTLINE FOR INTRO ANIMATION 181A Summer Institute

SYLLABUS AND COURSE OUTLINE FOR INTRO ANIMATION 181A Summer Institute SYLLABUS AND COURSE OUTLINE FOR INTRO ANIMATION 181A Summer Institute Professor: Doug Ward Office: Melnitz 2483 Office Hours: Tues. 1:00 3:50. LECTURE: Mon & Wed. 10:00-12:50 LAB: Mon 1:00 3:50, Wed. 1:00

More information

George G. Robertson Principal Researcher Microsoft Corporation

George G. Robertson Principal Researcher Microsoft Corporation George G. Robertson Principal Researcher Microsoft Corporation Attention Object Constancy Causality Engagement Calibration Helps? direct attention change tracking narrative increase interest Hurts? Distraction

More information

ToonTalk and Logo. Ken Kahn

ToonTalk and Logo. Ken Kahn ToonTalk and Logo Is ToonTalk a colleague, competitor, successor, sibling, or child of Logo? Abstract Ken Kahn Animated Programs, President 49 Fay Avenue San Carlos, CA 94070 KenKahn@ToonTalk.com The answer

More information

Game Development. What is a game?

Game Development. What is a game? Game Development Doron Nussbaum COMP 3501 - Game Development 1 What is a game? Doron Nussbaum COMP 3501 - Game Development 2 Books/Movie vs. Game Good books have Place Era Plot Characters Relationships

More information

8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION

8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION - 1-8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION 8.1 Introduction 8.1.1 Summary introduction The first part of this section gives a brief overview of some of the different uses of expert systems

More information

Every Footstep Counts Film Competition Toolkit #2: Storytelling

Every Footstep Counts Film Competition Toolkit #2: Storytelling Every Footstep Counts Film Competition Toolkit #2: Storytelling 1 Toolkit Context This guide explains principles of storytelling and provides technical guidance on how to film a video. Its intention is

More information

Chapter 12. Introduction. Introduction. User Documentation and Online Help

Chapter 12. Introduction. Introduction. User Documentation and Online Help Chapter 12 User Documentation and Online Help Introduction When it comes to learning about computer systems many people experience anxiety, frustration, and disappointment Even though increasing attention

More information

Develop Computer Animation

Develop Computer Animation Name: Block: A. Introduction 1. Animation simulation of movement created by rapidly displaying images or frames. Relies on persistence of vision the way our eyes retain images for a split second longer

More information

Getting Started with Scratch

Getting Started with Scratch Getting Started with Scratch a guide to designing introductory Scratch workshops draft version, september 2009 Overview There s no one way to host a Scratch workshop. Workshops can take on a variety of

More information

Computer Animation and Visualisation. Lecture 1. Introduction

Computer Animation and Visualisation. Lecture 1. Introduction Computer Animation and Visualisation Lecture 1 Introduction 1 Today s topics Overview of the lecture Introduction to Computer Animation Introduction to Visualisation 2 Introduction (PhD in Tokyo, 2000,

More information

SCHOOL HOLIDAY PROGRAMME - APRIL / MAY 2014

SCHOOL HOLIDAY PROGRAMME - APRIL / MAY 2014 PAGE - 1 SCHOOL HOLIDAY PROGRAMME - APRIL / MAY 2014 The Mind Lab has an exciting choice of programme options for the upcoming School Holidays. There has never been a more important time in the history

More information

The 3D rendering pipeline (our version for this class)

The 3D rendering pipeline (our version for this class) The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in camera coordinates Pixels in image coordinates Scene graph Camera Rasterization

More information

Wilson Area School District Planned Course Guide

Wilson Area School District Planned Course Guide Wilson Area School District Planned Course Guide Title of planned course: Introduction to Computer Programming Subject Area: Business Grade Level: 9-12 Course Description: In this course, students are

More information

A Study of Immersive Game Contents System Design and Modeling for Virtual Reality Technology

A Study of Immersive Game Contents System Design and Modeling for Virtual Reality Technology , pp.411-418 http://dx.doi.org/10.14257/ijca.2014.7.10.38 A Study of Immersive Game Contents System Design and Modeling for Virtual Reality Technology Jung-Yoon Kim 1 and SangHun Nam 2 1 Graduate School

More information

Program Visualization for Programming Education Case of Jeliot 3

Program Visualization for Programming Education Case of Jeliot 3 Program Visualization for Programming Education Case of Jeliot 3 Roman Bednarik, Andrés Moreno, Niko Myller Department of Computer Science University of Joensuu firstname.lastname@cs.joensuu.fi Abstract:

More information

Computer Animation and Visualisation. Lecture 1. Introduction

Computer Animation and Visualisation. Lecture 1. Introduction Computer Animation and Visualisation Lecture 1 Introduction 1 Today s topics Overview of the lecture Introduction to Computer Animation Introduction to Visualisation 2 Introduction (PhD in Tokyo, 2000,

More information

Understanding the IEC61131-3 Programming Languages

Understanding the IEC61131-3 Programming Languages profile Drive & Control Technical Article Understanding the IEC61131-3 Programming Languages It was about 120 years ago when Mark Twain used the phrase more than one way to skin a cat. In the world of

More information

Information Technology Cluster

Information Technology Cluster Web and Digital Communications Pathway Information Technology Cluster 3D Animator This major prepares students to utilize animation skills to develop products for the Web, mobile devices, computer games,

More information

Preface to the Second Edition

Preface to the Second Edition Preface to the Second Edition The positive feedback to the first edition of the book and various encouraging requests to extend the list of topics contained in the book have led to this second edition.

More information

Game Engineering. Dennis Dedaj Department Informatik HAW Hamburg 20. Mai 2008

Game Engineering. Dennis Dedaj Department Informatik HAW Hamburg 20. Mai 2008 Game Engineering Dennis Dedaj Department Informatik HAW Hamburg 20. Mai 2008 Agenda Motivation What is Game Design? Roles What is Game Engineering? Genres Action Games Conclusion Perspective Motivation

More information

Planning Your Site. Roadmap Series. Issue 5. Prepared by Joseph Lowery 4-6-09

Planning Your Site. Roadmap Series. Issue 5. Prepared by Joseph Lowery 4-6-09 Planning Your Site Prepared by Joseph Lowery 4-6-09 Excerpt from the Dreamweaver 8 Bible by Joseph Lowery, published by Wiley Publishing, Inc. Produced by Joseph Lowery i Planning Your Site Planning in

More information

Game Design Document and Production Timeline. John Laird and Sugih Jamin University of Michigan

Game Design Document and Production Timeline. John Laird and Sugih Jamin University of Michigan Game Design Document and Production Timeline John Laird and Sugih Jamin University of Michigan Game Production Timeline Inspiration (1 month) Results in game treatment/concept paper Conceptualization (3-5

More information

Diploma/BA (Hons) Digital Arts - GI401

Diploma/BA (Hons) Digital Arts - GI401 Diploma/BA (Hons) Digital Arts - GI401 1. Specific Title BA (Hons) Digital Arts with Specialisation in Animation / Multimedia 2. Objectives The programme is designed to provide opportunities to students

More information

Chapter 1. Animation. 1.1 Computer animation

Chapter 1. Animation. 1.1 Computer animation Chapter 1 Animation "Animation can explain whatever the mind of man can conceive. This facility makes it the most versatile and explicit means of communication yet devised for quick mass appreciation."

More information

1. Get to know the SCRATCH Work Space:

1. Get to know the SCRATCH Work Space: 1. Get to know the SCRATCH Work Space: iquest Lesson http://www.csusm.edu/iquest - NSF Project Award Number: 0833753 Scratch 1 2. Click Control Drag When green flag is clicked. Always start every new script

More information

TDDC88 Lab 2 Unified Modeling Language (UML)

TDDC88 Lab 2 Unified Modeling Language (UML) TDDC88 Lab 2 Unified Modeling Language (UML) Introduction What is UML? Unified Modeling Language (UML) is a collection of graphical notations, which are defined using a single meta-model. UML can be used

More information

START TEACHER'S GUIDE

START TEACHER'S GUIDE START TEACHER'S GUIDE Introduction A complete summary of the GAME:IT Junior curriculum. Welcome to STEM Fuse's GAME:IT Junior Course Whether GAME:IT Junior is being taught as an introductory technology

More information

Lesson 3: Behind the Scenes with Production

Lesson 3: Behind the Scenes with Production Lesson 3: Behind the Scenes with Production Overview: Being in production is the second phase of the production process and involves everything that happens from the first shot to the final wrap. In this

More information

Hermes: Generic Designs for Mobile, Context-Aware Trails-Based Applications

Hermes: Generic Designs for Mobile, Context-Aware Trails-Based Applications Hermes: Generic Designs for Mobile, Context-Aware Trails-Based Applications Cormac Driver Siobhán Clarke Distributed Systems Group, Computer Science Department Trinity College Dublin, Ireland {Cormac.Driver,

More information

Understand career planning in a digital media environment.

Understand career planning in a digital media environment. Objec&ve 201.01 Understand career planning in a digital media environment. Course Weight : 5% 1 Careers in Digital Media Skills and knowledge in the digital media field can be applied to a wide variety

More information

Activity 2. Activity 3

Activity 2. Activity 3 WORKSHEET 1 E.T. TURNS 20 E.T. is a story of a lost little visitor from another planet who makes friends with a young boy called Elliot. Together they find a way to return the young alien home. The film

More information

WSOA 3001 - Introduction to Principles of Animation Course Outline 2013

WSOA 3001 - Introduction to Principles of Animation Course Outline 2013 WSOA 3001 - Introduction to Principles of Animation Course Outline 2013 Lecturer: Charl Smit Contact Details: 082 68 75 306 Email: tapertiltpo@gmail.com Venue: The New Lab and Seminar Room. Class Times:

More information

Making a Video Year Six

Making a Video Year Six Making a Video Year Six Unit Overview This children introduces the idea of using photos and videos within a multimedia presentation. Children will cover: - Using a digital camera to take photographs and

More information

Peggy Southerland Coordinator, Animation Department Regent University

Peggy Southerland Coordinator, Animation Department Regent University Peggy Southerland Coordinator, Animation Department Regent University What can you do with an Animation Degree? What can you do with an Animation Degree? 1. Product Commercials What can you do with an

More information

Reading. 16. Animation principles. Character animation. Animation Principles

Reading. 16. Animation principles. Character animation. Animation Principles Reading Required: 16. Animation principles John Lasseter. Principles of traditional animation applied to 3D computer animation. Proceedings of SIGGRAPH (Computer Graphics) 21(4): 35-44, July 1987. Recommended:

More information

White Paper: Designing Resourceful Graphical User Interfaces (GUIs) for Healthcare Applications

White Paper: Designing Resourceful Graphical User Interfaces (GUIs) for Healthcare Applications Accelerate Development Reduce Time to Product Automate Critical Tasks White Paper: Designing Resourceful Graphical User Interfaces (GUIs) for Healthcare Applications The ASHVINS GROUP, Inc. 6161 Blue Lagoon

More information

APPLICATION OF A SALES-TOOL FOR AN OPTIMIZED TENDER PREPARATION IN SMALL AND MEDIUM-SIZED COMPANIES

APPLICATION OF A SALES-TOOL FOR AN OPTIMIZED TENDER PREPARATION IN SMALL AND MEDIUM-SIZED COMPANIES URN (Paper): urn:nbn:de:gbv:ilm1-2011iwk-014:9 56 TH INTERNATIONAL SCIENTIFIC COLLOQUIUM Ilmenau University of Technology, 12 16 September 2011 URN: urn:nbn:gbv:ilm1-2011iwk:5 APPLICATION OF A SALES-TOOL

More information

Outline. Animation. 1. Squash and Stretch. Overview: Traditional Animation. Squash and Stretch Cont. 2. Timing and Motion

Outline. Animation. 1. Squash and Stretch. Overview: Traditional Animation. Squash and Stretch Cont. 2. Timing and Motion Outline Animation Presented By Timothy Chan 1. Principles of Traditional Animation Applied to Computer Animation (Lasseter, 1987) 2. Animation: Can it facilitate? (Tversky and Morrison, 2002) 3. On Creating

More information

Create a digital story with stop-motion animation

Create a digital story with stop-motion animation Step-by-Step Guide Create a digital story with stop-motion animation Armed with nothing but a digital camera and Adobe Photoshop CS6, you can tell a story by producing, directing, and editing your own

More information

Clover: Connecting Technology and Character Education Using Personally-Constructed Animated Vignettes

Clover: Connecting Technology and Character Education Using Personally-Constructed Animated Vignettes Clover: Connecting Technology and Character Education Using Personally-Constructed Animated Vignettes Brian P. Bailey*, Sharon Y. Tettegah, and Terry J. Bradley* Department of Computer Science* and Curriculum

More information

CHAPTER 6 : Part 1 INTRODUCTION TO MULTIMEDIA. UNIVERSITI TENAGA NASIONAL Generates Professionals

CHAPTER 6 : Part 1 INTRODUCTION TO MULTIMEDIA. UNIVERSITI TENAGA NASIONAL Generates Professionals CHAPTER 6 : Part 1 INTRODUCTION TO MULTIMEDIA Module Objectives At the end of the module, students should be able to: Understand the fundamental concepts of multimedia Identify the characteristics of a

More information

Programming LEGO NXT Robots using NXC

Programming LEGO NXT Robots using NXC Programming LEGO NXT Robots using NXC This text programming language derived from C language is bended together with IDE BricxCC on standard firmware LEGO Mindstorms. This can be very convenient for those,

More information

game design skill cards

game design skill cards game design skill cards OVERVIEW FULL SCREEN CHANGE LANGUAGE RUN/STOP PROJECT If you are new to Scratch, click the right edge to expand the Help panel for tips and tutorials. STAGE HELP SCRIPTS SPRITES

More information

The main imovie window is divided into six major parts.

The main imovie window is divided into six major parts. The main imovie window is divided into six major parts. 1. Project Drag clips to the project area to create a timeline 2. Preview Window Displays a preview of your video 3. Toolbar Contains a variety of

More information

Advanced Diploma of Screen - 3D Animation and VFX (10343NAT)

Advanced Diploma of Screen - 3D Animation and VFX (10343NAT) The Academy of Interactive Entertainment 2013 Advanced Diploma of Screen - 3D Animation and VFX (10343NAT) Subject Listing Online Campus 0 Page Contents 3D Art Pipeline...2 Modelling, Texturing and Game

More information

An Iterative Usability Evaluation Procedure for Interactive Online Courses

An Iterative Usability Evaluation Procedure for Interactive Online Courses An Iterative Usability Evaluation Procedure for Interactive Online Courses by Laurie P. Dringus ABSTRACT The Internet and World Wide Web (W3) have afforded distance learners simple links to access information.

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Mobile Apps with App Inventor

Mobile Apps with App Inventor Mobile Apps with App Inventor written for 91.113 Michael Penta Table of Contents Mobile Apps... 4 Designing Apps in App Inventor... 4 Getting Started... 5 App Inventor Layout... 5 Your First App... 7 Making

More information

Gaming for Middle School Students: Building Virtual Worlds

Gaming for Middle School Students: Building Virtual Worlds Gaming for Middle School Students: Building Virtual Worlds CHARLES R. HARDNETT Spelman College Computer Science Department Atlanta, GA 30314 hardnett@spelman.edu ABSTRACT We can begin engaging new talented

More information

The Ideal Learning Management System for Multimedia Learning

The Ideal Learning Management System for Multimedia Learning The Ideal Learning Management System for Multimedia Learning By Gary Woodill, Ed.d., Senior Analyst Introduction Learning occurs in many different ways. We learn from listening to words, and to ambient

More information

Critique of Glass Case Vending Machines

Critique of Glass Case Vending Machines Critique of Glass Case Vending Machines By Keita Del Valle July 19, 2009 Photo from Vending Machines Unlimited Introduction This critique uses Donald Norman s 7 action steps (48) to evaluate the usability

More information

Competencies for Secondary Teachers: Computer Science, Grades 4-12

Competencies for Secondary Teachers: Computer Science, Grades 4-12 1. Computational Thinking CSTA: Comp. Thinking 1.1 The ability to use the basic steps in algorithmic problemsolving to design solutions (e.g., problem statement and exploration, examination of sample instances,

More information

March 5, 2010 Submission: Bridging Program for Bachelor of Applied Arts (Animation)

March 5, 2010 Submission: Bridging Program for Bachelor of Applied Arts (Animation) 1430 Trafalgar Road Oakville ON L6H 2L1 (905) 845-9430 March 5, 2010 Submission: Bridging Program for Bachelor of Applied Arts () Bachelor of Applied Arts () Appendix 5.2.3: Degree Completion Arrangements

More information

Software Requirements Specification

Software Requirements Specification Page 1 of 9 Software Requirements Specification Version 2.0 December 15, 2001 "Space Fractions" The Denominators (Team 10-2) Stephen Babin Gordon Brown Charles Browning Ingrid Chao Maggie Fang Roberto

More information

User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1

User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1 Objectives To suggest some general design principles for user interface design To explain different interaction

More information