94 live coding classroom - university of...

9
Challenges and New Directions for Collaborative Live Coding in the Classroom Anna Xambó 1,2 , Jason Freeman 1 , Brian Magerko 2 and Pratik Shah 3 1 Center for Music Technology, Georgia Institute of Technology, Atlanta, GA, USA [email protected] [email protected] 2 Digital Media Program, Georgia Institute of Technology, Atlanta, GA, USA [email protected] 3 School of Interactive Computing, Georgia Institute of Technology, Atlanta, GA, USA [email protected] Abstract. This paper focuses on the potential of collaborative live coding in educational settings. In particular, it draws from our experience with EarSketch, a free online platform for algorithmic composition and computational music remixing that allows students to learn Computer Science Principles (CSP) by making music using either Python or JavaScript. We argue that collaborative live coding is a promising approach to learning CSP through computer music in the classroom. We draw on interviews with teachers and observations in schools. We discuss how collaboration can be better supported in educational settings when learning CSP using EarSketch, and the challenges and potential for learning music and code using a computer-supported collaborative environment. Keywords: Collaboration, Live Coding, Peer-to-Peer Communities of Practice, STEAM Education. Introduction Knowing how to code is an essential skill of the 21st century. National programs, such as the recent American “Computer Science (CS) for All”, 1 evidence the emergent interest of providing the required resources to allow students to learn to code early on. These programs aim to broaden participation in Science, Technology, Engineering, and Math (STEM) fields, in which certain populations are underrepresented, such as women, Afro-Americans, and Latinos (Burge and Suarez 2005; Freeman et al. 2014). A successful approach is including the arts when teaching STEM subjects, also known as Science, Technology, Engineering, Art, and Math (STEAM) education. In particular, initiatives such as EarSketch (Freeman et al. 2014) have proven to engage underrepresented populations in STEM disciplines by bringing musical artistic practices with low barrier of entry into STEM. EarSketch 2 is a free online learning platform and curriculum for algorithmic composition and computational music remixing. 3 EarSketch allows students to easily create music by combining audio samples, using either Python or JavaScript, within a Digital Audio Workstation (DAW) inspired interface. The educational platform has been deployed in a number of high schools, summer camps, and college courses. There is an existing debate of authentic learning in music education (cf. Green 2008), to which the experience with EarSketch contributes. Freeman et al. (2014) explain that part of the success of the initiative, seconded by informal conversations with teachers who deploy EarSketch and our observations in the classroom, is that working with EarSketch has an authentic 4 character: it is personally meaningful (i.e. students can create their own music using different electronic music genres, such as hip hop, dubstep, or techno), as well as professionally relevant (i.e. students learn modern programming languages, and how to operate DAWs). The 1 http://nsf.gov/csforall (accessed February 18, 2016). 2 http://earsketch.gatech.edu (accessed February 18, 2016). 3 Computational music remixing refers here to program a different version of a song by combining existing sound samples. 4 An authentic activity or practice refers here to an action or set of actions that connect to a real-world situation.

Upload: others

Post on 16-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 94 Live Coding Classroom - University of Sussexusers.sussex.ac.uk/.../Papers/Long_Papers/94_Live_Coding_Classroom.… · processing. Live coding comes into play when using infinite

ChallengesandNewDirectionsforCollaborativeLiveCodingintheClassroom

AnnaXambó1,2,JasonFreeman1,BrianMagerko2andPratikShah3

1CenterforMusicTechnology,GeorgiaInstituteofTechnology,Atlanta,GA,[email protected]@gatech.edu

2DigitalMediaProgram,GeorgiaInstituteofTechnology,Atlanta,GA,[email protected]

3SchoolofInteractiveComputing,GeorgiaInstituteofTechnology,Atlanta,GA,[email protected]

Abstract.Thispaperfocusesonthepotentialofcollaborativelivecodingineducationalsettings.Inparticular,itdrawsfromourexperiencewithEarSketch,afreeonlineplatformforalgorithmiccompositionandcomputationalmusicremixingthatallowsstudentstolearnComputerSciencePrinciples(CSP)bymakingmusicusingeitherPythonorJavaScript.WearguethatcollaborativelivecodingisapromisingapproachtolearningCSPthroughcomputermusicintheclassroom.Wedrawoninterviewswithteachersandobservationsinschools.WediscusshowcollaborationcanbebettersupportedineducationalsettingswhenlearningCSPusingEarSketch,andthechallengesandpotentialforlearningmusicandcodeusingacomputer-supportedcollaborativeenvironment.

Keywords:Collaboration,LiveCoding,Peer-to-PeerCommunitiesofPractice,STEAMEducation.

