Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Design Patterns wikipedia , lookup
Name mangling wikipedia , lookup
Class (computer programming) wikipedia , lookup
C Sharp syntax wikipedia , lookup
Java (programming language) wikipedia , lookup
Java ConcurrentMap wikipedia , lookup
Java performance wikipedia , lookup
Alice and The Introductory Programming Course: An Invitation to Dialogue Dan Goulet Don Slater Univ of Wis-Stevens Point [email protected] Carnegie Mellon University [email protected] Objectives Create a dialogue Alice as a teaching tool Innovative and effective ways Exhibit some ideas An approach to relate Alice features Teaching & learning requirement The Object-Oriented Paradigm Object-Oriented Paradigm World – collection of interacting object Object – realization of a class Class – template for creating objects Objects Know things Know how to do things Are assigned responsibilities, and when asked, carry out that responsibility Interact by passing messages Simple OOP’s implement a 3-tier architecture What is Alice? The Alice Software A 3D interactive animation environment A safe programming environment A program visualization tool A tool for teaching programming concepts The program state is visible to the student State changes are animated fundamental object oriented System developed at Carnegie Mellon Alice features Uses 3D graphics to engage students Has a “smart” drag-and-drop editor that prevents syntax errors Appeals to wide audience Storytelling (young women, minority students) Interactive computer games (young men) Alice Features Makes objects something students can see and relate to Has a java syntax mode to ease the transition to C++/Java/VB.net Storyboards “D kneels down to see if they were ok” Relating Alice Concepts to the Object-Oriented Environment of Java Making the Transition to Java The Basics Everything in Alice is an Object Objects are instantiated from the class Galleries provided in Alice Everything in Java is a Class Classes are designed and written by the Java programmer Objects are Instances of Classes Alice Realization Mapping into Java The Declaration & Instantiation Penguin joePenguin; joePenguin = new Penguin (); In The Penguin Class: public class Penguin() public Penguin () { } Objects Know Things Alice Realization Mapping into Java public class Penguin() /* Knows things */ private String color; private float opacity; private String vehicle = world; private String skinTexture; private String fillingStyle; private Boolean isShowing; Objects Know How to do Things Alice Realization Mapping into Java public class Penguin { /* Knows things */ Boolean isShowing = false; /* Knows how to do things */ /* set methods */ public void setIsShowing(Boolean, s) { isShowing = s;} /* custom methods */ /* glide method */ public void glide (){ penguin.move(char u, float d, float,t); penguin.turn(char f, float d, float t); penquin.head.turn(char b, float d, float t); penguin.move(char u, float,d); penquin.wing.flap(int n); } World is a Collection of Objects Alice Realization Mapping into Java /* Defining Classes */ pubic class Dragon; pubic class Castle; pubic class Princess; /* Instantiating Objects */ dragonTaxi = new Dragon; myCastle = new Castle; aPrincess = new Princess; Instruction to Start a Program In Alice: When the world starts, do ‘world.joePenquin knows how to do’ Method Editor: place instructions here In Java: Some class has to be identified with a ‘main’ method ‘main’: Java instructions Invitation to Dialogue