Title: ????? ????
1????? ???? ?????? ?????? ?? ??????, ????? ?????
??????? ?????
-
-
- Stephen Cooper
- Stanford University
- coopers_at_stanford.edu
- 2 July, 2012
-
-
2Overview
- 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
- QA
3US 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
4Background
- Declining student enrollments
- High attrition in introductory computing classes
5The 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
6Attrition 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)
7Why? 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
8Game 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
9Visualization in CS
- The use of graphics in teaching CS concepts has
taken three major forms - Algorithm Animation
- Simulation
- Program Visualization
10Program 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
11The 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
12Alice 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)
13Alice Features
- Makes objects something students can see and
relate to - Has a java syntax mode to ease the transition to
C/Java/VB.net
14Our 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
15Alice Demo
16Alice 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)
17NSF Proof of Concept study High Risk Students
- We examined historical data at Ithaca College and
Saint Josephs 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
18Results 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
19Completed 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
20Current 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
21Current 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
22How 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
23Alice usage
- In any given term, 200 colleges are using LTPWA)
- Alice has been likely used in gt 1000 high schools
(self-reporting) - Increasing adoption in UK, Costa Rica, Brazil,
Taiwan and other countries
24Alice support for teachers
- Websites with access to curricular materials
- Alice teacher professional development (generally
in summer) - Alice teacher communities (e-mail
dslater_at_andrew.cmu.edu)
25Where to go for curricular ideas
- www.aliceprogramming.net
- http//www.cs.duke.edu/csed/alice09/
- http//www.cs.duke.edu/csed/alice/aliceInSchools/
- There are several others
- http//www.dickbaldwin.com/tocalice.htm
- etc.
26www.aliceprogramming.net
- What youll find
- Sample syllabi
- Solutions to chapter exercises/projects
- 3D Models
- Sample student projects
- Sample tests
27www.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
28http//www.cs.duke.edu/csed/alice09
- What youll find
- Tutorials (but not stencils)
- Videos of Alice worlds
- Example worlds
29http//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 problem-based
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
30Future 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
31Demo Alice 3
32Questions?
- Steve Cooper
- coopers_at_stanford.edu