IntroductionKnowinghowtocodeisanessentialskillofthe21stcentury.Nationalprograms,suchastherecentAmerican“ComputerScience(CS)forAll”,1evidencetheemergentinterestofprovidingtherequiredresourcestoallowstudentstolearntocodeearlyon.TheseprogramsaimtobroadenparticipationinScience,Technology,Engineering,andMath(STEM)fields,inwhichcertainpopulationsareunderrepresented,suchaswomen,Afro-Americans,andLatinos(BurgeandSuarez2005;Freemanetal.2014).AsuccessfulapproachisincludingtheartswhenteachingSTEMsubjects,alsoknownasScience,Technology,Engineering,Art,andMath(STEAM)education.Inparticular,initiativessuchasEarSketch(Freemanetal.2014)haveproventoengageunderrepresentedpopulationsinSTEMdisciplinesbybringingmusicalartisticpracticeswithlowbarrierofentryintoSTEM.

EarSketch2isafreeonlinelearningplatformandcurriculumforalgorithmiccompositionandcomputationalmusicremixing.3EarSketchallowsstudentstoeasilycreatemusicbycombiningaudiosamples,usingeitherPythonorJavaScript,withinaDigitalAudioWorkstation(DAW)inspiredinterface.Theeducationalplatformhasbeendeployedinanumberofhighschools,summercamps,andcollegecourses.Thereisanexistingdebateofauthenticlearninginmusiceducation(cf.Green2008),towhichtheexperiencewithEarSketchcontributes.Freemanetal.(2014)explainthatpartofthesuccessoftheinitiative,secondedbyinformalconversationswithteacherswhodeployEarSketchandourobservationsintheclassroom,isthatworkingwithEarSketchhasanauthentic4character:itispersonallymeaningful(i.e.studentscancreatetheirownmusicusingdifferentelectronicmusicgenres,suchashiphop,dubstep,ortechno),aswellasprofessionallyrelevant(i.e.studentslearnmodernprogramminglanguages,andhowtooperateDAWs).The

1http://nsf.gov/csforall(accessedFebruary18,2016).2http://earsketch.gatech.edu(accessedFebruary18,2016).3Computationalmusicremixingrefersheretoprogramadifferentversionofasongbycombiningexistingsoundsamples.4Anauthenticactivityorpracticerefersheretoanactionorsetofactionsthatconnecttoareal-worldsituation.

Page 2: 94 Live Coding Classroom - University of Sussexusers.sussex.ac.uk/.../Papers/Long_Papers/94_Live_Coding_Classroom.… · processing. Live coding comes into play when using infinite

EarSketchcurriculumalignswiththeAdvancedPlacement(AP)ComputerSciencePrinciples(CSP)curriculumframework.5AhighlightedaspectoftheAPCSPcurriculumframeworkistosupportcollaborationduringCSlearning.

ThispaperaimstoexplorethenatureofcollaborationusingEarSketchineducationalsettings,andtopointtofuturedirections,withnointentiontoassessthemusicaloutcomeatthisstageofresearch.Livecodingpracticesarebasedontheuseofscriptinglanguagesforreal-timemusicimprovisation(Brown2006;Collinsetal.2007;FreemanandVanTroyer2011;Rohrhuberetal.2007).ThepotentialoflivecodingasaneducationaltoolwithanimpactonbothmusicalandcomputationallearninghasbeendiscussedinFreemanandMagerko(2016)usingEarSketch.Withlivecoding,themodificationandexecutionofthecode,orcomposingandperforming,areproducedassimultaneousactivitiesinrealtime.Asafollow-upofFreemanandMagerko(2016),thispaperspeculatesthepotentialofcollaborativelivecodingineducationalenvironments,particularlyfromaperformativepointofview.Theaimistoinvestigatehowtobettersupportcollaborativepracticesusingcomputersintheclassroom.Inthenextsection,weoverviewmusicalpracticesoflivecodingandcollaboration,aswellaslivecodingpracticesinCSeducation,thatinformthiswork.

BackgroundCollaborativeLiveCoding

Collaborativelivecodingisanumbrellatermthatreferstoperforminglivecodingingroup,whichincludesfromsmalltolargergroups.Barbosa(2003)proposedaclassificationspaceforcomputer-supportedcollaborativemusicbasedontheuser’slocation(co-locatedvsremote)andgroup’sinteractiontime(synchronousvsasynchronous).Thisresearchisinterestedinaclassroomsettinginwhichgroupsarelocatedinthesamespace,interactingatthesametime,workingeitheronindividualorsharedinterfaces.Next,weprovideillustrativeexamples,asopposedtoall-inclusive,ofapproachestoco-locatedcollaborativelivecoding.

