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.


Top Related