Learning to Program with Alice 2nd Semester February 13, 2008
What are you going to do? • You will be creating programs by dragging and dropping program elements (if/then statements, loops, variables, etc.) in a mouse-based editor that prohibits syntax error. • You don’t need to write code! The software will do that for you. So, you should not have any syntax errors. • Good thing about your programs is that you run Alice programs in a World Wide Web browser. So you can post your work to a Web page! • You will be able to create complex programs (say, 300 – 3,000 lines) by the end of the quarter/semester. Capstone Project Idea!
Chapter 1 – Getting Started with Alice Vocabulary Words: • Computer Programmer • Alice • Object(s) • Program • Documentation • Sequential processing • Conditional processing • Looping • Function • Object-oriented programming • Virtual World • 3D (three dimensional) models • Six Degrees of freedom • Center
Computer Programmer • A programmer or software developer is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. • A programmer's primary computer language (C, Java, C++, etc.).
Alice • It is software that will teach you to program a computer. • It allows you become a director of a movie, or the creator of a video game, where 3D objects in an on-screen virtual world move around according to the directions you give them. • It was named in honor of Charles Lutwidge Dodson. (Pen name was Lewis Carroll) • He wrote ‘Alice in Wonderland and Through the Looking Glass’.
Object(s) • Are things that you can actually see. • Some examples: • Person • Animal • Table • Chair
Program • A SET OF INSTRUCTIONS THAT TELL THE COMPUTER WHAT TO DO!
Documentation • Comments in the program, a web page for reference, or an accompanying written document that help another human being understand what you were trying to do.
Sequential processing • Running a single task to completion. • They are statements in a program that are executed one after the other in the order in which they are written. • Example:“Beat the eggs, mix in flour, sugar, and shortening, pour into baking pan, then bake at 375 degrees for 45 minutes” .
Conditional processing • Remember C++? • These are your if statements! • Example: ‘If it is raining, than take an umbrella’
Looping • This is a repeating behavior. • An action that is repeat over and over again until a condition turn false. • Example:‘As long as there are cookies on your plate, keep eating the cookies’
Function • Compute a result. • It is a question! • Example: ‘How much does the baby weigh? Or What is Rebecca’s phone number?’
Object-oriented programming • Is programming that uses "objects" and their interactions to design applications and computer programs.
Virtual World • A virtual world is a computer-based simulated environment intended for its users to inhabit and interact via avatars (is computer user's representation of himself or herself, whether in the form of a three-dimensional model used in computer games) the form of two or three-dimensional graphical representations of humanoids (or other graphical or text-based avatars). Most, but not all, virtual worlds allow for multiple users. • Is a video game or simulation implemented in 3D. • Using a virtual world lends a sense of reality to the simulator and increases its effectiveness.
3D models • Is like a blue print used to design a house. • The blue print provides a model of what the house will look like. • In Alice, 3D models tells Alice how to create a new object in the scene. • They provide instructions on how • to draw the object, • what color it should be, what parts it should have, its size (height, width, and depth). • They are located in Local Gallery and additional models can be found on www.alice.org
Six Degrees of freedom • The amounts to six possible directions in which an object may move. • An object has six degrees of freedom to move around in a world. • It’s the object possible direction of motion. • Up • Back • Right • Left • Forward • Down
Center • Each object in Alice has a unique “center”. • The center point of an object is at the center of its bounding box or as near to the center of mass as the graphic artist could determine. • The center point provides a reference for a pivot or spin type of movement. Center located between their feet
Storyboard • Is a design approach that is use to create a solution to a problem or plan a list of actions to perform a task. • At Pixar, Disney, animators break down a long scenario into sequences of many short scenarios. • A storyboard may consist of dozen of scene sketches. • Another example, play writers break down a play into individual acts and the acts into individual scenes.
Chapter 2 – Program Design and Implementation Vocabulary Words • Storyboard • Algorithm • Pseudocode • Syntax • Scenario • Snapshot • Textual Storyboard
Creating a program that animates objects in a Virtual World is a four-step process: • *Read the scenario (a description of the problem or task) • *Design (plan ahead) • Implement (write the program) • Test (see if it works)
Algorithm • Step-by-step solution to a problem or task. • A procedure for solving a problem. • Example: • Rise and Shine algorithm • Get out of bed • Take off pj’s • Take a shower • Get dressed • Eat breakfast • Carpool to work
Pseudocode • In an artificial and informal language that helps programmers develop algorithms. • Notes to one self. • Similar to everyday language. • User friendly.
Syntax • Statement structure and punctuation. • Format. • Remember: • If (condition) then statements;
Scenario • A description of the problem or task. • A scenario is a problem (or task) statement that describes the overall animation in terms of what problem is to be solved or what lesson is to be taught. • Gives all the necessary details in setting up the initial scene and then planning a sequence of instructions for the animation.
Scenario provides answers to the following questions: • What story is to be told? • What objects are needed? Some objects will play the leading role while some objects are the background. • What actions are to take place? These actions will eventually become the instructions in the program.
Snapshot • Each sketch is a representation or a snapshot of a scene in animation. • It is associated with objects in certain positions, colors, sizes, an poses. • They are numbered in sequence • They are label with necessary information.
Textural Storyboard • For the inpatient programmers! • Look like a ‘to-do-list’ • Allows us to prepare a planned structure for writing program code. • Example: • Do the following steps in order: • Alien moves up • Alien says, ‘Take me to your leader” • Robot’s head turns around • Etc.
Evaluate and revise! A good idea. Once the storyboard has been designed, it is a good idea to take an objective look to decide what might be changed. Ask the following questions: • Does the action flow from scene to scene, as the story unfolds? • Do any transitions need to be added to blend one scene to the next? • Did you overlook some essential part of the story? • Is there something about the story that should be changed?
Your Assignment! Lets Review! • Create a visual (see page 23) and a textual (see page 25) storyboard for each of the following scenarios: • A child’s game: Alice, the white rabbit, and the Cheshire cat enjoy a game of musical chairs in a tea party scene. One of the characters yells “switch” and they all run around the table to stand beside the next chair. After the switch, a chair is tipped over and the character standing next to it is eliminated from the game (moves away from the table).
Scene Number: 1 Description: Alice, the rabbit, Cheshire cat are waiting to play a game of musical chairs. Sound: None Text: None
Scene Number: 2 Description: Game starts! Alice calls out “switch” and they all run around the table to stand beside the next chair. Sound: None Text: Alice calls out “Switch”. Switch
Scene Number 3 Description: The characters have ran around the table and stand beside the chair. One chair is to be tipped over. (The Rabbit). Sound: None Text: None
Scene Number 4 You are out Rabbit! Description: A chair is tipped over and the character standing next to it is eliminated from the game and moves away from the table. Sound: None Text: Alice calls out, “You are out Rabbit!”
Your Assignment: Part One: • Page 47 Exercises: 1 b and 1 c. • Use the handouts! Part Two: Chinese New Year Project!
Chinese New Year Project Freshmen Visit: Thursday & Friday Let’s get ready!
Chinese New Year • Begins with the new cycle of the moon • Falls between January 21st to February 19th • Each year is named for one of 12 symbolic animals. • Celebrations last two weeks
Tradition: For Good Luck: • Decorated with • Colored lanterns • Floral Designs • Brightly colored banners with New Year greetings • Pay off debts • Add New coat of red paint to doors/windowpanes • Wear Red! But don’t buy an item to wear, you must get something red as a gift for good luck!
Traditions: • To Avoid Bad Luck, parents warn children : • To be of best behavior • Avoid the use of vulgar expressions.
The animals are: • Rat • Ox • Tiger • Hare • Dragon • Serpent • Horse • Ram • Monkey • Rooster • Dog • Boar
2008 is the Year of the Rat! Born in the Year of: 1924, 1936, 1948, 1960, 1972, 1984, 1996, and 2008. They are: • Intelligent • Charming • Ambitious • Often successful in business • Creative and clever • Stubborn • Selfish and greedy • Energetic • Great Organizers, plus much more.
The Year of the RAT! Love Life? • Best Matches are: • Dragon • Monkey • Ox • Avoid: • Sheep • Horse • Rabbit • Rooster
The Year of the Ram • Born in 1919, 1931, 1943, 1955, 1967, 1979, 1991, 2003, 2015, 2027, 2039, 2051 • You are: • Most likable • Gentle and calm • Tendar • Polite • Clever and kindhearted • Sensitive to art and beauty • Faith in a certain religion • Special fondness for quiet living, plus much more!
The Year of the SheepLove Life? • Best Matches: • Rabbit • Horse • Pig • Avoid: • Rat • Ox • Dog
The Year of the Monkey • Born in 1920, 1932, 1944, 1956, 1968, 1980, 1992, 2004, 2016, 2028, 2040, 2052 • You are: • Clever/compared to a smart person • Lively • Flexible • Versatile • Love moving and sports • Not like to be controlled • Show amazing creativity • Impatient and mouthy at times
The Year of the MonkeyLove Life? • Best Matches: • Rat • Dragon • Avoid: • Tiger • Snake • Pig
The Year of the Horse • Born in 1918, 1930, 1941, 1954, 1966, 1978, 1990, 2002, 2014, 2026, 2038, 2050 • You are: • Great communication skills • Want to be the limelight • Active • Clever • Kind to others • Like to join in a venture career • Superficial
The Year of the HorseLove Life? • Best Match: • Tiger • Sheep • Dog • Avoid: • Rat • Ox • Rabbit • Horse
The Year of the Snake • Born in 1917, 1929, 1941, 1953, 1965, 1977, 1989, 2001, 2013, 2015, 2037, 2049 • You are: • Good Temper • Skill of communicating • Jealous • Suspicious • Need to be cautious about discussion with others • Do well in housework • Irritable • Will enjoy happiness in old age
The Year of the SnakeLove Life? • Best Matches: • Ox • Rooster • Avoid: • Tiger • Monkey • Pig
Your Project! • Look at Handout! • Any questions? • Due date of project will be Tuesday, February 19th! • Any questions?