Smallgroupcollaborationusingindividualscreens,andworkingasanetworkwithasharedclockisreportedbyMcLean(2015).Acommoncollaborativelivecodingconfigurationisworkinginpairs.2ˆn6isaprojectstartedin2012bytheelectronicmusicduoPulso(GerardRomaandAnnaXambó).TheprojectusesahighlyconstrainedenvironmentwritteninSuperCollider,whichisareal-timeaudiosynthesisenvironmentandprogramminglanguage(McCartney2002).TheprojectisinspiredbytheixilangSuperColliderenvironment(Magnusson2011).Thesetupconsistsoftwolaptops,eachrunningasharedcustomizedpatchthatshowstwosynchronizedcodeeditors,oneforeachoftheperformers(seeFig.1).

Figure1:Pulso’s2ˆnpresentedinLiveCodingSessionsatNiu,Barcelona(March13,2012)

5https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap-computer-science-principles-curriculum-framework.pdf(accessedFebruary18,2016).6https://soundcloud.com/pulso-2-n(accessedFebruary18,2016).

Page 3: 94 Live Coding Classroom - University of Sussexusers.sussex.ac.uk/.../Papers/Long_Papers/94_Live_Coding_Classroom.… · processing. Live coding comes into play when using infinite

Thereexistanumberoflaptopensemblesandorchestrasallovertheworld,ofwhichsomeofthemexploreegalitarianapproachesoftheensemble,whilstothersexploremorehierarchicalstructures.7Collaborativelivecodinginlargegroups,underdemocraticsettings,isinvestigatedbytheRepublic(deCampo2014),aprojectthatstartedin2003usinglaptopsandtheirbuilt-inspeakers.TheRepublicisbasedonanavailableextensionlibrarywritteninSuperCollider.TheRepublic’sprincipleistocreateasymmetricalandmulti-directionalnetwork,inwhicheachplayercanaccessandmodifyeachother’scode(Rohrhuberetal.2007).Thetwoensemblespowerbooks_unpluggedandRepublic111usetheRepublic’sideasandtechnology.TherecentadventoftheWebAudioAPI,8inJavaScript,hasenabledanumberofprojectstoexplorethepossibilitiesofparticipatoryaudiencewiththeirmobiledevicesusingtheirbrowser,andconnectedtoanetwork.Withafewexceptions,suchastheUrMuslivecodinglanguageformobilephonesusedextensivelybytheMichiganMobilePhoneEnsemble(Essl2010),thereislittleresearchonlivecodingonmobiledevices,particularlyparticipatorylivecoding,whichseemsaninterestingdirectiontocomputationallysupportcollaborationamonglargegroups.

LiveCodinginLearningEnvironments

InterdisciplinaryexperiencesbetweenCSandmusichavebeenexploredintheclassroom.Forexample,Scratch9isablocks-basedprogramminglanguage,whichcanbeusedtocreateavarietyofmultimediaapplications,suchasgames.Scratchhasbeenparticularlyusedinmusic-relatedprojects,forexample,forteachingcomputationalthinkingthroughmusicintheclassroom(Ruthmannetal.2010).Accordingly,computationalthinkinginScratchincludesconceptssuchassynchronization,looping,initialization,useofvariables,changingvariablesalgorithmically,modularization,andeventprocessing.Livecodingcomesintoplaywhenusinginfiniteloopsandalgorithmiccomposition(cf.Edwards2011).Changescanbedoneinrealtimewithnodisruptiontothemusicaloutcome,akeyfeatureoflivecoding.TheScratchcoursesoncomputationalthinkingthroughrealtimemusicarecalledPerformamatics(Ruthmannetal.2010),inwhichtheunderstandingofcomputationalandmusicalconceptsaretightlylinkedtothenatureofamusicallivecodingevent.

AnotherexampleisSonicPi,10anopensourcelivecodingenvironmentforalsoteachingcomputingconceptsthroughmusic,whichrunsonthetinycomputerRaspberryPi(AaronandBlackwell2013).SonicPiisbasedonimperativecommands,builtontopoftheRubyandSuperColliderlanguages.EducationalcollaborativeexercisesusingSonicPiarereportedbyAaronandBlackwell(2013).Forexample,studentsenactimperativeprogrammingbytriggeringsoundsinturns.Toourknowledge,platformsforlivecodinginlearningenvironmentshavebeendesignedandresearchedfocusingonindividualuse.ThispaperisaninitialsteptofillthegapbetweencollaborationasakeycomponentinCSlearningandlivecodingineducation.

