Title: Learning to Program with Alice Stevee Cooper scoopersju.edu
1Learning to Program with AliceStevee Cooper
scooper_at_sju.edu
2Research Group
- Stephen Cooper, Saint Joseph's University
- Wanda Dann, Ithaca College
- Randy Pausch and Alice team at Carnegie Mellon
University - National Science Foundation grants (CCLI, ATE)
3Introductions
- Who are you?
- Why are you taking this workshop?
- Have you used Alice before?
- Have you taught with Alice before?
4Workshop Objectives
- Why Alice?
- Dealing with Facts
- Approach with Alice
- Effectiveness
- Demonstration and Hands-on "How To"
- Use the Alice interface
- Program with Alice
- Teaching tips
- Gleaned from lab/classroom experiences
5Dealing with the Facts
- OOP in introductory programming courses
- Fundamental concepts still needed
- Sequence, decision-making, repetition, functions,
parameters - OOP concepts now added
- Classes, objects, methods, inheritance
- The time available in a semester has not
changed but the conceptual complexity has
increased
6Other Issues
- Decreasing enrollment in CS CIS programs
nationwide - 60 from 2000-present
- Dropout rate in first year
- Typically 30 50
- Percentage of women has decreased
7The Shrinking CS pool
8The Shrinking CS pool
9The way we teach CS1 has not really changed in
the last 25 years.Alice is about keeping
America economically competitive.And about
eighteen year-olds not crying themselves to
sleep.
10The Alice Software
- A 3D interactive animation environment
- A tool for teaching fundamental programming
concepts - object oriented
- System developed at Carnegie Mellon
11Alice is about focusing on what really matters
12The Alice Approach
- 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)
- Not threatening Alice builds students confidence
13Key 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
14Over 700 free objects in the gallery
15Textbook support materials
www.alice.org www.aliceprogramming.net
16Textbook Features
- Emphasizes design using storyboards
- Supports varying instructional approaches
- objects-early
- objects-first"
- Allows an (optional) early introduction to
events - Color screen captures illustrate
step-by-step construction of programs
17Schools using Alice 2004-2005
- Bucknell University
- California Lutheran University
- California State University at Humboldt
- Camden County College
- Carnegie Mellon University
- Clemson University
- Colorado School of Mines
- Community College of Philadelphia
- Cornell University
- Duke University
- Georgetown College
- Haverford College
- Ithaca College
- Manor College
- Mississippi Valley State University
- Plymouth State University
- Saint Edwards University
- Saint Joseph's University
- Saint Lawrence College
- San Diego State University
- Sierra Nevada College
- Southwestern University
- Tompkins Cortland Community College
- University of Colorado
- University of Illinois
- University of Mississippi
- Virginia Tech
- And several high schools
18Schools using Alice fall 2005
- Modesto Junior College
- Monmouth University
- New Hampshire CTC-Laconia
- New Mexico State University-Alamogor
- Northwestern College
- Pennsylvania State University
- Red Rocks CC
- Rowan University
- Rutgers University Camden Campus
- San Diego State University
- Saint Joseph's University
- Saint Bonaventure University
- SUNY Canton
- SUNY Tompkins Cortland CC
- Temple University
- Tufts University
- University of Colorado Boulder
- University of Mississippi
- Amarillo College
- Anne Arundel CC
- Arizona State University West
- Beloit College
- BGSU at Firelands
- BYU Idaho
- California State University Sacramento
- Carnegie Mellon University
- Clark College
- Camden County College
- College of Charleston
- Columbia College
- Community College of Philadelphia
- Duke University
- Eastern Michigan University
- Fort Lewis College
- Haverford College
- Illinois State University
- Immaculata University
19The Punch Line
- Alice works
- And we can prove it
20Alice helps at-risk CS majors
21Alice helps at-risk CS majors
22How Alice is being used
- In pre-CS1
- course for majors and students considering a CS
major - As conceptual introduction in CS1
- Introduction to programming course
- non-majors
- attract students to become CS majors
- Computer literacy
- problem-solving component
- Pre-AP in high schools
23Demo Hands-On Work
24Using Alice
- Setting up a world
- Scene editor
- Galleries
- Quad view
- Methods popup menu
- Learning to set up an initial world has a
learning curve play with the scene editor!
25Classes and Objects
- In Alice, each 3D model is a class
- Adding an object to the world instantiates the
object
26Object Subparts
- Objects may be composed of subparts
273D
- A 3D object has
- 3 dimensions
- 6 degrees of freedom (directions of movement)
28Creating a program
- Problem statement (animation scenario)
- After traveling through space, a robot-manned
craft has just made a breathless landing on the
surface of a moon. The robot has already climbed
out of the lunar Lander and has set up a camera
so earthbound scientists at the NASA center in
Houston can view this historic event. Through the
camera (the scene in our world), we can see the
robot, the lunar Lander and some nearby rock
formations. Suddenly an alien peeks out from
behind a rock and looks at the robot. The robot
is surprised and rotates its head all the way
around. The robot walks over to take a closer
look and the alien hides behind the rocks.
Finally, the robot looks at the camera, signals
danger, and says "Houston, we have a
problem!"
29Design
- To create a design, we borrow the idea of
storyboards from professional animators at
Disney, Pixar, etc.
30Visual Storyboards
31Textual Storyboard
Do the following steps in order alien moves
up alien says "Slithy toves?" robot's
head turns around robot turns to look at
alien Do together robot walks
toward the alien alien moves down
robot's head turns to look at the camera
robot's head turns red (to signal danger)
robot says "Houston, we have a problem!"
Start with a visual storyboard and then develop
the textual storyboard to provide pseudocode -- a
detailed "to do list".
32Implementation
- Idea
- For the first program, demonstrate translating
the storyboard into program code - Demo
33Some fundamental programming concepts
- Sequence vs. Concurrency
- Do in order
- Do together
- Decisions
- Built-in functions
- Expressions
- If then else
- Repetition
34OOP
- World-level methods
- Stepwise refinement
- Class-level methods
- Parameters
- Inheritance
- Events interactive worlds
35Sharing ideas
- Open-ended projects
- Student Presentations
- Collaborative programming
- Dealing with advanced students