Visual Programming:Computing Resources
to Unleash K-12 Creativity
Joel Adams, Ph.D.Department of Computer Science
Calvin College
2012 Michigan Tapestry
22012 Michigan Tapestry
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
62012 Michigan Tapestry
72012 Michigan Tapestry
82012 Michigan Tapestry
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?
102012 Michigan Tapestry
Many of today’s students are visual learners
- We need visual tools to engage them
Demos
112012 Michigan Tapestry
Alice and Scratch at Calvin
• Imaginary Worlds Camps at Calvino Summer camps for middle school and upo Roughly 300 campers since 2003o 2003-07: Storytelling using Aliceo 2008-11: Games | music videos using
Scratcho Same concepts taught in both versions
(variables, selection, repetition, abstraction)oNoticeable differences in campers’ questions
• What are IWC campers learning?122012 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
132012 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 projectso 103 Scratch gaming projectso 10 Scratch music video projects
• All projects available at alice.calvin.edu
142012 Michigan Tapestry
Idea
• Study those projects to see what computing concepts campers are applying in themo 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)152012 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)
162012 Michigan Tapestry
The Short Answer
We found statistically significant differences (p < .01) in the number of:oVariableso If statementso Loop statementsoDialog (say/think) messageso…
used in the different project genres.
172012 Michigan Tapestry
Variable Declarations Per 100 Lines
182012 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
192012 Michigan Tapestry
Significance of Differences:– Game vs Video: p = 0.082+Game vs Storytelling: p = 2.095e-18– Video vs Storytelling: p = 0.629
If Statements Per 100 Lines
202012 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
212012 Michigan Tapestry
Significance of Differences:– Game vs Video: p = 0.951+Game vs Storytelling: p = 1.1e-5+Video vs Storytelling: p = 0.0064
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.
222012 Michigan Tapestry
Project Length (Total Lines of Code)
232012 Michigan Tapestry
Significance of Differences:+Game vs Video: p = 0.0014– Game vs Storytelling: p = 0.083– Video vs Storytelling: p = 0.136
Dialog (Say/Think) Msgs Per 100 Lines
242012 Michigan Tapestry
Significance of Differences:– Game vs Video: p = 0.392+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…
252012 Michigan Tapestry
Alice Lines of Code By Age
262012 Michigan Tapestry
Significance of Difference:+p = 4.15e-5
Scratch PickRandom Per 100 Lines By Age
272012 Michigan Tapestry
Significance of Difference:+p = 0.0083
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…
282012 Michigan Tapestry
Scratch Loop-Types Per 100 Lines by M/F
292012 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
302012 Michigan Tapestry
Significance of Difference:+ p = 3.67e-5
Alice Fire Animations Per Project by M/F
312012 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.
322012 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
332012 Michigan Tapestry
Constructs Per 100 Lines by Genre
342012 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!
352012 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
362012 Michigan Tapestry
Resources
372012 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: www.csprinciples.org• Computing in the Core:
www.computinginthecore.org
Thank [email protected]