EarSketch:LiveCodingFeaturesEarSketchisafreebrowser-basedDAWenvironmentbuiltwithWebAudioAPIthatallowsstudentstocreatetheirownalgorithmiccompositionsandcomputationalmusicremixeswhilelearningcomputingprinciples(Mahadevanetal.2015).TheEarSketchAPIisbuiltontopofJavaScriptandPythonsothatEarSketchcanbeeasytousebystudents.Userscanworkeitherwiththeirownuploadedsounds,orwith4000availablemusicsamplesthatweredesignedbyRichardDevine,whoisanAtlantaelectronicmusiccomposer,andYoungGuru,whoisJay-Z’saudioengineerandtourDJ.EarSketchsupportsCSPthroughpromotingcreativepracticeandself-expressionlinkedtocomputationallearning;allowingfortheuseofcomputationalconcepts,suchaslayersofabstraction(e.g.theDAWtimeline),loops,variables,differentdatatypes,andproceduralalgorithms;providingtheInternetmediumasbothanindividualandacollaborativespaceinwhichsongsandscriptscanbeshared;andallowingforsocialimpactofcomputingpractices.

IntheDAWview,userscanplaythemusictheycreatedincode,andperformbasictransportandmixingoperations.Thecommonworkflowistowritelinesofcodeinthecodeeditor;executethecodebypressingtherunbutton,which

7http://www.ialo.org/doku.php(accessedFebruary18,2016).8https://www.w3.org/TR/webaudio(accessedFebruary18,2016).9https://scratch.mit.edu(accessedFebruary18,2016).10http://sonic-pi.net(accessedFebruary18,2016).

Page 4: 94 Live Coding Classroom - University of Sussexusers.sussex.ac.uk/.../Papers/Long_Papers/94_Live_Coding_Classroom.… · processing. Live coding comes into play when using infinite

rendersthetracksontheDAWview;andpresstheplaybuttontolistentotheresults(seeFig.2).Usersarenotabletoeditthemulti-trackaudioandeffectscontentdirectly,insteadtheymusteditthecodetochangethemusic.SomeoftheDAWfeaturesofEarSketchcanbeusedwithinalivecodingcontext(FreemanandMagerko2016).Forexample,theloopingplaybackfeatureinthetransportcontrolsallowsforchangingthecodeinrealtimewithnodisruptiontothemusicaloutput.Looppointsisanotherlivecodingfeature,whichallowsstudentstosetshorterrangeswithinthesongwithstartandendpoints.Soloingandmutingtrackscanalsobecombinedwiththepreviousfeaturestocreatemorerichnessandvariationofthemusicaloutcome.However,aDAWinterface,suchasEarSketch,isgenerallydesignedforindividualuse.Inthenextsection,wereporthowEarSketchisusedintheclassroomaspartofcollaborativepractices,andhowEarSketchteachersenvisionitcouldbeimprovedforsupportingcollaborationineducationalsettings.

Figure2:EarSketchwithaPythonscriptthatincludesaloopingfunctionandarandomfunction

CollaborationintheClassroomwithEarSketchHerewepresentrelevanttopicsthatemergedduringinformalconversationsaroundEarSketchandcollaborationthatevidencestheneedofcomputer-supportededucationalenvironmentsforcollaborativelivecoding.WehadcasualinterviewswithsometeachersofEarSketch,ofwhichsomeofthemhadteachingexperience,whilstsomeofthemhadtrainingexperience.Wewereinterestedingettingasenseofcurrentpracticesintheclassroomandpotentialneedsforimprovingcommunicationbetweenstudents,andcommunicationbetweenstudentsandteacher.Wealsovisitedthreeschoolsandconductedin-the-wildandunobtrusiveobservationsbytakingnotes.

Weidentifiedanumberofpracticesforsharingcode:forexample,GoogleDocsisusedforsharingtheEarSketchcodebetweenstudentsandtheteacher;somestudentssharebetweenthemthedevelopmentprocess(e.g.techniques,compositionstrategies),orthemusicaloutcome;somestudentssharetheircodewithotherstudents,andLearningManagementSystemsareusedbysomestudentstoposttheircodeandcommentonit.Theseexamplesillustrateasynchronoussharingpracticesoccurringaftercompletingandsavingindividualscripts.Aspotentialneedsforsharingcode,itwashighlightedthatsharingascriptfile,likewithaGoogleDoc,wouldbeusefulbecausemultiplepeoplecaneditthesamedocumentatthesametimeandaccessfromdifferentcomputers;andsomevariationofGoogleDocswithEarSketchwouldbeahugeimprovementasGoogleDocsisusedinotherCSsubjectsforgroupprojects.Thispointstotheneedofreal-timecollaborationsupportintheclassroom,duringtheprocessofcodingandmusicmaking.However,someissueswereraised,suchastowhatextentsharingcodecangoagainstCSP:teachersneedtomakesurethework’s

