Learning to Program With Alice

Download Report

Transcript Learning to Program With Alice

‫סביבת אליס – שיקולי הפיתוח של‬
‫ חומרי לימוד לתלמידי‬,‫הסביבה‬
‫תיכון‬
Stephen Cooper
Stanford University
[email protected]
2 July, 2012
Overview
• Background – declining CS enrollments
• Past and Present work with Alice
–
–
–
–
–
Program Visualization
Description of Alice
Demo
Results from NSF studies
How Alice is being used
• Alice Support for teachers
• Future work with Alice
– Alice 3.0
• Q&A
US National Science
Foundation support for Alice
work
•
•
•
•
•
•
•
•
•
•
NSF 0126833 – CCLI EMD Proof of Concept
NSF 0302542 – ATE
NSF 0339734 – CCLI Project
NSF 0511940 – ASA
NSF 0618461 – CCLI Level 2
NSF 0624654 – ITEST
NSF 0736697 – CCLI Phase 1
NSF 0724890 – CISE special project
NSF 1031351 – ITEST Scale-Up
NSF 1021975 – CCLI Level 2
Background
• Declining student enrollments
• High attrition in introductory computing
classes
The Shrinking CS pool
Women and
minorities are
making up an
increasing
percentage of
undergraduate
student
populations
According to the Taulbee survey, the total number of students
dropped to 1% in 2005, and held steady at 1% for 2006-2009
Attrition in introductory computing
• Dropout rate in first year
– Informal surveys: 30 – 70%
– Typically 35 – 50 %
– Especially high for women and minorities
(women receive fewer than 20% of the
Bachelors degrees in computing)
• In 2011, the number was 12% (see the Taulbee
survey for more details)
Why? Possible reasons
• Adding object-oriented concepts to first
year courses has increased the number of
topics to be covered.
– increased teacher prep time
– increased student frustration
• The way we teach programming has not
really changed in the past 25 years
Game Plan
• Develop an innovative instructional approach to
develop intuitive understanding of
– Fundamental programming concepts
•
•
•
•
Sequence
Decisions
Repetition
Methods and parameters
– OOP concepts
•
•
•
•
objects and classes
encapsulation
methods and parameters
inheritance
Visualization in CS
• The use of graphics in teaching CS
concepts has taken three major forms:
– Algorithm Animation
– Simulation
– Program Visualization
Program Visualization
• Program visualization allows a student to
write a program and view a visual
representation of execution
• Primary use has been for introducing math
and programming concepts
• Examples: Logo, Karel the Robot
The Alice Software
• A 3D interactive animation environment
• A program visualization tool
– The program state is visible to the student
– State changes are animated
• A tool for teaching fundamental programming
concepts
– object oriented
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
Our pedagogic approach
• Emphasize design using storyboards
• Program objects-early or objects-first
– Agnostic with respect to the early introduction
of classes
• Allow an (optional) early introduction to
events
Alice Demo
Alice language features
• Objects are stateful, but manipulation of state
is limited to a set of primitive functions
– Challenges of teaching state transformations and functions
• Separation of the functional and imperative
aspects of the language, like Algol
– Algol "is a language so far ahead of its time, that it was not
only an improvement on its predecessors, but also on nearly
all its successors“ (Tony Hoare)
NSF Proof of Concept study:
High Risk Students
• We examined historical data at
Ithaca College and Saint Joseph’s
University for 5 years
• Found that
– Percentage of women in CS classes
is typically low
– Students at high risk of DWF
• Have little or no previous programming
experience
• Are not ready for calculus
Results of Proof of Concept study
• As used towards retention of CS majors
– GPA in CS1 improved
• Grades went from C to B
• at-risk students (students with little to no prior
programming experience and/or weak
mathematics background)
– Increased retention into CS2
from 47% to 88%
– Improved attitudes towards computing
Completed NSF-sponsored Alice
(education) projects
• Proof-of-concept
– study of the use of 3D animated program
visualization to introduce programming
concepts to high risk students
• CCLI Project
– Extend study to other colleges & universities
with varying student backgrounds,
demographics, courses
• ATE
– Modify approach for community college
environment & students
Current NSF-sponsored Alice
(education) projects
• CCLI level 2
– Combining Alice with Media
Computation (developed by M. Guzdial
at Ga. Tech) in CS1
• ITEST
– Providing professional development and
assistance to high school and middle
school teachers in 6 regions with
incorporating Alice into their curricula
• ITEST Scale-Up
Current NSF-sponsored Alice
(education) projects
• ITEST
– Results from pilot in Va Beach
• More than tripling of students taking intro to
computing class
• Tripling of students taking AP CS A
• Interesting anecdotal results with students
having high-functioning forms of autism
– Current (ITEST Scale-Up)
• 750 HS and MS teachers (in NC, SC, MS)
• K-12/higher education partnerships
How Alice is being used
• In pre-CS1
– course for majors and students considering a CS
major
• As a conceptual introduction in CS1
• The Introduction to programming course
– non-majors
– attract students to become CS majors
• In computer literacy
– problem-solving component
• In Pre-AP in high schools
• In various capacities at middle school
Alice usage
• In any given term, ~200 colleges are using
LTPWA)
• Alice has been likely used in > 1000 high
schools (self-reporting)
• Increasing adoption in UK, Costa Rica,
Brazil, Taiwan and other countries
Alice support for teachers
• Websites with access to curricular
materials
• Alice teacher professional development
(generally in summer)
• Alice teacher communities (e-mail
[email protected])
Where to go for curricular ideas
• www.aliceprogramming.net
• http://www.cs.duke.edu/csed/alice09/
– http://www.cs.duke.edu/csed/alice/aliceInScho
ols/
• There are several others:
– http://www.dickbaldwin.com/tocalice.htm
– etc.
www.aliceprogramming.net
• What you’ll find
– Sample syllabi
– Solutions to chapter exercises/projects
– 3D Models
– Sample student projects
– Sample tests
www.aliceprogramming.net
• Strengths
– Complete and organized courses/curricula
– Materials are often used “as is”
– Appropriate for college and HS
• Weaknesses
– Not as usable for younger students
– Not ready for informal education
http://www.cs.duke.edu/csed/alice09
• What you’ll find
– Tutorials (but not stencils)
– Videos of Alice worlds
– Example worlds
http://www.cs.duke.edu/csed/alice09
• Strengths
– Excellent start-up materials
– Useful for middle and high school
– Good for informal education
• Weaknesses
– Many of the tutorials are not problembased – they tend to focus more on the
mechanics of how to do something
– The teacher still must incorporate these
materials into a course/unit/lesson
Future Alice versions
• Alice 3.0
– Includes (EA) SIMS 3D models
• And their (the Sims’) existing
primitive animations
• As will include many useful
primitives such as walk and touch
– Has the ability to generate Java
code
– Provide its own Java IDE (within
Netbeans)
– Available from www.alice.org/3
Demo Alice 3
Questions?
Steve Cooper
[email protected]