ABSTRACT
Programming in block-based environments is a key element of introductory computer science (CS) curricula in K-12 settings. Past research conducted in the context of text-based programming points to several challenges related to novice learners' understanding of foundational programming constructs such as variables, loops, and expressions. This research aims to develop assessment items for measuring student understanding in introductory CS classrooms in middle school using a principled approach for assessment design. This paper describes the design of assessments items that were piloted with 100 6th, 7th, 8th graders who had completed an introductory programming course using Scratch. The results and follow-up cognitive thinkalouds indicate that students are generally unfamiliar with the use of variables, and harbor misconceptions about them. They also have trouble with other aspects of introductory programming such as how loops work, and how the Boolean operators work. These findings point to the need for pedagogy that combines popular constructionist activities with those that target conceptual learning, along with better professional development to support teachers' conceptual learning of these foundational constructs.
- Almstrum, V. L. 1999. The propositional logic test as a diagnostic tool for misconceptions about logical operations. Journal of Computers in Mathematics and Science Teaching, 18, 205--224. Google ScholarDigital Library
- Cooper, S., Grover, S., Guzdial, M., & Simon, B. (2014). A Future for Computing Education Research. Communications of the ACM. 57 (11), 34--36. Google ScholarDigital Library
- duBoulay, B. 1986. Some difficulties of learning to program. Journal of Educational Computing Research, 2(1), 57--73. Google ScholarCross Ref
- Ebrahimi, A. 1994. Novice programmer errors: Language constructs and plan composition. International Journal of Human-Computer Studies, 41(4), 457--480. Google ScholarDigital Library
- Gobil, A. R. M., Shukor, Z., & Mohtar, I. A. 2009. Novice difficulties in selection structure. In International Conference on Electrical Engineering and Informatics, 2, 351--356. New Jersey, USA: IEEE Computer Society. Google ScholarCross Ref
- Goode, J., Chapman, G., Margolis, J. 2012. Beyond Curriculum: The Exploring Computer Science Program. ACM Inroads. 3(2). Google ScholarDigital Library
- Grover, S., Cooper, S., & Pea, R. 2014. Assessing computational learning in K-12. In Proceedings of the conference on Innovation & technology in computer science education. ACM. Google ScholarDigital Library
- Grover, S., Pea, R., Cooper, S. 2015. Designing for Deeper Learning in a Blended Computer Science Course for Middle School Students. Computer Sc. Education, 25(2), 199--237 Google ScholarCross Ref
- Herman, G. L., Loui, M. C., Kaczmarczyk, L., & Zilles, C. 2012. Describing the what and why of students' difficulties in boolean logic. ACM Transactions on Computing Education), 12(1), 3. Google ScholarDigital Library
- Lahtinen, E., Ala-Mutka, K., & Järvinen, H. M. 2005. A study of the difficulties of novice programmers. ACM SIGCSE Bulletin, 37(3), 14--18. Google ScholarDigital Library
- Maloney, J. H., Peppler, K., Kafai, Y., Resnick, M. and Rusk, N. 2008. Programming by choice: Urban youth learning programming with Scratch. ACM SIGCSE Bulletin, 40, 1. Google ScholarDigital Library
- Mayer, R.E. (1989). The psychology of how novices learn computer programming. In E. Soloway & J.C. Spohrer (Eds.), Studying the novice programmer (pp. 129--159).Google Scholar
- Meerbaum-Salant, O., Armoni, M., & Ben-Ari, M. 2011. Habits of programming in Scratch. In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education (pp. 168--172). ACM. Google ScholarDigital Library
- Mislevy, R., Steinberg, L, & Almond, R. 2003. Focus article: On the structure of educational assessments. Measurement: Interdisciplinary research and perspectives, 1(1), 3--62. Google ScholarCross Ref
- Passey, D. (2016). Computer science (CS) in the compulsory education curriculum: Implications for future research. Education and Information Technologies, 1 Google ScholarDigital Library
- Pea, R., & Kurland, D. 1984. On the cognitive effects of learning computer programming. New Ideas In Psychology, 2, 137--168. Google ScholarCross Ref
- Postner, L. "Computer science education research on programming: What we know and how we know it", Technical Report. Online. Internet. {August, 2001}. Available WWW: http://depts.washington.edu/pettt/papers/Google Scholar
- Robins, A., Rountree, J., & Rountree, N. 2003. Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137--172. Google ScholarCross Ref
- Samurcay, R. 1989. The concept of variable in programming: Its meaning and use in problem-solving by novice programmers. In E. Soloway and J. C. Spohrer, editors, Studying the Novice Programmer, po. 161--178. Lawrence Erlbaum Associates, NJ.Google Scholar
- Shneiderman, B., & Mayer, R. (1979). Syntactic/semantic interactions in programmer behavior: A model and experimental results. Intl. Journal of Comp & Info. Sciences, 8(3), 219--238.Google ScholarCross Ref
- Spohrer, J. C., & Soloway, E. 1986. Novice mistakes: Are the folk wisdoms correct?. Communications of the ACM, 29(7). Google ScholarDigital Library
- Yadav, A., Burkhart, D., Moix, D., Snow, E., Bandaru, P., & Clayborn, L. 2015. Sowing the Seeds: A Landscape Study on Assessment in Secondary Computer Science Education. Comp. Sci. Teachers Assn., NY, NY.Google Scholar
Index Terms
Measuring Student Learning in Introductory Block-Based Programming: Examining Misconceptions of Loops, Variables, and Boolean Logic
Recommendations
Non-Programming Activities for Engagement with Foundational Concepts in Introductory Programming
SIGCSE '19: Proceedings of the 50th ACM Technical Symposium on Computer Science EducationProgramming-in a text-based or visual language-is a complex activity that novices find difficult to learn. In this paper, we present an experience report on how novel activities designed for early conceptual exploration can support middle school ...
What We Can Learn About Student Learning From Open-Ended Programming Projects in Middle School Computer Science
SIGCSE '18: Proceedings of the 49th ACM Technical Symposium on Computer Science EducationBlock-based programming environments such as Scratch, App Inventor, and Alice are a key part of introductory K-12 computer science (CS) experiences. Free-choice, open-ended projects are encouraged to promote learner agency and leverage the affordances ...
A Survey of Introductory Programming Courses in Ireland
ITiCSE '19: Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science EducationBetween January and April of 2018, a comprehensive survey of introductory programming courses was undertaken across all sectors of Irish third-level institutions (universities, institutes of technology, and private colleges). The survey instrument was ...
Comments