Page 5: 94 Live Coding Classroom - University of Sussexusers.sussex.ac.uk/.../Papers/Long_Papers/94_Live_Coding_Classroom.… · processing. Live coding comes into play when using infinite

authorship,whichrelatestohowtogradeacollaborativepiece;andalsosharingwouldrequiredifferentlevelsofpermissions.

Werecognizedanumberofpracticesaroundcollaborationintheclassroom:forexample,organicandinformalcollaborationoccurs;studentsnaturallyteamup;groupsworkinpairs;andgroupsofsizethreewithatleastonemusicianhavebeenobserved,whichpointstosmall,casualandinterdisciplinaryteams.Itwasalsoreportedthatstudentsprefertobeindependentandcollaborative,whichindicatesthatkeepingindividualterminalsforeachstudentduringcollaborationseemsuseful.Activitiesaroundcollaborationinclude:informalpresentationsinwhichstudentssharetheircontent,explainwhattheydo,andreceivefeedbackfromtheteacherorotherstudents;sessionsinwhicheveryoneplaystheirpieceasaperformanceandtheotherstudentsgivetheiropinionsopenly;gallerywalks,inwhichtheclassmatesvisitandlistentoothers’workfromonesideoftheclass,andthentheyswitchside;pairprogrammingactivitiesinwhichstudentsalternaterolesbetweendriverandnavigator;competitionsofsongsusingavotingsystem;andcollaborationsinalignmentwiththeAPCSPcurriculumframework.Inparticular,thegroupactivitiesthatoccurduringtheprocessofcoding,suchasinpairprogramming,arebasedonturn-takingteamwork.Aspotentialcollaborativefeatures,weidentifiedtheneedofmorereal-timecollaborationsupport,includingtheabilitytochattoeachother;theabilitytomodifythesamescriptfromdifferentterminalsbymultiplestudents;andanenvironmentthatsupportsfreedomofchoiceduringteamwork(asopposedtoconstrainedroles).

Wealsoidentifiedthenatureoftheteachingenvironmentandteachingpractices,including:acasualenvironment;studentstalkingtoeachotherbeforetheyasktotheteacher;andthepromotionofinteractionwiththeenvironmentalmosteverymomentaccordingtotheAPCSPcurriculumframework.Aspotentialfeaturesforsupportingteachingpractices,weidentifiedthatitshouldbeeasiertoseethecodeofeachother,andtomakecommentsfromasmallteam(teacher,andafewpeers)sothatstudentscouldreceivemeaningfulfeedback.ThisindicatestheimportancetosupportcollaborationandpeerlearninginaCSclasswithininformalcontexts,inparticularsharingandcommentingcodeinrealtimeaspartofthelearningprocess.Collaborativecodingasamusicalperformanceeventcanpromotepeer-to-peerlearningwithinreal-worldsituations,asdiscussednext.

ApproachestoandChallengesofCollaborativeLiveCodingInthissection,wediscusspotentialgroupconfigurationssuitableforcollaborativelivecodingbasedonthenotionofcommunitiesofpractice;threepromisingapproachestoreal-timecollaborationbasedonworkingineitherpairsorlargergroupsusingthesamescript;andfinalremarksonhowwecanbestsupportcollaborativelivecodingintheclassroom.

Peer-to-PeerCommunitiesofPractice

Insituatedlearning,knowledgeissharedandco-constructedwithinacontextandinacommunityofpractice(CoP),understoodasagroupthatsharesanactivity(LaveandWenger1991),yetthisliteraturehastypicallyfocusedonexamplesofbeginnerslearningfromexperts.Collaborativelearning,understoodasasituationinwhichmorethanonepersonlearnortrytolearntogether(Dillenbourg1999),hasbeenafrequentlystudiedaspectofcomputer-supportedcollaborativework(CSCW)systems(Dillenbourg1999).Theseconceptsallowsustounderstandtheactionasasituatedcollaborativeactivityinwhichtheknowledgeistransferredbydoinginagroupandmediatedbytechnologies.Insuchlearning,peoplegraduallyconstructashared,convergentmeaning,whichissituated(Roschelle1992;Suchman1987),andwhichdependsonthepeopleinvolvedandtheparticulartechnologyused.Green(2008)identifiesgrouplearningthroughmusic-makingininformallearningpracticeswithinmusiceducation,inwhichstudentslearnthroughwatching,imitatingandlisteningtoeachother.Theaboveideasresonatewiththenotionofcollaborativelivecoding,inwhichstudentscanlearnfromviewingandinteractingwithotherstudents’practices,asopposedtoonlyfromtheteacher,andtakingadvantageofreal-timecollaborationfeatures.Potentialconfigurationsandrolesintheclassroomcanincludeworkingininterdisciplinarypairsorsmallgroupsbycombininglevelsofexpertise(e.g.beginnersandexperts),ordomainsofexpertise(e.g.codersandmusicians).

