Examining the Relationship between Socialization and … · Examining the Relationship between Socialization and Improved Software Development Skills in the Scratch Code Learning
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Examining the Relationship between Socialization and
Improved Software Development Skills in the Scratch
Abstract: In the last years, socialization of the software development process hasbeen proven to be an emergent practice, becoming social development platforms (suchas GitHub or GitLab) very popular among software developers. However, little is stillknown about how social factors influence software development. In particular, in thispaper we focus on how socialization affects the learning of programming skills, asdeveloping software can be considered, in part, a continuous learning process. Aimingto shed some light in this regard, we analyze the social interactions of almost 70,000users and the sophistication of over 1.5 million software products authored by themin the Scratch platform, the most popular social coding site for learning to program.The results indicate that there is a relationship between the social conducts of usersand the improvement of their programming abilities, showing that more social actionsperformed by users is positively associated with more sophistication in their programs.Furthermore, the results also provide evidence that the relationship of social factorswith the development of software programming skills tends to grow with time.
Key Words: social software development, social learning, computational thinking,Scratch
Category: K.3.2, D.2.3, D.2.6
1 Introduction
In the last years we are witnessing a movement that places socialization as an
important factor in software development. Thus, there are studies that ana-
lyze the impact of social aspects on the way software ecosystems evolve over
time [Mens and Goeminne, 2011], on how social processes can be accounted for
the variations in software product quality [Sawyer and Guinan, 1998], on the
use of microblogs in software development [Bougie et al., 2011], on how devel-
opers collaborate in knowledge sharing sites [Surian et al., 2010, Vasilescu et al.,
well that there is a difference between learning to code and professional coding,
where developers predominately already know how to code. Consequently, ob-
servations from a code learning environment such as Scratch may not transfer
directly to professional software development environments.
7 Conclusions and Future Work
This paper presents an investigation of the social and remix conducts of almost
70,000 users and the sophistication of over 1.5 million software projects authored
by them in the Scratch platform, the most popular social coding site for learning
to program. The results indicate that there is a relationship between the social
conducts of users and the improvement of their programming abilities, showing
that more social actions performed by users is positively associated with more
sophistication in their programs. The relationship between remix conducts and
coding skills is also detected, although the effect sizes on the improvement are
noticeably smaller than in the former case. Furthermore, the results also pro-
vide evidence that the relationship of both social and remix factors with the
development of software programming skills tends to grow with time.
It must be noted, though, that this work was not an experiment, but a
posterior investigation. Therefore, the relationships between the social and remix
conducts with software development skills cannot be considered as causality. In
the near future we plan to carry out a controlled experiment with two groups
of learners formed by students with similar characteristics regarding to age,
gender and computational thinking skills, measured using the CT-test [Roman-
Gonzalez et al., 2016a]. One of the groups will learn software development using
the offline Scratch version, while the other one will make use of social features
offered in the online community.
Since 2012, with the release the new Scratch site, important changes with the
aim of boosting participation of learners in the community have been introduced.
Access to the new dataset would allow to further study the differences in the
participation patterns and in the learning of software development skills.
Further research on the topic should address the causes of the increased so-
cialization and the corresponding improvement in programming outcomes. Other
factors such as aptitude, enjoyment (and sharing) of programming tasks or ac-
tual time devoted to programming could be reasonable causes of this behavior.
Therefore, deeper discussion, including other research approaches, should be de-
sirable.
Finally, further investigations should replicate this investigation using data
from a professional social coding site, such as GitHub, which could allow to
study differences in the impact of social activities on software development skills
between mostly young learners and professional developers.
1553Moreno-Leon J., Robles G., Roman-Gonzalez M.: Examining the Relationship ...
Acknowledgments
The work of the authors has been funded in part by the Madrid Region under
eMadrid (S2013/ICE-2715) and the second author by the Spanish Gov. with
SobreSale (TIN2011-28110). We are thankful to the Scratch Research Data
team for granting us access to the data, especially to Benjamin Mako Hill and
Andres Monroy-Hernandez.
References
[Ahmadi et al., 2008] Ahmadi, N., Jazayeri, M., Lelli, F., and Nesic, S. (2008). A sur-vey of social software engineering. In Automated Software Engineering-Workshops,2008. ASE Workshops 2008. 23rd IEEE/ACM International Conference on, pages1–12. IEEE.
[Augustine et al., 2005] Augustine, S., Payne, B., Sencindiver, F., and Woodcock, S.(2005). Agile project management: Steering from the edges. Commun. ACM,48(12):85–89.
[Babb et al., 2014] Babb, J., Hoda, R., and Norbjerg, J. (2014). Embedding reflectionand learning into agile software development. IEEE Software, 31(4):51–57.
[Balanskat and Engelhardt, 2015] Balanskat, A. and Engelhardt, K. (2015). Comput-ing our future: Computer programming and coding - priorities, school curricula andinitiatives across Europe. Technical report, European Schoolnet.
[Bazelli et al., 2013] Bazelli, B., Hindle, A., and Stroulia, E. (2013). On the personalitytraits of stackoverflow users. In ICSM, pages 460–463.
[Boe et al., 2013] Boe, B., Hill, C., Len, M., Dreschler, G., Conrad, P., and Franklin,D. (2013). Hairball: Lint-inspired static analysis of Scratch projects. In 44th ACMTechnical Symposium on Computer Science Education, SIGCSE ’13, pages 215–220,NY, USA. ACM.
[Bougie et al., 2011] Bougie, G., Starke, J., Storey, M.-A., and German, D. M. (2011).Towards understanding Twitter use in Software Engineering: Preliminary findings,ongoing challenges and future questions. In Proceedings of the 2nd internationalworkshop on Web 2.0 for software engineering, pages 31–36. ACM.
[Brennan et al., 2010] Brennan, K., Monroy-Hernandez, A., and Resnick, M. (2010).Making projects, making friends: Online community as catalyst for interactive mediacreation. New Directions for Youth Development, 2010(128):75–83.
[Bush and Schkade, 1985] Bush, C. M. and Schkade, L. L. (1985). In search of theperfect programmer. Datamation, 31(6):128–132.
[Capiluppi et al., 2013] Capiluppi, A., Serebrenik, A., and Singer, L. (2013). Assessingtechnical candidates on the social web. Software, IEEE, 30(1):45–51.
[Capretz, 2003] Capretz, L. F. (2003). Personality types in software engineering. In-ternational Journal of Human-Computer Studies, 58(2):207–214.
[Clarke et al., 2015] Clarke, P., O’Connor, R. V., Leavy, B., and Yilmaz, M. (2015).Exploring the relationship between software process adaptive capability and organisa-tional performance. IEEE Transactions on Software Engineering, 41(12):1169–1183.
[Dabbish et al., 2012] Dabbish, L., Stuart, C., Tsay, J., and Herbsleb, J. (2012). Socialcoding in GitHub: Transparency and collaboration in an open software repository. InACM 2012 conference on Computer Supported Cooperative Work, pages 1277–1286.ACM.
[Dahotre et al., 2010] Dahotre, A., Zhang, Y., and Scaffidi, C. (2010). A qualitativestudy of animation programming in the wild. In Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measure-ment, page 29. ACM.
[Dasgupta et al., 2016] Dasgupta, S., Hale, W., Monroy-Hernandez, A., and Hill, B. M.(2016). Remixing as a pathway to computational thinking. In Proceedings of the 19thACM Conference on Computer-Supported Cooperative Work & Social Computing,CSCW ’16, pages 1438–1449, New York, NY, USA. ACM.
[Ellis, 2010] Ellis, P. D. (2010). The essential guide to effect sizes: Statistical power,meta-analysis, and the interpretation of research results. Cambridge University Press.
[Fields et al., 2014] Fields, D. A., Giang, M., and Kafai, Y. (2014). Programming inthe wild: Trends in youth computational participation in the online Scratch commu-nity. In 9th workshop in primary and secondary computing education, pages 2–11.ACM.
[Fields et al., 2013] Fields, D. A., Giang, M., and Kafai, Y. B. (2013). Understandingcollaborative practices in the Scratch online community: Patterns of participationamong youth designers. In To see the world and a grain of sand: Learning acrosslevels of space, time, and scale: CSCL 2013 Conference Proceedings, volume 1, pages200–207. International Society of the Learning Sciences.
[Gross et al., 2010] Gross, P. A., Herstand, M. S., Hodges, J. W., and Kelleher, C. L.(2010). A code reuse interface for non-programmer middle school students. In Pro-ceedings of the 15th international conference on Intelligent user interfaces, pages219–228. ACM.
[Haefliger et al., 2008] Haefliger, S., Von Krogh, G., and Spaeth, S. (2008). Code reusein open source software. Management Science, 54(1):180–193.
[Halstead, 1977] Halstead, M. H. (1977). Elements of Software Science (Operating andprogramming systems series). Elsevier Science Inc.
[Hoda et al., 2013] Hoda, R., Babb, J., and Norbjerg, J. (2013). Toward learningteams. Software, IEEE, 30(4):95–98.
[Hoda et al., 2011] Hoda, R., Noble, J., and Marshall, S. (2011). Developing agrounded theory to explain the practices of self-organizing agile teams. EmpiricalSoftware Engineering, 17(6):609–639.
[Huff et al., 1992] Huff, S. L., Munro, M. C., and Marcolin, B. (1992). Modelling andmeasuring end user sophistication. In Proceedings of the 1992 ACM SIGCPR Con-ference on Computer Personnel Research, SIGCPR ’92, pages 1–10, New York, NY,USA. ACM.
[Jiang et al., 2013] Jiang, J., Zhang, L., and Li, L. (2013). Understanding projectdissemination on a social coding site. In 2013 20th Working Conference on ReverseEngineering (WCRE), pages 132–141. IEEE.
[Kagan, 1984] Kagan, D. M. (1984). Personality and learning basic. Journal of In-structional Psychology, 11(1):10.
[Kagan and Douthat, 1985] Kagan, D. M. and Douthat, J. M. (1985). Personality andlearning fortran. International journal of man-machine studies, 22(4):395–402.
[Ketler and Smith, 1992] Ketler, K. and Smith, R. D. (1992). Differences betweenthird and fourth generation programmers: A human factor analysis. InformationResources Management Journal (IRMJ), 5(2):25–35.
[Law et al., 2010] Law, K. M., Lee, V. C., and Yu, Y.-T. (2010). Learning motivationin e-learning facilitated computer programming courses. Computers & Education,55(1):218–228.
[Licorish and MacDonell, 2014] Licorish, S. A. and MacDonell, S. G. (2014). Person-ality profiles of global software developers. In Proceedings of the 18th InternationalConference on Evaluation and Assessment in Software Engineering, page 45. ACM.
[Matias et al., 2016] Matias, J. N., Dasgupta, S., and Hill, B. M. (2016). Skill pro-gression in scratch revisited. In Proceedings of the 2016 CHI Conference on HumanFactors in Computing Systems, pages 1486–1490. ACM.
[McCabe, 1976] McCabe, T. (1976). A complexity measure. Software Engineering,IEEE Transactions on, SE-2(4):308–320.
[Mens and Goeminne, 2011] Mens, T. and Goeminne, M. (2011). Analysing the evo-lution of social aspects of open source software ecosystems. In IWSECO@ ICSOB,
1555Moreno-Leon J., Robles G., Roman-Gonzalez M.: Examining the Relationship ...
pages 1–14.[Monroy-Hernandez and Resnick, 2008] Monroy-Hernandez, A. and Resnick, M.(2008). Empowering kids to create and share programmable media. interactions,15: 50–53. ACM ID, 1340974.
[Moreno-Leon et al., 2015] Moreno-Leon, J., Robles, G., and Roman-Gonzalez, M.(2015). Dr. Scratch: Automatic analysis of Scratch projects to assess and fostercomputational thinking. RED. Revista de Educacion a Distancia, 15(46).
[Moreno-Leon et al., 2016a] Moreno-Leon, J., Robles, G., and Roman-Gonzalez, M.(2016a). Comparing computational thinking development assessment scores withsoftware complexity metrics. In Global Engineering Education Conf. (EDUCON),2016 IEEE, pages 1040–1045.
[Moreno-Leon et al., 2016b] Moreno-Leon, J., Robles, G., and Roman-Gonzalez, M.(2016b). How social are Scratch learners? A comprehensive analysis of the Scratchplatform for social interactions. In FLOSS Education and Computational ThinkingWorkshop. 12th International Conference on Open Source Systems, pages 19–26.
[Newsted, 1975] Newsted, P. R. (1975). Grade and ability predictions in an introduc-tory programming course. ACM SIGCSE Bulletin, 7(2):87–91.
[Pham et al., 2013] Pham, R., Singer, L., Liskin, O., Figueira Filho, F., and Schneider,K. (2013). Creating a shared understanding of testing culture on a social coding site.In Software Engineering (ICSE), 2013 35th Intl Conference on, pages 112–121. IEEE.
[Resnick, 2012] Resnick, M. (2012). Mother’s day, warrior cats, and digital fluency:Stories from the Scratch online community. In Proceedings of the Constructionism2012 Conference: Theory, Practice and Impact, pages 52–58.
[Resnick et al., 2009] Resnick, M., Maloney, J., Monroy-Hernandez, A., Rusk, N., East-mond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., andKafai, Y. (2009). Scratch: Programming for all. Commun. ACM, 52(11):60–67.
[Roman-Gonzalez et al., 2016a] Roman-Gonzalez, M., Perez-Gonzalez, J.-C., andJimenez-Fernandez, C. (2016a). Which cognitive abilities underlie computationalthinking? criterion validity of the computational thinking test. Computers in Hu-man Behavior.
[Roman-Gonzalez et al., 2016b] Roman-Gonzalez, M., Perez-Gonzalez, J. C., Moreno-Leon, J., and Robles, G. (2016b). Does computational thinking correlate with person-ality? the non-cognitive side of computational thinking. In Proceedings of the Tech-nological Ecosystems for Enhancing Multiculturality Conference, TEEM ’16, pages1–10.
[Sawyer and Guinan, 1998] Sawyer, S. and Guinan, P. J. (1998). Software develop-ment: Processes and performance. IBM Systems Journal, 37(4):552–569.
[Scaffidi and Chambers, 2012] Scaffidi, C. and Chambers, C. (2012). Skill progressiondemonstrated by users in the Scratch animation environment. International Journalof Human-Computer Interaction, 28(6):383–398.
[Schott and Selwyn, 2000] Schott, G. and Selwyn, N. (2000). Examining the male,antisocial stereotype of high computer users. Journal of Educational ComputingResearch, 23(3):291–303.
[Storey et al., 2010] Storey, M.-A., Treude, C., van Deursen, A., and Cheng, L.-T.(2010). The impact of social media on software engineering practices and tools. InProceedings of the FSE/SDP workshop on Future of software engineering research,pages 359–364. ACM.
[Surian et al., 2010] Surian, D., Lo, D., and Lim, E.-P. (2010). Mining collaborationpatterns from a large developer network. In Reverse Engineering (WCRE), 201017th Working Conference on, pages 269–273. IEEE.
[Thung et al., 2013] Thung, F., Bissyande, T. F., Lo, D., and Jiang, L. (2013). Net-work structure of social coding in GitHub. In Software Maintenance and Reengineer-ing (CSMR), 2013 17th European Conference on, pages 323–326. IEEE.
[Vasilescu et al., 2013] Vasilescu, B., Filkov, V., and Serebrenik, A. (2013). Stack-Overflow and GitHub: Associations between software development and crowdsourced
knowledge. In Social Computing (SocialCom), 2013 International Conference on,pages 188–195. IEEE.
[Velasquez et al., 2014] Velasquez, N. F., Fields, D. A., Olsen, D., Martin, T., Shep-herd, M. C., Strommer, A., and Kafai, Y. B. (2014). Novice programmers talkingabout projects: What automated text analysis reveals about online scratch users’comments. In System Sciences (HICSS), 2014 47th Hawaii Intl Conference on, pages1635–1644. IEEE.
[Wolz et al., 2011] Wolz, U., Hallberg, C., and Taylor, B. (2011). Scrape: A tool forvisualizing the code of Scratch programs. In Poster presented at the 42nd ACMTechnical Symposium on Computer Science Education, Dallas, TX.
[Yilmaz and O’Connor, 2012] Yilmaz, M. and O’Connor, R. V. (2012). Towards theunderstanding and classification of the personality traits of software developmentpractitioners: Situational context cards approach. In 2012 38th Euromicro Confer-ence on Software Engineering and Advanced Applications, pages 400–405. IEEE.
[Zuckerman et al., 2009] Zuckerman, O., Blau, I., and Monroy-Hernandez, A. (2009).Children’s participation patterns in online communities: An analysis of Israeli learn-ers in the Scratch online community. Interdisciplinary Journal of E-Learning andLearning Objects, 5(1):263–274.
1557Moreno-Leon J., Robles G., Roman-Gonzalez M.: Examining the Relationship ...