Table Of ContentScratch Community Blocks:
Supporting Children as Data Scientists
SayaminduDasgupta∗† BenjaminMakoHill†
∗MITMediaLab †UniversityofWashington
Cambridge,MA02142 Seattle,WA,98195
[email protected] {makohill,sdg1}@uw.edu
ABSTRACT
Inthispaper,wepresentScratchCommunityBlocks,anew
7
systemthatenableschildrentoprogrammaticallyaccess,an-
1
0 alyze,andvisualizedataabouttheirparticipationinScratch,
2 anonlinecommunityforlearningcomputerprogramming. At
itscore,ourapproachinvolvesashiftinwhoanalyzesdata:
b
fromadultdatascientiststoyounglearnersthemselves. We
e Figure 1: A Scratch script, consisting of blocks from the
F first introduce the goals and design of the system and then
Scratch Community Blocks system. When the “space” key
demonstrateitbydescribingexampleprojectsthatillustrateits
2 ispressed,thisscriptiteratesthroughallthesharedScratch
functionality. Next,weshowthroughaseriesofcasestudies
projectsbytheuser“scratchteam,”andduringeachiteration,
howthesystemengageschildreninnotonlyrepresentingdata
] agraphicalobjectonthescreensaysthetitleofthecurrently
C andansweringquestionswithdatabutalsoinself-reflection
selectedprojectthroughavisualspeechbubble.
abouttheirownlearningandparticipation.
H
.
s AuthorKeywords
c datascience;learning;computersandchildren;creativity
[
supporttools;socialcomputingandsocialnavigation; objectofanalysis;theirroleistogeneratedatabyusingthe
2 block-basedprogramming system.
v
Weimagineadifferentapproachtodatascienceandeducation
2 ACMClassificationKeywords
inwhichyoungpeopleusedatatoaskandanswertheirown
1 K.3.2ComputersandEducation: ComputerandInformation
1 ScienceEducation;H.5.2InformationInterfacesandPresenta- questions. Ourapproachisinspiredbyconstructionism[30],a
0 tion(e.g.,HCI):UserInterfaces theoryoflearningputforwardbySeymourPapertandothers
0 wherelearnersareunderstoodtobedrivenbytheirowninter-
. eststoconstructknowledgeinsteadofpassivelyacquiringit
2 INTRODUCTION
fromateacher. BuildingonPiaget’stheoryofconstructivism
0 Widespreaduseofsocialmediaanddigitallearningplatforms
7 bychildrenhasledtothecreationofmassivesetsofobserva- [33],constructionismtheorizesthelearnerasanactivebuilder
1 tionaldatathatdescribethewaysthatyoungpeopleinteract, ofknowledgeandaddstheideathatknowledgebuildingoc-
v: socialize, and learn [8]. In hundreds of studies using data curs“especiallyfelicitouslyinacontextwherethelearneris
consciouslyengagedinconstructingapublicentity”[31].
i collectedfromavarietyofplatformsandcontexts,researchers
X
have answered a wide variety of research questions about Inthispaper,wepresentasystemcalledScratchCommunity
r youth,influencingeducationalpolicyandinstructionalmeth- Blocks that is designed to give the 15 million users of the
a
ods[47]. Althoughveryfewcommonthreadscanbedrawn Scratch online community the ability to programmatically
acrossthelargeanddiversebodyof“datascience”thatstudies analyzedatafromthecommunityitself—anabilitythathas
usesofsociotechnicalsystemsbychildren,onecommontrait previouslybeentheexclusivedomainofdatascientistsand
is that the collecting, displaying, and visualizing of data is engineers. Thesystemenablescommunitymemberstocreate
donebyadultanalysts,designers,andpolicymakers. Inmost and share their own visualizations and analytics tools. We
cases, this group is also charged with making sense of and beginwithabriefdescriptionofanumberofrelatedsystems
actinguponanalyzeddata. Inthisprocess, childrenarethe andofScratch. Next,wedescribethemotivationbehindand
thedesignofScratchCommunityBlocksandprovideseveral
shortsampleprojectsasillustrativeexamples. Todemonstrate
therangeofpossibilitiesintroducedbythesystem,wedescribe
Permissiontomakedigitalorhardcopiesofpartorallofthisworkforpersonalor
classroomuseisgrantedwithoutfeeprovidedthatcopiesarenotmadeordistributed a series of projects created by children using the system as
forprofitorcommercialadvantageandthatcopiesbearthisnoticeandthefullcitation partofabetatest. Wediscussthetechnicalimplementationof
onthefirstpage.Copyrightsforthird-partycomponentsofthisworkmustbehonored.
oursystemsaswellasseverallimitationsofourdesign. We
Forallotheruses,contacttheOwner/Author.
Copyrightisheldbytheowner/author(s). conclude by connecting back our work to some of the core
CHI2017,May06–11,2017,Denver,CO,USA aspirationsofconstructionisttheory.
ACM978-1-4503-4655-9/17/05.
http://dx.doi.org/10.1145/3025453.3025847
RELATEDWORK agement web-services such as Google Fusion Tables [18]),
The design of Scratch Community Blocks is informed by a andmainstreamprogramminglanguages(e.g.,[13],[12]).
numberofprevioussystemsdesignedtosupportpersonalan-
Comparedtothesesystemsandapproaches,ScratchCommu-
alytics,socialmediaanalytics,datascience,andlearning. A
nityBlocksprovidesauniquecombinationofaffordances;it
numberofsystemsfordata-mediatedreflectionandpersonal
opensupasignificantamountofspaceforopen-ended,user-
analytics fall into the genre of “quantified self” tools [29].
drivenexplorationwithindatascience,whileensuringacom-
Theseincludecommerciallyavailablesystems(e.g.,systems
parativelylowbarriertoentry. Weknowofnoothersystem
thatvisualizedatafromwearablefitnesstrackers)aswellas
thatisspecificallydesignedforchildrentoengageininterest-
systemsproducedbypeerproduction[6](e.g.,bloodglucose
drivenprogrammaticanalysisandvisualizationoftheirown
levelanalysis[4]). Commercialsystemsaretypicallyprepro-
learning and social data. Like many previous systems, our
grammedwithlimitedcustomizability. Peer-producedtools
work is informed by research in the learning sciences and
aregenerally“hackable”buttendtobedesignedforexperi-
statisticseducationresearchthathasexaminedhowchildren
encedprogrammers. Thereisgrowinginterestinengagingthe
andyouthestablishrelationshipsbetweendataandcontext[5]
quantified self movement in educational contexts [25]. Ad-
andhowtheyinterpretandreasonaboutcomplexinformation
ditionally,anumberoftoolsexisttohelpendusersanalyze
visualizations[24].
onlinesocialmediasystemsandsocialnetworks. Forexam-
ple,therearewidelyusedsystemsthatvisualizeusers’social
SCRATCH
connectionsusingdatafromFacebook[48]andemailarchives
ScratchCommunityBlocksisanewsystembuiltwithinthe
[46,21]. Emailarchiveshavealsobeenusedasasourceof
Scratch programming language [37]. Scratch is a visual,
reflectionwiththeMUSEsystembyHangaletal.[19].
block-basedprogramminglanguagedesignedforchildrenand
Inlearningtechnologies,theterm“dashboards”isoftenused youth aged 8–16. Programs in Scratch (called “projects”)
todescribesystemsthatsupportthevisualizationandanalysis are constructed by dragging and dropping visual blocks to-
of learning data. Verbert et al. [44] review 15 dashboards gether. Eachvisualblockcanbethoughtofasaprogramming
acrossawiderangeofcharacteristicsincludingtargetaudience primitivethatdeterminesthebehaviorofon-screengraphical
andtypeofdatatracked.Insomeofthesesystems,dataisused objects called “sprites.” For example, a script constructed
toinformeducatorsaboutstudentprogresswithinformation outofScratchprogrammingblocksinFigure1willmakea
visualizationonwhoisprogressingasexpectedandwhois catspritesequentiallysaythetitleofalltheScratchprojects
stuck(e.g.,[35]). Insomecases,dashboardsarepresentedto sharedbythe“scratchteam”userinresponsetoakeypress.
learnerssothattheycanreflect. Forexample,thedashboard
Scratchissituatedwithinanonlinecommunitywheremem-
provided by the Khan Academy platform gives learners a
berscanshareprojects[28]. Usersareencouragedtosocialize
sense of how much time they have spent on a given course
aroundprojectsthroughcommenting,bookmarking,showing
module[23]. Beyonddashboards,Rivera-Pelayoetal.[39]
appreciation,etc. AnotheraffordanceoftheScratchcommu-
presented a framework that supports reflection in informal
nity is the ability to remix existing projects. Every project
learningthroughmechanismsderivedfromthequantifiedself
shared in the community is associated with a view source
community. WithinScratch,Jotswasanexperimentalsystem
(“SeeInside”)button,andcommunitymembersareencour-
thatsupportedScratchusersincreatingbriefupdatesor“jots”
agedtobuildonandextendtheirpeers’work. Seenthrough
astheyworkedthroughtheirprojects[40].
thelensofconstructionism,Scratchprojectsareinstancesof
Thereisalsogrowinginterestindatasciencetoolsforyouth.A “publicentities”thatarebothindividuallyandcollaboratively
comparativelyearlytooltosupportlearningwithcomputation createdandshared.
anddatawasTinkerplots,avisualizationandmodelingsystem
that can be used for developing statistical reasoning skills CHILDRENASDATASCIENTISTS
[17]. iSenseisahardwaretoolkitandanassociatedweb-based ThecentraldesigngoalofScratchCommunityBlocksisthe
collaborationsystemthatallowsyounglearnerstocollectand ideaofchildrenasdatascientists. Thatsaid,itwouldbein-
visualizedata[27]. Inamorespecializedcontext,VanWart correcttodescribethegoalofourapproachasmerelyshifting
andParikhcreatedLocalGround,asystemthatenablesyouth the ability to analyze data about youth activity online from
togainfluencywithgeographicalinformationsystems[43]. adultstochildren. JustasthedesignofLogobyPapertand
BlockyTalky[42]isablock-basedvisuallanguagethatenables others[30,1]wasfundamentallyshapedtosupportdetailsof
young programmers to use sensing data from the physical theconstructionisttheoryoflearning—ratherthanmerelypart
worldtobuildinteractiveprograms. DataSnapisanextension of an attempt to turn children into programmers—the shift
totheblock-basedlanguageSnap,similarinsomerespectsto in the locus of data analysis from adults to children is only
Scratch,whichcanfetchandanalyzedatafromonlinesources onevisiblefeatureofourapproachasdesigners. Beyondthis
[20]. DataBasic.ioisasuiteofdata-literacytools,designedto obviousshiftlietwobroadgoalsthatparallelkeyfeaturesof
usedbynovicesinavarietyofcontexts[7]. successfulconstructionistlearningtoolkitsingeneral. Those
featuresaretheabilitytosupportlearningthroughmakingin
Inadditiontothesesystems,educatorshavefrequentlyturned
asocialcontextandtheabilitytosupportself-reflectionand
to more traditional systems to introduce data science to
learningaboutlearning.
novices.ThesesystemsincludespreadsheetssuchasMicrosoft
Excel,visualizationtoolssuchasManyEyes[45],dataman- Toachievethefirstgoal,oursystemaimstofosternewpath-
waystolearningdatasciencebyenablingdatasciencelearn-
ingexperiencesthatarediscovery-driven,builtaroundbuild- andrelevantinpresentsociety. WithintheScratchcommunity
ing, personally meaningful, and engaging for participants. itself,thereissignificantenthusiasmandexcitementaboutthe
For the second goal, the system strives to enable learners possibilityofdoingdataanalysisusingScratchdata. Inboth
to reflect with data about their own behavior and thought senses,thesystemcanbedescribedasculturallyresonant.
processes. Themosteffectiveconstructionistsystemscanen-
courageyounguserstoengageinself-reflectioninwaysthat
prompt them to “embark on an exploration about how they Reflectiononlearningandsocialparticipation
themselvesthink”[30]. Ourgoalsrepresentourpathway,as Apartfromconstructionism,anumberoftheoriesofeducation
designers,towardthiscentralaspiration. highlight reflection as an important component of learning.
Bruner[11],forexample,theorizesthatwithreflection,learn-
ers“distance”themselvestoreacha“higherground”ofab-
Newpathwaystolearningdatascience straction,therebygainingnewperspectivesonwhathasbeen
Although data science is cited as an increasingly important learned. Boud,KeoghandWalker[9]proposeamodelofre-
skillorliteracy,thereisnogeneralconsensusonwhatitcon- flectioninwhichemotionisacomponentandwherebehavior
stitutes. Weadoptonecommondefinitionthatusestheterm changeisanimportantoutcomeofreflection. Inthismodel,
todescribeasetofpracticesattheintersectionofsubstantive reflectionrequiresindividualsto“recapturetheirexperience,
questionasking,mathematicalanalysis,andcomputingskills thinkaboutit,mullitoverandevaluateit.”
[14,22]. Critically,wetreatprogrammingasacorecompo-
nentofdatascience.Incontrasttomostexistingtoolsaimedat Many models of reflection focus on relatively short tempo-
introducingyouthtodataanalysiswherevisualizationiscen- ralscales. Forexample,inResnick’screativelearningspiral
tral,wefocusonprogrammingastheprimarywaytoengage model [36], reflection is seen as the final step in one itera-
withdata. Inourvision,programmingisimportantbecause tionofacreativeactivity. Scho¨n[41]differentiatesbetween
itletsthelearneraskquestionsorconductexplorationsthat “reflection-on-action”and“reflection-in-action.” Inreflection-
weasdesignersmaynothavethoughtof. Intheirdiscussion on-action,theprocessofreflectionhappensaftertheactionhas
of thedesign ofconstruction kits forchildren, Resnick and been performed, whilein reflection-in-action, thereflective
Silvermanstatethat“alittlebitofprogramminggoesalong process occurs hand-in-hand with the activity. The Scratch
way”inthatitopensthepossibilitiesofavastpotentialdesign CommunityBlockssystemseekstoallowchildrentorevisit
space[38]. andanalyzedataaboutthemselvesinwaysthatencourages
reflection after the fact, but at both longer and short time
Self-drivenquestionsettingalsoalignswellwiththeconstruc- scales.
tionist approach to learning that frames our approach. The
corefeatureofanyconstructionistsystemistheabilitytosup-
portlearningthatispersonallyrelevantandmeaningful. As DESIGN
adesigncriterionfortoolkitsinconstructionism,thisquality The ScratchCommunity Blocks system is tightly integrated
isreferredtoas“appropriability,”[30]whichisdescribedas with the Scratch interface and community, extends the list
constitutingthreecoreprinciples: continuity,power,andcul- ofprogrammingprimitivesinScratch,andusesthesamevi-
turalresonance. Thecontinuityprinciplestatesthatthetopic sualblock-baseddrag-and-dropeditingparadigmasthecore
being learned should be continuous with the prior personal Scratchlanguage. Inadditiontousingablock-baseediting
knowledgeofthelearner. Thepowerprinciplesuggeststhat paradigm,wetriedtomakeScratchCommunityBlocksconsis-
learnersshouldbeempoweredtoachievenewcreativepossi- tentwiththerestoftheScratchprogrammingenvironmentby
bilities. Theprincipleofculturalresonanceseekstoensure (i)usingprogrammingconstructsalreadyknowntoScratch
thatthetopicisseenasvaluableinalargersocialandcultural users(e.g.,“accessor”blocks,whichwedescribebelow)and
context. by(ii)avoidingalargenumberofblocksorblockparameters,
asScratchhastraditionallyavoidedhavingcomplexblocks,or
ScratchCommunityBlocksisdesignedtosatisfytheseprinci-
alargenumberofblocks,toavoidintimidatingnoviceusers
ples. First,itissituatedinthecontextoftheScratchcommu-
[16]. Thisapproachpreventedusfromconsideringalternate
nity,andinformationaccessedthroughthesystemisdatathat
paradigmsofinteractingwithdataprogrammatically,suchthe
theusersofthesystemandtheirpeershavecreated. Forthe
read-eval-printloop(REPL)thatisoftenseenindata-focused
system’susers(participantsintheScratchcommunity),this
programminglanguages. Onedesignthatweconsideredin-
createscontinuitybetweenwhatusersalreadyknowaboutthe
volvedtheuseofthelistdatastructureinScratch. Weended
communityandaboutprogrammingwithScratchandthedata
upnotusingthisapproachbecauseresearchhasshownthat
andtoolstheyhaveaccessthroughScratchCommunityBlocks.
listareusedinfrequentlyinScratch[2]andalsobecauselists
Additionally,thesystembuildsonthevisualdrag-and-drop
arenot“firstclass”(i.e.,theycannotbeusedasinputtoan
programmingparadigmthatScratchusersarefamiliarwith.
outerblockorinsertedintoanotherlist).
Thesystemisdesignedtobepowerfulinthesensethatitpro-
videsprogrammaticaccesstodata,allowinguserstoanalyze ScratchCommunityBlockswasdesignedasanextensiontothe
andvisualizeinformationinwaysthatwereunanticipatedby Scratchlanguageandwasmadeavailabledirectlyinsidethe
thedesignersandareindependentoftheaffordancesprovided Scratcheditor. Tousethesystems,auserclicksonan“Add
bytheScratchwebsite. Finally,giventhesignificantamount Extension”buttoninthe“MoreBlocks”category. Thisshows
ofexcitementaroundtheemergingdisciplineofdatascience adialogboxlistingseveralavailableextensionsthattheuser
[34],itisnotunfairtosaythatthetopicisseenasvaluable canpickfromincludingtheCommunityBlockssystem. When
Figure2: AccessormethodblockforScratchsprites,witha
dropdowntoselecttheappropriateproperty. Theshapeofthe
blockindicatesitisa“reporter”block,andthatitcanbeused
asaninputtoanotherblocks(e.g.,the“say”block).
users choose the extension, a new palette of programming
blocks,showninFigure3,appearsintheprogrammingeditor.
AlthoughtheScratchlanguagedoesnotmeetallthecriteria
necessarytobeanobject-orientedlanguage(e.g.,thereisno
inheritancemechanism),themodelofprogramminginScratch
canbedescribedasobject-centered. AspriteinScratchcan
be thought of as an object with a number of properties that
Figure3: Fullpaletteofprogrammingblocksmadeavailable
mightincludeitspositionandorientationontheScratchstage
throughtheScratchCommunityBlockssystem.
orasetofgraphical“costumes.” Eachspriteisalsoassociated
with a set of programmatic scripts that defines its behavior.
ScratchCommunityBlocksweremodeledupontheaccessor
(“followees”), and users who follow the user (“followers”).
orgettermethodblockforaScratchsprite(showninFigure2),
UsingScratchCommunityBlocks,theselistsarerepresentedas
whichisawidely-usedpartofthecoreScratchlanguage.Inan
acombinationof“foreach”loopblocksandcontext-sensitive
accessorblock,thefirstdropdownmenuletstheprogrammer
accessorblocksthatareintendedtobeusedinsidetheloops.
selectthepropertytheyareinterestedin;theseconddropdown
Forexample,togetthetitleofeachprojectsharedbyagiven
menuletsthemchooseaspritefromwithintheproject. An
user,the“title(cid:72) of project”blockneedstobeplaced
accessorblockcanbeembeddedinsideotherblocksandwill
insidethe“for each shared(cid:72) project by ”as
returndataasdeterminedbytheparameterssetthroughthe
showninthescriptinFigure1.
twodropdownmenuswhenexecuted.
In Scratch Community Blocks, the “for each” loop blocks
Insteadofreturningdataonspriteswithinprojects,Scratch
representqueriestofetch:
CommunityBlocksisdesignedtoreportdatafromacrossthe
Scratchonlinecommunity. Thismodelisalsosimilartothe • allsharedprojectsbyauser
Object/RelationshipMapping(ORM)abstractionlayerusedto
• allfavorited(bookmarked)projectbyauser
bridgeanobject-orientedlanguageordevelopmentframework
• alluserswhofollowagivenuser
withanunderlyingrelationaldatabase[3].ScratchCommunity
Blocksprovidesdataonthetwomostsaliententitieswithinthe • alluserswhoarefollowedbyagivenuser
Scratchwebsiteandcommunity: projectsandusers. Projects
For the project object type, three distinct context-sensitive
arethecentralsiteforinteractioninScratchandreceiveabout
accessorblocksaremadeavailableinthesystem.Theseblocks
24%ofwebsitetraffic. Userprofilesarealsoseenasanim-
providenotonlysocialmetadata(e.g.,numberofcomments
portantsiteforinteractionandarethesecondmostimportant
ontheproject)butalsocodemetadata(e.g.,numberofblocks
locuswith7%ofwebsitetraffic.1 Onedesignchallengewas
ofacertaintypeusedinagivenproject,orwhetheraproject
thatwhileScratchusernamesareuniqueandwidelyknown,
usesblocksfromacertaincategory). Specifically,thesystem
projectsareuniquelyidentifiedonlybynumericIDsthatare includes a predicate block that returns a boolean true or
notsurfacedintheScratchuserinterface. false value depending on whether a project uses blocks
Asaresult,usernamesaretheonlyvisibleprimary“key”in from a certain category in Scratch (e.g., control, sound), a
ScratchCommunityBlocks. TheuserprofilepageinScratch blockthatreturnsthenumberofinstancesofaspecificblock
consistsofdatathattheusersharesaboutthemself(e.g.,“about (e.g., “wait seconds”), and another block that can
me,” “what I’m working on”), as well as lists of projects returnthefollowingsocialmetadataontheproject:
shared, projects“favorited”orbookmarked, usersfollowed • titleoftheproject
• descriptionoftheproject
1Dataforfirstquarterof2016,fromGoogleAnalytics.Remaining
trafficistothefrontpage,studios,andvarietyofotherpages. • numberof“love-its”receivedbytheproject
(a)Scripttofilterfollowersbycountry. (b)Scripttofilterprojectsbyuseofofblocksfrom (c)Scripttofindcuratedprojectsthatuseblocks
the“Sound”category. fromtheSoundcategory.
Figure4: SimplecodeexamplesusingScratchCommunityBlockstoshowthesystem’sdesignandfunctionality.
• numberofuserswhohavebookmarked/favoritedtheproject effectively provides customized results for the Scratch user
• numberofcommentsontheproject viewingtheproject.
For the user object type, there is only one accessor block, InthefinalexampleinFigure4c,allthe“favorited”projectsof
throughwhichthefollowingpropertiesaremadeavailable: communitymembersfollowedbytheviewerareanalyzed,and
thetitleoftheprojectsthatcontainblocksfromtheSoundcat-
• usernameoftheuser egoryarepresented. Whenrun,thisprojectwillrecommend
• shortpublicbiographysharedbytheuser(“aboutme”) projectsthatincludesoundormusictotheviewer. Theserec-
• countrytheuserisfrom(publiclysharedandself-reported) ommendationswillhavebeensociallycuratedbycommunity
memberswhoarefollowedbytheviewer.
Althoughblocksreportingdataonprojectsandusersconstitute
mostofthesystem,ScratchCommunityBlocksalsoincludes
threereporterblocks,shownatthebottomofFigure3,that
returncommunity-widestatistics: thetotalnumberofprojects, FIELDEVALUATIONWITHCHILDREN
users,andcomments. Webelievethatthemostcompellingillustrationsofthesystem
areprojectscreatedbyrealusersinarealisticsetting. Inthis
Anopenquestionforuswaswhethertoaddasetofprimitives
section,wedescribeaseriesofprojects,createdbychildren,
fordrawingvisualizations(e.g.,barchartsorscatterplots). In
thatserveasillustrationsofhowScratchCommunityBlocks
theend,wedidnotincludevisualizationprimitives. Instead,
canenablenewpathwaystolearningdatascienceandhowit
we provided users with sample projects that used the “pen”
canmakeitpossibleforScratchuserstoself-reflectontheir
primitivesinScratchtorenderseveralstandardvisualizations.
learningandsocialparticipation.
Asweshowinthenextsection,childrencreatingvisualiza-
tionswerefrequentlydrivenbytheirownartistictastesand In February 2016, we invited users to beta test the Scratch
sensibilitiesandeschewedthemorecanonicalapproachthat Community Blocks. Invitees were selected from a pool of
weshowcasedinthesamples. activeusersonScratchwhohadbeeninthecommunityforat
least6monthsandhadsharedatleast4projectsinthemonth
ILLUSTRATIVEEXAMPLES precedingtheselection. Welookedonlyatprojectcreation
The best way to illustrate Scratch Community Blocks is to activity—we did not attempt to analyze the programming
showhowitcanbeused. Towardthatend,wepresentthree expertise or sophistication of these users. From this pool,
simple examples that demonstrate the possibilities with the 2,500userswererandomlyselectedandgivenaccesstothe
system. Figure 4 shows the complete code of three small systeminthreephases.
projectsthatdemonstratetheoperationofthesystem. Thefirst
Tohelpusersunderstandhowtoprogramwiththeblocks,we
sampleproject,inFigure4a,demonstrateshowonecanfilter,
provideduserswithasetofexampleprojects,mostsimilarto
orsearchinside,thelistoffollowersofagivenuser: thescript
thoseshowninFigure4,thatwerehighlightedprominently
iteratesthroughthefollowersofthe“scratchteam”userand
inthelandingpageofthebeta-testwebsite. Additionally,the
“says”(inaspeechbubble)theusernameofthefollowerswho
Scratcheditorwasmodifiedtoshowasidebarwithdocumen-
listSpaininthecountryfieldontheirprofilepage.
tation on the functionality of the blocks. As is always the
Scratchhasanumberofblockscapableofproducingsound, caseinScratch,usershadtheabilitytoviewandinteractwith
includingblockstoplayarecordedsoundfile,amusicalnote, otherusers’projects,includingthecorrespondingsourcecode,
oradrum. WithintheScratchsystem,theseblocksarecatego- whichismadeavailablethroughthe“SeeInside”functionality
rizedas“Sound”blocks. ThescriptshowninFigure4bwill inScratch. Throughoutthedurationofthebetaprogram,we
iterateoveralltheprojectssharedbyauserandsaythetitle alsoactivelycuratedthewebsite,placingprojectsthatmade
oftheprojectsthatuseblocksfromthesoundcategory. An interestinguseofScratchCommunityBlocksonthelanding
importantdifferencebetweenthisscriptandtheoneshown page. Althoughthebetatesttookplaceonaseparatewebsite;
inFigure4aistheuseofthe“username”blockthatreturns thedataaccessedthroughScratchCommunityBlocksreflected
theusernameoftheusercurrentlyviewingtheproject. This whatwasthereonthemainScratchwebsite.
(a)Visualization (b)Codeforthe“scoop”spritethatcreatesthevisualizationthroughcloningthesprite.
Figure5: Icecreamvisualizationprojectwherethenumberofscoopsontheconeisdeterminedbythenumberoffollowers.
Self-reportedgenderdatashowthatamongthe2,500users, Representingandvisualizingdata
1,187 (47.5%) were male, 1,184 (47.4%) were female, 114 Jondroidous(13yearsold)createdavisualizationprojectthat
(4.6%)identifiedthemselvesasother,andfor15users,data promptedforausernameandthenvisualizedthedistribution
wasnotavailable.Themedianagewas12,andtheinterquartile ofblockcategoriesinalltheprojectssharedbythatuserasa
rangewasbetween11and15.Overanapproximately4month doughnutchart. Anexampleofthevisualizationisshownin
period,721oftheinviteduserscreated1,660projectsusing Figure6.WhenJondroidousfirstcreatedtheproject,therewas
thenewblocks.Theseuserscreatedbetween1and19projects, asmallbuginthecode. Asanillustrationofthepowerofthe
withameanof2.3,medianof1,andstandarddeviationof2.3. socialcontextprovidedbyScratchforlearninganditeration,
Towardtheendofthebetatest,wesentoutasurveywith2 anotheruser,Chewie184(12yearsold),remixedtheproject
multiplechoiceand8open-endedquestionstoallthe2,500 tofixthebugandimprovedtheprojectbycreatingaprogress
invitedusers. 499usersresponded. Additionally,wehosted bar.
a3-hourworkshopwith12Boston-areaScratchuserswhere
wetookdetailedfieldnotesandinterviewedtwoparticipants.
Finally, weinterviewed3usersfromtheonlinecommunity
overvoice/videochat.
Ananalysisoftherelativeusagefrequenciesofthenewblocks
indicatethatthemostcommonlyusedblockwastheoneto
get social metadata of projects (title(cid:72) of project),
followedbytheonetoiteratethroughprojects(for each
shared(cid:72) project by ). 86%ofthesurveyrespon-
dentsratedthesystemas“excellent”or“verygood”,and58%
reportedthattheyspentatleastanhourusingit. Ahistogram
showingtherelativeusagefrequenciesofthenewblocks,and
afullbreakdownofthequantitativesurveyresponsesarein-
cludedinthesupplementarymaterialforthispaper.
Figure6: Doughnutchartprojectshowingdistributionofall
Usingaqualitative,open-endedcodingprocessontheprojects,
blockseverusedbyauseroverblockcategories.
interviewtranscripts,andcommentsonprojects,weidentified
avarietyofwaysinwhichuserswereengagingindatascience
andreflection.Wedescribeexemplarsoftheseactivitiesbelow. Asanillustrationofhowdataanalysisdonebychildrenmay
Theprojectspresentedareofhigherqualitythanmanyofthe bemoreinlinewiththeinterestsanddesiresofchildrenthan
otherprojectssharedonthesite,buttheyarenotexceptional, informationvisualizationscreatedbyadults,dashboardsmade
andeachisrepresentativeofabroader“theme”orgroupof usingScratchCommunityBlockswerenotrestrictedto“stan-
projectsandcomments. Throughouttherestofthissection, dard”visualizationtypessuchaspiecharts,linegraphs,etc.
weusepseudonymsandalteredusernamestorefertousers. For example, AwesomeNemo (12 years old) made an “ice
cream visualization” of a user’s Scratch activity (shown in
Newpathwaystodatascience Figure5)wherethenumberofscoopsontheicecreamconeis
ScratchuserswereabletouseScratchCommunityBlocksto determinedbythenumberoffollowers. Thisproject,aswell
understandtheirworldthroughcomputationanddata. Tothat as several other non-canonical visualization projects, made
end, they created visualizations and representations of data extensiveuseofScratch’scloneblockthatallowsthecreator
aswellasprojectsthattriedtoanswerquestionsaboutsocial ofaprojecttoprogrammaticallycreatecopiesofspriteson
behaviorsandlearningactivitiesofthemselvesandtheirpeers. the Scratch stage. In this particular project, a single sprite
representing the scoop of ice cream was cloned repeatedly avacation, shewouldliketomakeaprojecttofindanyone
(numberofrepetitions=numberoffollowers)toachievethe inhersocialnetworkonScratchwholivesintheplaceshe’s
desiredeffect(Figure5b). going,andthenaskthemfortraveltips:
Tovisualizeone’screativeandsocialactivityonthesite,Awe- Let’ssayyouwanttogotraveling,andyouwanttoask
someNemomadeanotherprojectthatconsistedofacomputa- aScratcherwho’sfromthere–soyoucouldjustsearch
tionallygeneratedislandwherevariouscharacteristicsofthe throughallyourfollowers,andyoucanask,“Hey!How’s
islandwerebasedontheviewer’sactivityinthecommunity. Paris?”
Shewroteinthedescriptionoftheprojectonthewebsite:
EmbeddedinthisquoteisevidenceofSylviaconnectingher
Your island will be generated on a basis of how many useofthenewsystemwithherexistingknowledge(construc-
followers, sharedprojects, andfavouritedprojectsyou tionism’scontinuityprinciple). Sylviawas,inessence,think-
have!:Beautyishowmanystarsyourislandhasinthesky ing about using Scratch Community Blocks to express in a
(favouritedprojects). Habitabilityishowmanyhouses formal way what she already knew about the Scratch com-
yourislandhas(followers). Qualityoflifeishowmany munity. Sheknewthatsomeoneinhersocialnetworkmight
treesyourislandhas(sharedprojects). befromFrance. Sherealizedthat,withScratchCommunity
Blocks,shecouldaccessthisinformationcomputationallyto
Whenaskedabouthermotivationbehindtheislandvisualiza-
findthosefollowersandconnectwiththem.
tionduringaninterviewwithus,AwesomeNemorepliedthat
shedidnotwanttocreateacanonicalvisualizationlikeabar
chart—rather,shewantedtoexploremorecreativepossibili-
ties:
IwasthinkingabouthowIcanmakeaprojectusingmore
of the blocks, because [...] I only used one in the ice
creamone. SoIwasthinkingabouthowIcoulduseit
toshowstatisticsofhowmanyfollowersandthingsyou
have,likenotjustinabarchart.
Answeringquestionswithdata
Figure8: Codetostoreandanalyzedatafrommultipleuser
Many projects created with Scratch Community Blocks an-
trajectories using persistent Cloud Variables (the icon
swered questions on the activity of the user viewing these
besidethevariablenamesindicatesthatitisaCloudVariable).
projects. Inasense,theseweredatascience“apps”createdby
Scratchusersfortheirpeers.
Therewerealsoafewprojectsthatattemptedtoanswerques-
tionsabouttheScratchcommunityingeneral. Scratchsup-
portspersistentdatastructuresthroughtheScratchCloudData
systemcreatedbyDasgupta[15].Usingthissystem,avariable
inScratchcanbedeclaredaspersistentbeyondtheruntime
oftheproject. Valuessetinthecloudvariablearestoredina
server,andthestoredvalueissharedwithallusersaccessing
theprojectinquestion. CombiningthissystemwithScratch
Community Blocks, TheCoder486 (12 years old) created a
projectthatcollecteddataaboutuserswhorantheprojectand
Figure7:PartofthecodetocalculateScratchuser’s“talkative- storedmetadataaboutthecumulativenumberoflove-itsand
ness”(slightlysimplified). favoritesforeachsetofprojectsanalyzed. Thenumberswere
storedinpersistentvariables,asshowninthecodefromthe
Aprojectbya13-year-oldtitled“Howtalkativeareyou?” cal- project in Figure 8. With this simple approach, the project
culatedthecumulativetotallengthofthetitlesanddescriptions slowlybuiltupalargesampledatasetasmoreusersaccessed
ofalltheprojectssharedbythevieweroftheproject. Itthen it. ThequestionTheCoder486wasinterestedinwaswhether
addedtothistotalthelengthoftheusernameoftheviewerand users tend to use the “love it” feature in Scratch more than
thelengthofthe“aboutme”fieldonthetheviewer’sprofile. the“favorite”feature. Withthecollecteddataasofdate,his
Thetotalwasthenpresentedtotheviewerviaavariablemon- projectsuggeststhatlove-itsare1.2timesmorecommonthan
itorwidgetontheScratchstage(Figure7showspartofthe favorites.
codethatdidthisanalysis). Otherprojectsanalyzedifanyof
Incorporatingdataingamemechanisms
theprojectviewer’sfollowersmentionedthemintheir“about
WithinthelargerScratchculture,gamesconstituteapopular
me”text,whileotherscalculatedthetotalnumberoffollowers
genreofprojectscreatedbycommunitymembers. Asthechil-
theviewer’sfollowershad.
drenusingtheScratchCommunityBlockssystemwereactive
Attheconclusionoftheworkshop,whenweaskedoneofour members of the larger community and werealready deeply
participants(Sylvia)whatotherprojectsshewouldwantto embeddedwithinthecultureofScratch,itwasnotunexpected
make with the blocks. She responded that before going on toseeanumberofgames(e.g.,quizzesthataskedquestions
abouttheviewer’spastprojects)createdwithScratchCommu- Inanotherexample,duringaninterviewwithus,14-year-old
nityBlocksthatincorporateddataintotheirmechanisms. Alecsaidherealizedthatheusuallyfocusedonacertaintype
ofblockanddidnotreallyuseothers. Weaskedhimifthis
The 13-year-old who made the “How talkative are you?”
realizationmeantthathewouldusethelessfrequentlyused
projectdescribedearlieralsomadea“data-driven”dolldress-
blocksmoreinthefuture,andherepliedaffirmatively.
upgameinwhichthevieweroftheprojecthastopickand
choose clothes and accessories for a virtual doll. Although Alec: It made me think that I actually realized that
thereareanumberofsimilargamesontheScratchwebsite, sometimesIusuallyfocusonacertaintypeofblock. I
whatmadethisgamedifferentwastheuseofdataaboutthe usually make pen projects and I realized that I don’t
player’sparticipationintheScratchcommunitytodetermine actuallyusesoundormotionblocksthatmuch.
thepurchasingpoweroftheplayer. Interviewer: Would you like to use them more, now
thatyouknow?
Alec: Yes,Iprobablywouldbe.
Notallself-reflectionendedinpositivefeelings. Afterseeing
theaveragenumberof“loveits”onhisprojects,the13-year-
old author of the project that calculated this statistic left a
sarcasticcommentonhisproject:“Averageno. ofloves—four.
Well,that’snotdepressingatall:’(.”
However,byandlarge,mostoftheself-reflectionwesawhad
apositivetenor. Inasurveyresponse,oneuserwrote:
IthoughtmaybeIshouldexpandmyrangeofblocksthat
Iwouldusecommonly. Idon’tknowwhataboutitgave
methisthought,butitdid.
Figure9: Data-drivendress-upgameinwhichsocialmetrics In these projects, comments, and survey responses, we see
areusedtodeterminetheprojectviewer’spurchasingpower. childrenlookingbackattheirownactivitieswithintheScratch
community,throughdatatoolsmadebythemselvesandtheir
Foreachprojectshared,theplayergotonevirtualdollar,and peerstoreflectontheirparticipationinScratch. Bycreating
for each follower, a virtual diamond. The dollars and the andsharingprojectswithScratchCommunityBlocks,Scratch
diamondscouldthenbeusedtopurchaseclothesandjewelry usersnotonlygotachancetoreflectontheirownactivity,but
forthevirtualdollintheproject(Figure9). Whenaskedin alsotheyenabledothermembersofthecommunity—whoever
an interview about how she came up with the idea for this viewedtheproject—toengageinthesamereflectiveexercise.
project,thecreatoroftheprojectrespondedbysayingthatshe
wantedtodosomethinguniquethatincorporatedherinterest
inmakingartonScratch:
IMPLEMENTATION
Iwastryingtothinkofsomethingthatsomebodyhadn’t ThoughScratchCommunityBlocksispresentedasanexten-
doneyet,andIdidn’tseethat. AndalsoIreallyliketo siontotheScratchprogrammer,itisnotwritteninJavaScript
doartonScratchandthatwasagoodopportunitytouse likestandardScratchextensions. Instead,itisimplemented
thatandmixthetwotogether. internallywithinthecoreScratchcode-baseinActionScript
(the language Scratch is written in). This is due to the fact
Whilegamesmaynotnecessarilyfallinthecategoryoftradi-
thatthestandardScratchextensionsystemdoesnotallowfor
tionaldatasciencetools,thechildrencreatingtheseprojects
additionstothegrammarofthelanguage[16],andthedesign
weredemonstratingfluencyandcreativityinwaysinwhich
ofScratchCommunityBlocksnecessitatesthenewtypesof
they could put social and behavioral data to use. Addition-
loopsthataredescribedintheprevioussection.
ally,astheexampleaboveshows,aschildrencreatedprojects,
theyconnectedtotheirowninterests,identities,andaesthetic Internally,loopblocksintheScratchCommunityBlockssys-
sensibilities. temsendqueriesasHTTPSGETrequeststotheScratchweb-
siteAPIserver. TheAPIserverparsestherequest,translates
Self-reflectiononlearningandsocialparticipation therequestintoanappropriateSQLstatement,andthenuses
Accesstodataandtodataanalyticstoolscreatedbytheirpeers thisSQLstatementtoqueryadatabaseserver.Resultsfromthe
enabledScratchuserstoself-reflectupontheirownlearning databasearetransformedintopaginatedJSONdataandsent
andsocialparticipationinScratch. Thisself-reflectionoften backtotheinterpreterasinresponsetotheoriginalHTTPS
happened in a public setting (in project comments), and in request. Theseresponsesarethenparsedandstoredforuseby
somecases,duringinterviewsthatweconducted.Forexample, thequeryresultaccessorblocks. Adiagramofthisprocessis
onseeingtheresultsofapie-chartvisualizationoftherelative showninFigure10. Forcodemetadataresultaccessorblocks,
proportionofblockcategoriesintheirsharedprojects,a15- anextraHTTPSrequestissenttoanonlineparserwebservice
year-oldusercommented, “epic! lookslikeweneedtouse by the result accessor block itself. This online parser web
morepenblocks. :D” servicefetchestheprojectbeingrequested,parsestheproject
Figure10: SystemdiagramforScratchCommunityBlocks. Instep 1 ,theScratchinterpretersendsaHTTPSGETrequesttothe
ScratchAPIwebserver. Instep 2 ,theAPIservertranslatestherequestURLintoaSQLqueryandsendsittothedatabase. The
databasesendsbackthedatainstep 3 ,whichisthentransformedintoJSONandsenttotheinterpreterbythewebserverasa
responsetotheoriginalHTTPSrequestfromstep 1 . Oncethecompletedataisreceived,theinterpreterstartstheloop.
code,andsendsbacktheresultasaresponsetotheHTTPS Onecommonmisconception(observedinprojectsharedby
request. 19%ofusers)involvedtheuseofthecontext-sensitiveaccessor
blocks. Context-sensitiveblockscanbethoughtofasbeing
TheScratchinterpreter,designedbyMaloneyetal.[26],imple-
similar to variables that have limited scope. In the case of
mentsacooperativeround-robinschedulerwhereeveryloop
theScratchCommunityBlocks,mostaccessorblocksarenot
blockinScratchhasabuilt-inyield. Thus,allrunnablescripts
“valid”outsideoftheirassociatedloops. Thispatternofusage
getachancetoruneverydisplaycycle,providingtheillusion
wasmorecommonwiththeaccessorblockforuserdata. In
of fine-grained concurrency. Blocks that request data from
mostofthesecases,asintheexampleshowninFigure11,it
the server simply wait (i.e., pause execution of their script)
appearsthatthecreatoroftheprojectexpectedtheblockto
while all other scripts (e.g. those which update the display)
returndataabouttheusercurrentlyviewingtheproject.
continue to run. When data arrives, execution proceeds in
thatscript. Thisbehaviorisconsistentwithotherblocksin
Scratchthatwaitforsomethingtocompletebeforeproceeding,
suchasthe“wait seconds”or“play sound
until done”blocks.
AchallengewiththisapproachisthatScratchwasdesignedto
betinkerableandsupport“live”coding[26]withaminimal
distinctionbetween“live”and“edit”modes. Thisdistinction
isblurredtoallowuserstogetasenseofwhatblocksorcode
Figure11: Codefromuser-createdprojectthatillustrateshow
canbeusedfor. InScratchCommunityBlocks,thetimetaken
thecontext-sensitiveaccessorblockisincorrectlyused.
bythewebsiteAPItosendbackthefullresultsovermultiple
pagescanbenon-negligible(i.e.,ontheorderofafewminutes
Context-sensitiveblocksareageneralproblemwithblocks-
forthelargestconceivablerequests),andthislagcanaffectthe
based languages. For example, in Scratch, text input from
perceivedtinkerabilityofthesystem. Asapartialworkaround,
a user is stored in an “answer” block that is valid only if
wedesignedthesystemtocacheresultsofqueriesandreuse
theprogrammerhadpreviouslypromptedtheuserforinput.
thecachedresultswhenagivenscriptrunsasecondtime.This
ThecurrentdesignofScratchCommunityBlocksusesthese
meansthatscriptswillrunquicklyafteraninitialexecution
context-sensitive blocks prominently, making this problem
if its input parameters are unchanged. The trade-off is the
particularly salient. Currently, other than showing an error
possibility that a program written with Scratch Community
message—an approach Scratch has explicitly avoided sup-
Blocksmayoperatewithstaledata. Wefeltthatthistrade-off
porting[26]—thereisnoobviousoreasyworkaroundtothis
wasworthpreservingthetinkerabilitythatcharacterizesthe
problem.
Scratchlanguage.
Anothersourceofdifficultyamonguserswasincorrectlyscal-
LIMITATIONS ing visualizations. For example, a very active user created
AlthoughScratchCommunityBlockssupportedyouthexplo- a“cupcakevisualization”wherethesizeofthecupcakede-
rationofdata,itwasnotwithoutlimitations. Someofitsshort- pendedonthenumberofprojectssharedbytheviewer. Ifthe
comingswerehighlightedbyourusersthroughfeedbackinthe projectwasviewedbyanotheruserwithasmallnumberof
forumsandthesurvey. Commonrequestsforenhancements sharedprojects,thecupcakeimagewouldbescaledtoasize
includedcallsformoresupportmaterials(documentationand thatmadeitbarelyvisible. Thebugalludedtoearlierinthe
sampleprojects),aswellasforafasterandmoreresponsive doughnutchartvisualizationexampleinFigure6wascaused
system. Additionally,weidentifiedseveraldifficultiesfaced bythefactthatthesectionsofthedoughnutwerescaledbythe
byusersthatpointtowardshortcomingsandlimitationsofthe numberofblocksusedbytheproject’screator. Asaresult,ifa
currentdesign. userwhohadusedfewerblocksviewedtheproject,thevisual
didnotformacompletecircle. Ifauserwhohadusedmore uniquecombinationofaffordancesispotentiallyusefulina
blocks viewed it, the sections on the chart would overflow widerangeofpersonalinformaticscontexts.
anddrawoverpreviouslydrawnelements. Thisissuecanbe
For educators, our system can be seen providing a unique
seenasaconsequenceofourdecisionnottoincludevisual-
pathwayintodatascience. Whilemanyintroductorytoolkits
izationprimitives. Ifwehadincludedvisualizationprimitives
fordatascienceeducationfocusondatasetsthatmayormay
withinbuiltmechanismsforscaling,ouruserswouldnothave
not be of particular relevance to learners, users of Scratch
encounteredthisparticulardifficulty.
CommunityBlocksanalyzedatathatisaboutthemselvesand
Additionally,itwasclearinseveralcasesthataprojectcreator thathasbeencreatedbythemselves. AlthoughScratchisan
expecteddataaccessedusingtheblockstobeupdatedinreal informalcontextforlearning,webelievethatasystemsuch
time. This was commonly seen with the overall statistics as ours has merits and could be used in formal settings as
blocks, astheywereembeddedwithinloopsinsomecases, well. As described by Brennan [10], an interest-driven and
indicatingthattheauthoroftheprojectexpectednewvalues exploration-focusedapproachliketheonesupportedbyour
in different iterations of the loop. Unfortunately, real-time systemmightbeutilizedtoenablelearnerstosee“entrypoints
updatingisnotsupportedbytheunderlyingarchitectureofthe and trajectories of participation” in an existing disciplinary
system. realm,suchasdatascience.
Finally, while we found many examples of successful uses Althoughtheprojectscreatedbyyouththatwehavepresented
of the system, we have little data about invited users who canappearsuperficiallydifferentfromthekindsofanalysis
were unsuccessful in using the system. In this sense, our completedbyeducationalresearchersandlearningscientists,
evaluationmaybebiasedtowarduserswhoweresuccessful childrenareusingScratchCommunityBlockstowritecom-
inusingthesystemontheirown, atleastinthebulkofthe puterprogramstoaskandanswerquestionusingdataabout
datadrawnfromoutsideoftheworkshop. Thisisacommon theirownactivitiesandlearning. Inhisarticle“TeachingChil-
challenge in studies of informal learning online. Though a drentobeMathematiciansvs.TeachingAboutMathematics”
significant portion of the users that we invited were never [32],PapertshowedhowLogocouldofferchildrenaspace
activeonthewebsite,wedonotknowifthisinactivitywas to use and engage with mathematical ideas in creative and
due to difficulties in using the system or if they were busy personallymotivatedways. This,heargued,enabledchildren
or uninterested. Future studies in more controlled contexts togobeyondknowingaboutmathematicsto“doing”mathe-
(e.g., inworkshopswithresearcherspresent)mayshedmore matics,asamathematicianwould. Inasimilarfundamental
lightontheoverallusabilityofthesystem. sense,ScratchCommunityBlocksallowschildrentododata
science,andnotjustknowaboutit.
CONCLUSION InhisbookMindstorms: Children,Computers,andPowerful
In this paper, we presented the motivation and design of Ideas, Papert presented the idea of the “child as the episte-
Scratch Community Blocks. We explained how the system mologist,”wherechildren,throughconstructionandreflection,
isdesignedtoallowchildrentoengagedirectlyinprocesses not only learn new and powerful ideas but also think about
ofdataanalysisnormallypracticedonlybyadultsinorderto their own thinking and learn about their own learning [30].
satisfyourtwingoalsofpromotingnewpathwaystolearning InspiredbyPapert’svision,wefeelthatthegreatestpromise
about data analysis and promoting reflection. We demon- ofScratchCommunityBlocksanditsapproachisthat,inen-
strated, through a series of examples and case studies, how ablingchildrentounderstandandanalyzetheirownlearning
ScratchCommunityBlocksbothengageschildreninvisualiz- andsocialparticipation,itmaynotonlyhelpchildrenbecome
ing,representing,andansweringquestionswithdatainnew datascientistsandanalystsbutalsoencouragethemtobecome
waysandalsosupportsself-reflectiononlearningandsocial epistemologistsaswell.
participation. Finally,wepresentedadiscussionofthelim-
itations of the current design based on problems that users ACKNOWLEDGMENTS
encountered. Thispaperisbasedonthefirstauthor’sPhDdissertation,and
someofthetextandimagesinthepaperappearinthethesis.
Asasystemdesignedtosupportaconstructionistapproachto
WewouldliketothankmembersoftheScratchcommunity
datascience,ScratchCommunityBlocksenableslearnersto
fortheirtimeandforinspiringuswiththeircreativework. We
learnbydesigningandbuildingprojectsthathelpthemanswer
wouldalsoliketoacknowledgeMitchelResnick,NatalieRusk,
questions they are interested in and to represent and make
HalAbelson,JohnMaloney,andouranonymousreviewersfor
use of data in ways that speak to their styles and identities.
theirsupportandthoughtfulfeedback. Financialsupportfor
Learners can also share their work with their peers. These
thisworkcamefromtheNationalScienceFoundation(grants
sharedcreationsarenotonlyviewablebyothersbutcanalso
DRL-1417663andDRL-1417952).
beusedbypeerstoreflectontheirexperiencesandlearning.
Amongtherelatedsystemsthatinformedourdesign,Scratch REFERENCES
1. HaroldAbelsonandAndreadiSessa.1986.Turtle
CommunityBlocksisauniquedesigninseveralsenses. The
Geometry: TheComputerasaMediumforExploring
systemnotonlyfostersdata-mediatedreflectiononlearning,
Mathematics.MITPress,Cambridge,MA.
italsoenablesuserstoconstructtheirownvisualizationsand
analysesinwaysthatareoftenverydifferentfromcanonical 2. EfthimiaAivaloglouandFelienneHermans.2016.How
formsofdatarepresentationandanalysis. Webelievethatthis KidsCodeandHowWeKnow: AnExploratoryStudyon