Page 6: 94 Live Coding Classroom - University of Sussexusers.sussex.ac.uk/.../Papers/Long_Papers/94_Live_Coding_Classroom.… · processing. Live coding comes into play when using infinite

ApproachestoReal-TimeCollaborationLivePairProgrammingApproach

ThisapproachisbuiltupontheexistingpracticeofpairprogrammingintheclassroomobservedwithEarSketch.CombiningpairprogrammingwithlivecodingishighlightedinFreemanandMagerko(2016)asaformofcollaborationwhereeachstudentcanadd,inturns,alayerofcomplexity,computationallyandmusically,toanongoingloop.Theperiodicswitchingrolesofdriverandnavigatorcanbekept,andthechangesontheEarSketchscriptareproducedinrealtimeinaperformancesetting.Thescreencanbeprojected,andsotheotherstudentscanseethecodeandunderstandtwoapproachestocomputationalthinkingthatareclearlyorganizedinturns.Inlivecoding,themusicaloutcomechangesaspartofaprocess,aprocessofchangingbydoing,whichconnectswithprocessmusicideas(Reich1965),aswellaswithaniterativecodingworkflow(FreemanandMagerko2016).Eventhoughtheclarityonwhoisdoingwhat,turn-takingaddsconstraintstocollaborativelivecodingbecauseitlimitstheflexibilityofmodifyingascriptsynchronouslyasinthecaseofpairlivecoding(whichisexplainedlaterinthissection),duetostudentsareworkingwithonlyonesharedterminal.ThisapproachcanbeusefulinaCSclasstostrengthenlearningofCSPthroughpairprogrammingwithinacreativecontext.Theselectionofasetofaudiosamplesfromtwopeoplecanalsocreateinterestinghybridmusicstyles,unlessamusicstyleisplannedbeforehand,orthemusicstyleisconstrainedbyanassignment,orbothstudentslikethesametypeofmusic.

MultipleLiveCodingApproach

ThisapproachisbasedontheGoogleDocsapproachofallowingformultipleeditors,whocanworksimultaneouslyonthesamefile.WithEarSketch,aplannedfuturefeatureisthatthescriptcanbesharedsimultaneously,everyonecanmodifyit,andthemusicaloutcomeresultsfromasumofindividualcursors.Inaneducationalcontext,thisapproachcanbeappliedtoteachdemocraticapproachestomusicmakinginrealtime,aswellaslearningtointerveneinduecourse,similartothecycleoflisteningandplayingingroupmusicalimprovisation.Computationalconceptscanbelearnedusingamoreinteractiveapproachthanjustwatchingaprojectedscreenofother’scodeasinthecaseoflivepairprogramming,wheretheknowledgecanbespreadthroughoutthewholeclass,increasingtheinformationflowwithintheclass.Thisapproachcanalsobecomechaotic,butnothingpreventstheteacherandthestudentstodecideforcertainrolesandrules.Forexample,aninterestingavenuetoexploreisaconversationwiththeteacherasalivecodershowingacomputationalandmusicalconcept,withascriptthatcanbesharedandoccasionallymodifiedbystudents,eitherbyreplyingateacher’squestion,orbywritingquestionsorsuggestionsascommentsthattheteacherorotherstudentscanaddress,orbymodifyingcodeinanorganizedform.Anotherexampleisexploringinteractiveprogrammingingroup,wheretherecanbeadivisionoflaborofcreatingdifferentfunctionsfordifferentpartsofthesongandtestthemastheyarewritten,inrealtime.Asapotentialchallenge,itisunclearhowtoknowwhentore-excutethecodeinastatethathasnosyntaxorlogicalerrorswhenmultiplepeopleareeditingthesamecodedocument.Anotherchallengeis,ifstudentswanttocreateasymmetricalnetworkasintheRepublic’sexample,identifyinghowtoknowwhatiseachother’scode,aswellashowtoknowwhohasmodifiedit,assumingthatitmatterstoknowaboutcodeauthorship.

PairLiveCodingApproach

