320 likes | 457 Views
סביבת אליס – שיקולי הפיתוח של הסביבה, חומרי לימוד לתלמידי תיכון. Stephen Cooper Stanford University coopers@stanford.edu 2 July, 2012. Overview. Background – declining CS enrollments Past and Present work with Alice Program Visualization Description of Alice Demo
E N D
סביבת אליס – שיקולי הפיתוח של הסביבה, חומרי לימוד לתלמידי תיכון Stephen Cooper Stanford University coopers@stanford.edu 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 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 dslater@andrew.cmu.edu)
Where 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.
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 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
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
Questions? Steve Cooper coopers@stanford.edu