{"title":"Bringing Real-Time Collaboration to Visual Programming (Abstract Only)","authors":"B. Broll, Á. Lédeczi","doi":"10.1145/3017680.3022387","DOIUrl":null,"url":null,"abstract":"Visual programming environments have been effective educational resources but are typically limited to a single user at a time. Given the amount of collaboration in modern software development and the value of group projects for beginner programmers, providing collaboration capabilities could be invaluable for students using a block-based programming environment. Online collaboration support would not only allow students to more actively work together on projects but would also facilitate other educational activities such as tutoring and interactive demos. Moreover, providing robust collaboration utilities allows the programming environment to more closely reflect the team-based nature of large scale, real-world programming projects. Note that collaborative editing offers a number of additional benefits under the hood: the same underlying software code can easily provide detailed logging of student actions and the capability to replay them. That is, researchers will be able to study how students solve problems and not just the end result. To this end, we have extended the Snap! visual programming environment to support real-time collaboration similar to Google Docs. In our model of collaboration, sprites and scripts can be edited by multiple users simultaneously, but the execution of the programs on the stage remains local. But is this the best collaboration model for students? If not, what alternative model would be better? Should the entire programming environment be synchronized across collaborators? Would simple screen sharing be more effective? Finally, how can we leverage a real-time collaborative environment to promote teamwork on programming projects?","PeriodicalId":344382,"journal":{"name":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3017680.3022387","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Visual programming environments have been effective educational resources but are typically limited to a single user at a time. Given the amount of collaboration in modern software development and the value of group projects for beginner programmers, providing collaboration capabilities could be invaluable for students using a block-based programming environment. Online collaboration support would not only allow students to more actively work together on projects but would also facilitate other educational activities such as tutoring and interactive demos. Moreover, providing robust collaboration utilities allows the programming environment to more closely reflect the team-based nature of large scale, real-world programming projects. Note that collaborative editing offers a number of additional benefits under the hood: the same underlying software code can easily provide detailed logging of student actions and the capability to replay them. That is, researchers will be able to study how students solve problems and not just the end result. To this end, we have extended the Snap! visual programming environment to support real-time collaboration similar to Google Docs. In our model of collaboration, sprites and scripts can be edited by multiple users simultaneously, but the execution of the programs on the stage remains local. But is this the best collaboration model for students? If not, what alternative model would be better? Should the entire programming environment be synchronized across collaborators? Would simple screen sharing be more effective? Finally, how can we leverage a real-time collaborative environment to promote teamwork on programming projects?