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

Slides:



Advertisements
Similar presentations
Learning to Program With Alice
Advertisements

Prepared by Arch PhD Antonino Di Raimo UNIVERSITETI POLIS SHKOLLA NDERKOMBETARE E ARKITEKTURES DHE POLITIKAVE URBANE Write the shape! (An introduction.
Programming Paradigms and languages
Alice is a fairly new programming language developed by the Stage3 research group at Carnegie Mellon University. This program is aimed to attract students.
OOP - Object Oriented Programming Object Oriented Programming is an approach to programming that was developed to make large programs easier to manage.
Fall 2008ACS-1805 Ron McFadyen1 ACS-1805 Introduction to Programming using Alice 2.0 Ron McFadyen Course OutlineMcFadyenOutline.
The Alice Software System Randy Pausch Carnegie Mellon University
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
What is Alice? Graphical Programming Environment and Language Learn object oriented programming using 3 dimensional objects and a story telling approach.
Introduction to Alice Basics : What is Alice? Object Oriented Definitions What Does it Look Like? Where Can I Use it?
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
1 Chapter 8 Objects and Classes. 2 Motivations After learning the preceding chapters, you are capable of solving many programming problems using selections,
OOP and Graphics. Object Oriented Programming The ‘classic’ point of view of a programmer was that the program instructions were the active part, the.
Chapter 1 - Introduction. Ch 1Goals To understand the activity of programming To learn about the architecture of computers To learn about machine code.
CIS205 Part 1 dbg --- Getting Acquainted with Visual Studio.NET and C#
GAME DESIGN IN CONJUNCTION WITH UNION UNIVERSITY COMPUTER SCIENCE DEPARTMENT By Jacob Lynn and Hananiah Nyabam.
Through the Looking Glass - Alice 2.0. Welcome from Alice.
 3D graphics environment  Focuses on Object Oriented Programming  Provides immediate feedback through program visualizations  Contains a drag-and-drop.
סביבת אליס – שיקולי הפיתוח של הסביבה, חומרי לימוד לתלמידי תיכון Stephen Cooper Stanford University 2 July, 2012.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
Language Basics.
Object Oriented Software Development
Introduction to Java Appendix A. Appendix A: Introduction to Java2 Chapter Objectives To understand the essentials of object-oriented programming in Java.
Using Jeroo To Teach Object-Oriented Concepts By Christian Digout.
Information Technology Fundamentals (ITF) Mr. Shultz.
CSM-Java Programming-I Spring,2005 Introduction to Objects and Classes Lesson - 1.
Nifty Assignments for BlueJ Day March 1, 2006 Rathika Rajaravivarma Central Connecticut StateUniversity.
CSC1401: Introductory Programming Steve Cooper
Thank you for your previous support of the Alice project. Let’s see what you’ve helped make possible….
Alice Programming. alice.com Carnegie Mellon University with support from Electronic Arts, Sun Microsystems, DARPA, Intel, Microsoft, NSF and ONR. Alice.
An Introduction to Visual Basic
Introduction to Programming with Java. Overview What are the tools we are using – What is Java? This is the language that you use to write your program.
Chapter 1: A First Program Using C#. Programming Computer program – A set of instructions that tells a computer what to do – Also called software Software.
Introduction to Programming with Alice and Java Copyright 2014 Wanda Dann, Don Slater All rights reserved.
Alice As an Interdisciplinary Teaching Tool Presented by Craig Ham Technology Coordinator, US/MS Computer Teacher Westminster Schools, Augusta GA.
Programming Software from Carnegie Mellon Began at University of Virginia under the leadership of Dr. Randy Pausch (“The Last Lecture”)
Introduction to Java and Object-Oriented Programming AJSS Computer Camp Department of Information Systems and Computer Science Ateneo de Manila University.
Learning to Program with Alice – Chapter 1 September 16, 2009.
Computer Science II 810:062 Section 01. How is CS I different from CS II? When you teach Java there are a series of decisions that have to be made…
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
CHAPTER ONE Problem Solving and the Object- Oriented Paradigm.
Lecture 1 Introduction. 1-2 Your world is filled with objects. Many of these objects are controlled by computers. Computers rely on ___________ to determine.
Object-Oriented Design Simple Program Design Third Edition A Step-by-Step Approach 11.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6: Transition to Java Programming with Alice and Java First Edition.
Program Visualization Using Virtual Worlds CCLI NSF
Iconic Programmer A Visualization Tool for Teaching Concepts without Context.
What is Alice? Alice is an innovative 3D programming environment that makes it easy to create an animation for telling story, playing an interactive game,
Objective You will be able to define the basic concepts of object-oriented programming with emphasis on objects and classes by taking notes, seeing examples,
Using Alice.  Alice is visual  Alice is object-oriented (some might say object- based)  Alice eliminates the need to debug syntax errors  Alice introduces.
Object Oriented Programming. OOP  The fundamental idea behind object-oriented programming is:  The real world consists of objects. Computer programs.
Java Programming, Second Edition Chapter Three Using Methods, Classes, and Objects.
What About Alice? In Alice, we have seen that we have:  Objects (skater, snowman, snowwoman, camera)  Methods (move, turn, roll, move toward)  Properties.
Introducing Storytelling Alice. What is Alice? 1.Storytelling Alice is an interactive graphics 3D programming environment. 2.Storytelling Alice is useful.
Lecture 1 Introduction. © 2006 Pearson Addison-Wesley. All rights reserved 1-2 Your world is filled with objects. Many of these objects are controlled.
CPS120: Introduction to Computer Science Lecture 16A Object-Oriented Concepts.
Introduction to the course Aug 30, Day 1 Object-oriented Programming thru Video Games TIDE 1840 Harry Howard Tulane University.
Variables and Inheritance Part 1 Alice. Review: Properties A class defines properties for its own kind of object. When an object is created (instantiated),
Chapter 1 Object Orientation: Objects and Classes.
Programming in Java Transitioning from Alice. Becomes not myFirstMethod but …. public static void main (String[] arg) { // code for testing classes goes.
1 Quiz Show Programming Terms. 2 Alice - 3D Virtual Programming Vocabulary Quiz Board Chapter 1 Chapter 2a Chapter 2b Chapter 3 Chapter 4 $100 $200 $300.
OOP - Object Oriented Programming
Objects as a programming concept
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Lecture 12 Inheritance.
Java Software Solutions
Interfaces.
Programs and Classes A program is made up from classes
Final and Abstract Classes
Ch. 1 Vocabulary Alice.
Java Software Solutions
Presentation transcript:

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

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

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

What is Alice?

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

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)

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

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 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

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 () { }

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;

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); }

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;

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

Invitation to Dialogue