ABSTRACT
In college-level introductory computer science courses, students traditionally learn to program using text-based languages which are common in industry and research. This approach means that learners must concurrently master both syntax and semantics. Blocks-based programming environments have become commonplace in introductory computing courses in K-12 schools and some colleges in part to simplify syntax challenges. However, there is evidence that students may face difficulty moving to text-based programming environments when starting with blocks-based environments. Bi-directional dual-modality programming environments provide multiple representations of programming language constructs (in both blocks and text) and allow students to transition between them freely. Prior work has shown that some students who use dual-modality environments to transition from blocks to text have more positive views of text programming compared to students who move directly from blocks to text languages, but it is not yet known if there is any impact on learning. To investigate the impact on learning, we conducted a study at a large public university across two semesters in a CS1 course (N=673). We found that students performed better on typical course exams when they were taught using dual-modality representations in lecture and were provided dual-modality tools. The results of our work support the conclusion that dual-modality instruction can help students learn computational concepts in early college computer science coursework.
References
- Bau, D. 2015. Droplet, a blocks-based editor for text code. Journal of Computing Sciences in Colleges. 30, 6 (2015), 138--144.Google Scholar
Digital Library
- Bau, D.A. 2015. Integrating Droplet into Applab -Improving the usability of a blocks-based text editor. 2015 IEEE Blocks and Beyond Workshop (2015), 55--57.Google Scholar
Digital Library
- Bau, D.A. and Bau, D.A. 2014. A Preview of Pencil Code. Proceedings of the 2nd Workshop on Programming for Mobile & Touch - PROMOTO '14 (2014), 21--24.Google Scholar
- Bau, D.A., Bau, D.A., Pickens, C.S. and Dawson, M. 2015. Pencil Code: Block Code for a Text World. Proceedings of the 14th International Conference on Interaction Design and Children (2015), 445--448.Google Scholar
Digital Library
- Bau, D. and Bau, D.A. 2014. A Preview of Pencil Code. Proceedings of the 2nd Workshop on Programming for Mobile & Touch - PROMOTO '14. (2014), 21--24. DOI:https://doi.org/10.1145/2688471.2688481.Google Scholar
- Blanchard, J., Gardner-McCune, C. and Anthony, L. 2019. Effects of Code Representation on Student Perceptions and Attitudes Toward Programming. 2019 IEEE Symposium on Visual Languages and Human-Centric Computing (2019), 127--131.Google Scholar
- Blanchard, J., Gardner-McCune, C. and Anthony, L. 2019. Amphibian: Dual-Modality Representation in Integrated Development Environments. Proceedings of the 2019 IEEE Blocks and Beyond Workshop (Blocks and Beyond) (2019).Google Scholar
Cross Ref
- Brainerd, C.J. 1978. Piaget's Theory of Intelligence. Prentice Hall.Google Scholar
- Brown, N.C.C., Mönig, J., Bau, A. and Weintrop, D. 2016. Panel: Future Directions of Block-based Programming. Proceedings of the 47th ACM Technical Symposium on Computing Science Education (2016), 315--316.Google Scholar
Digital Library
- Cooper, S., Dann, W. and Pausch, R. 2000. Alice: a 3-D tool for introductory programming concepts. Journal of Computing Sciences in Colleges. 15, 5 (2000), 107--116. DOI:https://doi.org/10.1145/1953163.1953243.Google Scholar
Digital Library
- Cooper, S., Dann, W. and Pausch, R. 2003. Teaching objects-first in introductory computer science. ACM SIGCSE Bulletin. 35, 1 (2003), 191--195. DOI:https://doi.org/10.1145/792548.611966.Google Scholar
Digital Library
- Corney, M., Teague, D., Ahadi, A. and Lister, R. 2012. Some Empirical Results for Neo-Piagetian Reasoning in Novice Programmers and the Relationship to Code Explanation Questions. 14th Australasian Computing Education Conference (2012), 77--86.Google Scholar
- Gobet, F., Lane, P.C.R., Croker, S., Cheng, P.C.-H., Jones, G., Oliver, I. and Pine, J.M. 2001. Chunking mechanisms in human learning. TRENDS in Cognitive Sciences. 5, 6 (2001), 236--243. DOI:https://doi.org/10.1016/S1364--6613(00)01662--4.Google Scholar
Cross Ref
- Goode, J. and Margolis, J. 2011. Exploring Computer Science: A Case Study of School Reform. ACM Transactions on Computing Education. 11, 2 (2011), 1--16. DOI:https://doi.org/10.1145/1993069.1993076.Google Scholar
Digital Library
- Henriksen, P. and Kolling, M. 2004. Greenfoot: Combining Object Visualization with Interaction. Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications - OOPSLA '04. (2004), 73--82. DOI:https://doi.org/10.1145/1028664.1028701.Google Scholar
Digital Library
- Hsu, K.C. 1996. Developing Programming Environments for Programmable Bricks. Ph.D. Dissertation. Massachusetts Institute of Technology, Cambridge, MA.Google Scholar
- Kaleliolu, F. 2015. A new way of teaching programming skills to K-12 students: Code.org. Computers in Human Behavior. 52, (2015), 200--210. DOI:https://doi.org/10.1016/j.chb.2015.05.047.Google Scholar
Digital Library
- Kelleher, C. and Pausch, R. 2005. Lowering the Barriers to Programming?: a survey of programming environments and languages for novice programmers. ACM Computing Surveys. 37, 2 (2005), 83--137. DOI:https://doi.org/10.1145/1089733.1089734.Google Scholar
Digital Library
- Kölling, M. 2008. Using BlueJ to Introduce Programming. Reflections on the Teaching of Programming. Springer-Verlag. 98--115.Google Scholar
- Lister, R. 2011. Concrete and Other Neo-Piagetian Forms of Reasoning in the Novice Programmer. Proceedings of the Thirteenth Australasian Computing Education Conference (2011), 9--18.Google Scholar
Digital Library
- Lister, R. 2011. COMPUTING EDUCATION RESEARCH: Programming, syntax and cognitive load. ACM Inroads.Google Scholar
- Malan, D.J. and Leitner, H.H. 2007. Scratch for budding computer scientists. ACM SIGCSE Bulletin. 39, 1 (2007), 223--227. DOI:https://doi.org/10.1145/1227504.1227388.Google Scholar
Digital Library
- Maloney, J., Rusk, N., Burd, L., Silverman, B., Kafai, Y., Resnick, M., Rusk, N., Silverman, B. and Resnick, M. 2004. Scratch: A sneak preview. Proceedings - Second International Conference on Creating, Connecting and Collaborating Through Computing. (2004), 104--109. DOI:https://doi.org/10.1109/C5.2004.1314376.Google Scholar
Cross Ref
- Meerbaum-Salant, O. 2010. Learning computer science concepts with scratch. ICER '10: Proceedings of the Sixth international workshop on Computing education research. (2010), 69--76. DOI:https://doi.org/10.1145/1839594.1839607.Google Scholar
Digital Library
- Miller, G.A. 1956. The magical number seven, plus or minus two: Some limits on our capacity for processing information. The Psychological Review. 63, 2 (1956), 81--97.Google Scholar
Cross Ref
- Nachar, N. 2008. The Mann-Whitney U: A Test for Assessing Whether Two Independent Samples Come from the Same Distribution. Tutorials in Quantitative Methods for Psychology. 4, 1 (2008), 13--20. DOI:https://doi.org/10.20982/tqmp.04.1.p013.Google Scholar
Cross Ref
- Parker, M.C. and Guzdial, M. 2016. Replication, Validation, and Use of a Language Independent CS1 Knowledge Assessment. Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (2016), 93--101.Google Scholar
- Teague, D. 2015. Neo-Piagetian Theory and the Novice Programmer. Ph.D. Dissertation. Queensland University of Technology, Brisbane, Australia.Google Scholar
- Teague, D., Comey, M., Ahadi, A., Lister, R., Corney, M., Ahadi, A. and Lister, R. 2013. A Qualitative Think Aloud Study of the Early Neo-Piagetian Stages of Reasoning in Novice Programmers. Proceedings of the Fifteenth Australasian Computing Education Conference (2013), 87--95.Google Scholar
- Teague, D. and Lister, R. 2014. Programming: reading, writing and reversing. Proceedings of the 2014 conference on Innovation & technology in computer science education - ITiCSE '14. (2014), 285--290. DOI:https://doi.org/10.1145/2591708.2591712.Google Scholar
- Tharp, A.L. 1982. Selecting the "right" programming language. Proceedings of the thirteenth SIGCSE technical symposium on Computer science education (1982), 151--155.Google Scholar
Digital Library
- The Joint Task Force on Computing Curricula - ACM/IEEE-Computer Society 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science.Google Scholar
- Weintrop, D. 2016. Modality Matters: Understanding the Effects of Programming Language Representation in High School Computer Science Classrooms. Ph.D. Dissertation. Northwestern University, Evanston, IL.Google Scholar
- Weintrop, D. and Holbert, N. 2017. From Blocks to Text and Back: Programming Patterns in a Dual-modality Environment. Proceedings of the 48th ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE '17). (2017). DOI:https://doi.org/10.1145/3017680.3017707.Google Scholar
- Weintrop, D. and Wilensky, U. 2015. To block or not to block" That is the question. Proceedings of the 14th International Conference on Interaction Design and Children. (2015), 199--208. DOI:https://doi.org/10.1016/j.jtcvs.2015.01.023.Google Scholar
- Weintrop, D. and Wilensky, U. 2016. Bringing blocks-based programming into high school computer science classrooms. Annual Meeting of the American Educational Research Association (2016).Google Scholar
- Wing, J.M., Jeannette, V. and Wing, J.M. 2006. Computational thinking. Communications of the ACM. 49, 3 (2006), 33--35. DOI:https://doi.org/10.1145/1118178.1118215.Google Scholar
Digital Library
- IntelliJ IDEA: https://www.jetbrains.com/idea/.Google Scholar
Index Terms
Dual-Modality Instruction and Learning: A Case Study in CS1
Comments