Presentation is loading. Please wait.

Presentation is loading. Please wait.

Alice and The Introductory Programming Course: An Invitation to Dialogue Dan GouletDon Slater Univ of Wis-Stevens PointCarnegie Mellon University

Similar presentations


Presentation on theme: "Alice and The Introductory Programming Course: An Invitation to Dialogue Dan GouletDon Slater Univ of Wis-Stevens PointCarnegie Mellon University"— Presentation transcript:

1 Alice and The Introductory Programming Course: An Invitation to Dialogue Dan GouletDon Slater Univ of Wis-Stevens PointCarnegie Mellon University

2 Objectives Create a dialogue Create a dialogue Alice as a teaching tool Alice as a teaching tool Innovative and effective ways Innovative and effective ways Exhibit some ideas Exhibit some ideas An approach to relate Alice features An approach to relate Alice features Teaching & learning requirement Teaching & learning requirement The Object-Oriented Paradigm The Object-Oriented Paradigm

3 Object-Oriented Paradigm World – collection of interacting object World – collection of interacting object Object – realization of a class Object – realization of a class Class – template for creating objects Class – template for creating objects Objects Objects Know things Know things Know how to do things Know how to do things Are assigned responsibilities, and when asked, carry out that responsibility Are assigned responsibilities, and when asked, carry out that responsibility Interact by passing messages Interact by passing messages Simple OOP’s implement a 3-tier architecture Simple OOP’s implement a 3-tier architecture

4 What is Alice?

5 The Alice Software A 3D interactive animation environment A 3D interactive animation environment A safe programming environment A safe programming environment A program visualization tool A program visualization tool The program state is visible to the student The program state is visible to the student State changes are animated State changes are animated A tool for teaching programming concepts A tool for teaching programming concepts fundamental fundamental object oriented object oriented System developed at Carnegie Mellon System developed at Carnegie Mellon

6 Alice features Uses 3D graphics to engage students Uses 3D graphics to engage students Has a “smart” drag-and-drop editor that prevents syntax errors Has a “smart” drag-and-drop editor that prevents syntax errors Appeals to wide audience Appeals to wide audience Storytelling Storytelling (young women, minority students) (young women, minority students) Interactive computer games Interactive computer games (young men) (young men)

7 Alice Features Makes objects something students can see and relate to Makes objects something students can see and relate to Has a java syntax mode to ease the transition to C++/Java/VB.net Has a java syntax mode to ease the transition to C++/Java/VB.net

8 Storyboards “D kneels down to see if they were ok”

9 Relating Alice Concepts to the Object-Oriented Environment of Java Making the Transition to Java

10 The Basics Everything in Alice is an Object Everything in Alice is an Object Objects are instantiated from the class Galleries provided in Alice Objects are instantiated from the class Galleries provided in Alice Everything in Java is a Class Everything in Java is a Class Classes are designed and written by the Java programmer Classes are designed and written by the Java programmer

11 Objects are Instances of Classes Alice Realization Alice Realization Mapping into Java Mapping into Java The Declaration & Instantiation Penguin joePenguin; joePenguin = new Penguin (); In The Penguin Class: public class Penguin() public Penguin () { }

12 Objects Know Things Alice Realization Alice Realization Mapping into Java 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;

13 Objects Know How to do Things Alice Realization Alice Realization Mapping into Java 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); }

14 World is a Collection of Objects Alice Realization Alice Realization Mapping into Java 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;

15 Instruction to Start a Program In Alice: When the world starts, do ‘world.joePenquin knows how to do’ In Alice: When the world starts, do ‘world.joePenquin knows how to do’ Method Editor: place instructions here Method Editor: place instructions here In Java: Some class has to be identified with a ‘main’ method In Java: Some class has to be identified with a ‘main’ method ‘main’: Java instructions ‘main’: Java instructions

16 Invitation to Dialogue


Download ppt "Alice and The Introductory Programming Course: An Invitation to Dialogue Dan GouletDon Slater Univ of Wis-Stevens PointCarnegie Mellon University"

Similar presentations


Ads by Google