Visual Programming: Computing Resources to Unleash K-12 Creativity Joel Adams, Ph.D. Department of Computer Science Calvin College 2012 Michigan Tapestry
2 A Problem Many high school students believe: - computing jobs are boring - only nerds study computer science - computing = no social life - computing involves no creativity - all the jobs are going to Asia …
32012 Michigan Tapestry CS Bachelors Degrees (U.S.)
42012 Michigan Tapestry What Are The Facts? According to the U.S. Bureau of Labor Statistics…
52012 Michigan Tapestry
6
7
8 Solving The Problem How can we attract students to computing and dispel the stereotypes? Research suggests we need to engage students in middle school or earlier, before the negative stereotypes get set. If we wait until high school, it may be too late.
92012 Michigan Tapestry CSTA The Computer Science Teacher’s Association has defined K-12 Computing Curriculum SLOs: Level 1 (K-6): CS and Me Level 2 (6-9). CS and Community Level 3 (9-12). CS in the Modern World CS Concepts and Practices Topics in CS
How Do We Engage Students? Michigan Tapestry Many of today’s students are visual learners - We need visual tools to engage them
Demos Michigan Tapestry
Alice and Scratch at Calvin Imaginary Worlds Camps at Calvin o Summer camps for middle school and up o Roughly 300 campers since 2003 o : Storytelling using Alice o : Games | music videos using Scratch o Same concepts taught in both versions (variables, selection, repetition, abstraction) o Noticeable differences in campers’ questions What are IWC campers learning? Michigan Tapestry
Bloom’s 3 Lowest Learning Levels 1. Knows: Can recall or recognize ideas and information in the form they were learned 2. Comprehends: Can interpret or translate information based on prior learning 3. Applies: Can transfer or use principles or data to solve a problem or task Michigan Tapestry
IWC Projects Each IWC camper completes and demos an open-ended project at the camp’s Showcase Session We have a corpus of 322 projects… o 209 Alice 2.0 storytelling projects o 103 Scratch gaming projects o 10 Scratch music video projects All projects available at alice.calvin.edu Michigan Tapestry
Idea Study those projects to see what computing concepts campers are applying in them o If campers use a concept in their project, they are reaching Bloom level 3 wrt that concept (variables, selection, repetition, abstraction) o Count occurrences of variables, if statements, loop statements, subprograms, … o Count animation constructs common to both Alice and Scratch (move, say/think, wait, …) o Count specific objects (e.g., fire animations) Michigan Tapestry
Research Question Are there any significant differences between the different project genres (storytelling, music video, game) with respect to the concepts that campers use/apply? We wrote scripts to count these constructs, and normalize the counts (per 100 lines) Michigan Tapestry
The Short Answer We found statistically significant differences (p <.01) in the number of: o Variables o If statements o Loop statements o Dialog (say/think) messages o … used in the different project genres Michigan Tapestry
Variable Declarations Per 100 Lines Michigan Tapestry Significance of Differences: + Game vs Video: p = 5.4e-7 + Game vs Storytelling: p = 1.54e-7 –Video vs Storytelling: p = 0.71
Percentage of Projects Using Variables Michigan Tapestry Significance of Differences: –Game vs Video: p = Game vs Storytelling: p = 2.095e-18 –Video vs Storytelling: p = 0.629
If Statements Per 100 Lines Michigan Tapestry Significance of Differences: +Game vs Video: p = 1.25e-7 +Game vs Storytelling: p = 7.09e-37 –Video vs Storytelling: p = 0.070
Loop Statements Per 100 Lines Michigan Tapestry Significance of Differences: –Game vs Video: p = Game vs Storytelling: p = 1.1e-5 +Video vs Storytelling: p =
Subprograms Alice 2.0 provides fully parameterized methods Scratch 1.4 provides parameterless message- handlers for broadcasts –A build-your-own-block mechanism is coming in Scratch 2 We decided these abstraction mechanisms were too different to compare fairly Michigan Tapestry
Project Length (Total Lines of Code) Michigan Tapestry Significance of Differences: +Game vs Video: p = –Game vs Storytelling: p = –Video vs Storytelling: p = 0.136
Dialog (Say/Think) Msgs Per 100 Lines Michigan Tapestry Significance of Differences: –Game vs Video: p = Game vs Storytelling: p = 1.1e-46 +Video vs Storytelling: p = 8.24e-10
Age Differences We compared projects of younger (11, 12) campers vs older (13, 14) campers: –Variables –If statements –Loop statements –Objects –Lines of code –Use of particular constructs We found just 2 significant differences… Michigan Tapestry
Alice Lines of Code By Age Michigan Tapestry Significance of Difference: +p = 4.15e-5
Scratch PickRandom Per 100 Lines By Age Michigan Tapestry Significance of Difference: +p =
Gender Differences We compared projects of male vs female campers for differences in the number of: –Variables –If statements –Loop statements –Objects –Lines of code –Use of particular constructs We found just 3 significant differences… Michigan Tapestry
Scratch Loop-Types Per 100 Lines by M/F Michigan Tapestry Significance of Differences: –repeat n times (p = 0.28) +forever (p = 2.4e-7) –forever if (p = 0.082) –repeat until (p = 0.11)
Alice Dialog Msgs Per 100 Lines by M/F Michigan Tapestry Significance of Difference: +p = 3.67e-5
Alice Fire Animations Per Project by M/F Michigan Tapestry Significance of Difference: +p = 1.81e-9
Some Conclusions Visual tools like Alice and Scratch help students visualize and master programming abstractions –Age affects students’ ability to master abstract concepts like randomness Michigan Tapestry
Some Conclusions The game, music video, and storytelling project genres differ markedly in what they motivate students to use in open-ended projects (i.e., learn to apply at Bloom level 3). –Storytelling projects are good at teaching sequential / algorithmic thinking –Games motivate students to learn to use basic programming concepts like variables and control structures Michigan Tapestry
Constructs Per 100 Lines by Genre Michigan Tapestry
Some Conclusions Given an open-ended storytelling project, boys and girls tell very different kinds of stories, on average. –Stereotypical tastes begin early! Michigan Tapestry
Some Conclusions Alice and Scratch: –Both eliminate syntax error frustration, helping students focus on logic, master concepts –Scratch has the easier learning curve –Scratch’s social networking site lets students easily share their projects –Scratch’s 2D graphics let students create their own scenes and characters –Alice’s 3D graphics + Sims models are cool –Alice’s objects and methods bridge to Java and OOP Michigan Tapestry
Resources Michigan Tapestry Scratch: scratch.mit.edu –Educators resource site: scratched.media.mit.edu –A full middle school Scratch curriculum is available: colleenmlewis.com/scratch/ Alice: alice.org CSTA: csta.acm.org CS Principles: Computing in the Core: Thank you!