Thisapproachisaninstanceofthemultiplelivecodingapproach,butconstrainedtotwostudents.ItisalsobasedonduosasinpairprogrammingworkingonasingleEarSketchscript,buteachstudenthasanindividualterminalsobothcanbedriverswhocontributetothescriptsimultaneously.Inaneducationalcontext,thisapproachcanbeusefulforsimultaneoussharingofcomputationalandmusicalstrategiesonthesamescript,aswellasforteamsolvingofcomputationalerrors.Thisapproach’sflexibilityforreal-timegroupworkisindetrimentofknowingwhoisdoingwhatbeyondthepairofstudents,forexample,whenprojectingtheirscript.AninterestingchallengeisworkingwithtwosimultaneousscriptsinEarSketch,asinPulso’s2ˆn,thatwouldrequirebothtobesynchronized.

Page 7: 94 Live Coding Classroom - University of Sussexusers.sussex.ac.uk/.../Papers/Long_Papers/94_Live_Coding_Classroom.… · processing. Live coding comes into play when using infinite

LiveCodingSuitableforLearnabilityandCollaborationAccordingtoRuthmannetal.(2010),asuitableenvironmentforlivecodingintheclassroomneedstoallowfortheexplorationofreal-timemanipulationofcode,inwhichbothmusicalandcomputationalunderstandingareimportant.Furthermore,theenvironmentneedstobeeasytouse(e.g.EarSketch,Scratch,SonicPi),includingdomain-specificlanguagesthatareeasytounderstand(AaronandBlackwell2013).Weargueherethatthebenefitsofcollaborativelivecodingintheclassroomincludethatcomputationalthinkingmovesfromanindividualtoasocialplane,inwhichproblemsandprogressaresharedaspartofthelearningprocess,inreal-timeandreal-lifesituations.Thisapproachincludesexistingpracticesobservedintheclassroom,suchasshowcasingstudents’work,ordiscussingthecodeingroup.Italsospanstopotentialnewpractices,suchasperforminginpairsoflivecoders,ormanipulatinginrealtimethecodeaspartofaparticipatory,multi-directionalmusicalpieceinvolvingthewholeclass.Anopenquestioniswhetherthesessionsshouldberecordedtoreflectonthempedagogically.Anotheropenquestionishowcollaborativelivecodingwouldbescreencastedandunderstoodincertainlivecodingeducationalcontexts,suchasLivecoding.tv,11alivestreamplatformthatgenerallyfocusesonlearningfromwatchingindividuallivecoders.Futureworkincludesassessingthemusicaloutcomeofcollaborativelivecodingintheclassroom,aswellasdesigningasetofexercisesbasedonthispractice.

ConclusionandFutureWorkThispaperdiscussedthechallengesandpotentialofcollaborativelivecodingintheclassroom.Wepresentedexistingcollaborativepracticesinlivecoding,andlivecodingenvironmentsineducation.Drawnfromtheliteraturereviewandempiricalwork,wediscussedthreechallengingandpotentialapproachestocollaborativelivecodingusingEarSketch,aspartofpeer-to-peercommunitiesofpractice.Finally,weproposedhowtobestsupportcollaborativelivecodingineducationalsettings.Asfuturework,weplantoassessthesuggestedapproachestocollaborativelivecodingintheclassroom.12

Acknowledgements.Wearethankfultotheteacherswhoparticipatedintheinterviews.TheEarSketchprojectreceivesfundingfromtheNationalScienceFoundation(CNS#1138469,DRL#1417835,andDUE#1504293),theScottHudgensFamilyFoundation,andtheArthurM.BlankFamilyFoundation.

ReferencesAaron,Samuel,andAlanF.Blackwell.2013,September.“FromSonicPitoOvertone:CreativeMusicalExperienceswithDomain-SpecificandFunctionalLanguages.”ProceedingsoftheFirstACMSIGPLANWorkshoponFunctionalArt,Music,Modeling&Design.NewYork,USA:ACM,35–46.

Barbosa,Álvaro.2003.“DisplacedSoundscapes:ASurveyofNetworkSystemsforMusicandSonicArtCreation.”LeonardoMusicJournal13:53–59.

Brown,AndrewR.2006.“CodeJamming.”M/CJournal9,no.6.

Burge,JamikaD.,andTikiL.Suarez.2005,October.“PreliminaryAnalysisofFactorsAffectingWomenandAfricanAmericansintheComputingSciences.”EditedbyPamelaJ.WilliamsandMarkA.Friedman,Proceedingsofthe2005ConferenceonDiversityinComputing.NewYork,USA:ACM,53–56.

Collins,Nick,AlexMcLean,JulianRohrhuber,andAdrianWard.2007.“LiveCodingTechniquesforLaptopPerformance.”OrganisedSound8(3):321–330.

11https://www.livecoding.tv(accessedFebruary18,2016).12Proofofconcept:https://vimeo.com/167653232(accessedMay22,2016).

Page 8: 94 Live Coding Classroom - University of Sussexusers.sussex.ac.uk/.../Papers/Long_Papers/94_Live_Coding_Classroom.… · processing. Live coding comes into play when using infinite

deCampo,Alberto.2014,September.“Republic:CollaborativeLiveCoding2003–2013.”EditedbyAlanBlackwell,AlexMcLean,JamesNoble,andJulianRohrhuber,CollaborationandLearningthroughLiveCoding(DagstuhlSeminar13382).Dagstuhl,Germany,152–153.

Dillenbourg,Pierre.1999.“WhatDoYouMeanby’CollaborativeLearning’?”InCollaborativeLearning:CognitiveandComputationalApproaches,editedbyP.Dillenbourg,Volume1,1–19.Oxford,UK:Elsevier.

Edwards,Michael.2011.“AlgorithmicComposition:ComputationalThinkinginMusic.”CommunicationsoftheACM54(7):58–67.

Essl,Georg.2010,June.“TheMobilePhoneEnsembleasClassroom.”Proceedingsofthe2010InternationalComputerMusicConference.NewYork:InternationalComputerMusicAssociation,506–509.

Freeman,Jason,andBrianMagerko.2016.“IterativeComposition,CodingandPedagogy:ACaseStudyinLiveCodingwithEarSketch.”JournalofMusicTeacherEducation9(1):37–54.

Freeman,Jason,BrianMagerko,TomMcKlin,MikeReilly,JustinPermar,CameronSummers,andEricFruchter.2014,March.“EngagingUnderrepresentedGroupsinHighSchoolIntroductoryComputingthroughComputationalRemixingwithEarSketch.”EditedbyJ.D.Dougherty,KrisNagel,AdrienneDecker,andKurtEiselt,Proceedingsofthe45thACMTechnicalSymposiumonComputerScienceEducation.NewYork:ACM,85–90.

Freeman,Jason,andAkitoVanTroyer.2011.“CollaborativeTextualImprovisationinaLaptopEnsemble.”ComputerMusicJournal35(2):8–21.

Green,Lucy.2008.Music,InformalLearningandtheSchool:ANewClassroomPedagogy.Hampshire,UK:AshgatePublishingLimited.

Lave,Jean,andEtienneWenger.1991.SituatedLearning:LegitimatePeripheralParticipation.Cambridge,UK:CambridgeUniversityPress.

Magnusson,Thor.2011,July–August.“ixilang:ASuperColliderParasiteforLiveCoding.”EditedbyMontyAdkinsandBenIsaacs,Proceedingsofthe2011InternationalComputerMusicConference.SanFrancisco:InternationalComputerMusicAssociation,503–506.

Mahadevan,Anand,JasonFreeman,BrianMagerko,andJuanCarlosMartinez.2015.“EarSketch:TeachingComputationalMusicRemixinginanOnlineWebAudioBasedLearningEnvironment.”ProceedingsoftheWebAudioConference.

McCartney,James.2002.“RethinkingtheComputerMusicLanguage:SuperCollider.”ComputerMusicJournal26(4):61–68.

McLean,Alex.2015.“ReflectionsonLiveCodingCollaboration.”SkylerandBlissOriginalCitationAdkins,MontyandSegretier,Laurent(2015)SkylerandBliss.In:xCoAx2015:ProceedingsoftheThirdConferenceonComputation,Communication,AestheticsandX.UniversidadedoPorto,Porto,pp.213–220.

Reich,Steve.1965.“MusicasaGradualProcess.”WritingsonMusic,1965–2000,pp.34–36.

Rohrhuber,Julian,AlbertodeCampo,RenateWieser,Jan-KeesvanKampen,EchoHo,andHannesHölzl.2007,September.“PurloinedLettersandDistributedPersons.”MusicintheGlobalVillageConference.

Roschelle,Jeremy.1992.“LearningbyCollaborating:ConvergentConceptualChange.”TheJournaloftheLearningSciences2(3):235–276.

Page 9: 94 Live Coding Classroom - University of Sussexusers.sussex.ac.uk/.../Papers/Long_Papers/94_Live_Coding_Classroom.… · processing. Live coding comes into play when using infinite

Ruthmann,Alex,JesseM.Heines,GenaR.Greher,PaulLaidler,andCharlesSaultersII.2010,March.“TeachingComputationalThinkingthroughMusicalLiveCodinginScratch.”EditedbyGaryLewandowski,StevenWolfman,ThomasJ.Cortina,andEllenL.Walker,Proceedingsofthe41stACMTechnicalSymposiumonComputerScienceEducation.351–355.

Suchman,Lucy.1987.PlansandSituatedActions:TheProblemofHuman-MachineCommunication.Cambridge,UK:CambridgeUniversityPress.