Skip to main content

What they learn when they learn coding: investigating cognitive domains and computer programming knowledge in young children

Abstract

Computer programming for young children has grown in popularity among both educators and product developers, but still relatively little is known about what skills children are developing when they code. This study investigated N = 57 Kindergarten through second grade children’s performance on a programming assessment after engaging in a 6-week curricular intervention. Children used the ScratchJr programming tool to create animated stories, collages, and games. At the end of the learning intervention, children were assessed on their knowledge of the ScratchJr language and underlying reasoning. Specifically, we explored children’s errors on the assessment to determine evidence of domain-specific reasoning (e.g. mathematic, verbal, causal). Results show that while all students mastered foundational coding concepts, there were marked differences in performance and comprehension across the three grade levels. Interpretation of results suggests a developmental progression inherent in programming knowledge acquisition.; Implications for computer programming education and developmental research are discussed.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

References

  1. Balanskat, A., & Engelhardt, K. (2015). Computing our future computer programming and coding-priorities, school curricula and initiatives across Europe. Brussels: European Schoolnet.

    Google Scholar 

  2. Barrouillet, P., & Gaillard, V. (Eds.). (2010). Cognitive development and working memory: A dialogue between neo-Piagetian theories and cognitive approaches. Hove: Psychology Press.

    Google Scholar 

  3. Berninger, V. W., Abbott, R. D., Vermeulen, K., Ogier, S., Brooksher, R., Zook, D., et al. (2002). Comparison of faster and slower responders to early intervention in reading: Differentiating features of their language profiles. Learning Disability Quarterly, 25(1), 59–76.

    Article  Google Scholar 

  4. Bers, M. U. (2008). Blocks to robots: Learning with technology in the early childhood classroom. New York, NY: Teachers College Press.

    Google Scholar 

  5. Bers, M. U. (2012). Designing digital experiences for positive youth development: From playpen to playground. Cary, NC: Oxford.

    Book  Google Scholar 

  6. Bers, M. U. (2014). Tangible kindergarten: Learning how to program robots in early childhood. In C. I. Sender (Ed.), The go-to guide for engineering curricula PreK-5: Choosing and using the best instructional materials for your students (pp. 133–145). Thousand Oaks, CA: Corwin.

    Google Scholar 

  7. Bers, M. U. (2018). Coding as a playground: Programming and computational thinking in the early childhood classroom. New York: Routledge Press.

    Google Scholar 

  8. Case, R. (1992). The mind’s staircase: Exploring the conceptual underpinnings of children’s thought and knowledge. Hillsdale, NJ: Erlbaum.

    Google Scholar 

  9. Case, R., Demetriou, A., Platsidou, M., & Kazi, S. (2001). Integrating concepts and tests of intelligence from the differential and developmental traditions. Intelligence, 29(4), 307–336.

    Article  Google Scholar 

  10. Clements, D. H. (2002). Computers in early childhood mathematics. Contemporary Issues in Early Childhood, 3(2), 160–181.

    Article  Google Scholar 

  11. Clements, D. H., & Sarama, J. (2003). Strip mining for gold: Research and policy in educational technology-A response to “Fool’s Gold”. Educational Technology Review, 11(1), 7–69. Retrieved from https://www.researchgate.net/profile/Douglas_Clements/publication/228557118_Strip_mining_for_gold_Research_and_policy_in_educational_technology-A_response_to_Fool’s_Gold/links/0c960529762a5e538f000000.pdf

  12. Confrey, J. (1990). A review of the research on student conceptions in mathematics, science, and programming. Review of Research in Education, 16, 3–56. Retrieved from http://www.jstor.org/stable/1167350

  13. Corbin, J., & Strauss, A. (2008). Basics of qualitative research: Techniques and procedures for developing grounded theory (3rd ed.). Thousand Oaks, CA: Sage.

    Book  Google Scholar 

  14. Davies, S. P. (1993). The structure and content of programming knowledge: Disentangling training and language effects in theories of skill development. International Journal of Human-Computer Interaction, 5(4), 325–346.

    Article  Google Scholar 

  15. Demetriou, A. (2000). Organization and development of self-understanding and self-regulation: Toward a general theory. In M. Boekaerts, P. R. Pintrich, & M. Zeidner (Eds.), Handbook of self-regulation (pp. 209–251). Washington: Academic Press.

    Chapter  Google Scholar 

  16. Demetriou, A., Spanoudis, G., & Mouyi, A. (2010). A three-level model of the developing mind: Functional and neuronal substantiation and educational implications. In M. Ferrari & L. Vuletic (Eds.), Developmental relations among mind, brain and education. Dordrecht: Springer. https://doi.org/10.1007/978-90-481-3666-7_2.

    Google Scholar 

  17. Elkind, D. (1961). Children’s discovery of the conservation of mass, weight, and volume: Piaget replication study II. The Journal of Genetic Psychology, 98(2), 219–227.

    Article  Google Scholar 

  18. Feldman, D. H. (1988). Universal to unique: Toward a cultural genetic epistemology. Archives de Psychologie, 56(219), 271–279.

    Google Scholar 

  19. Feldman, D. H. (2004). Piaget’s stages: The unfinished symphony of cognitive development. New Ideas in Psychology, 22, 175–231. https://doi.org/10.1016/j.newideapsych.2004.11.005.

    Article  Google Scholar 

  20. Fischer, K. W. (1980). A theory of cognitive development: The control and construction of hierarchies of skills. Psychological Review, 87, 477–531.

    Article  Google Scholar 

  21. Flannery, L. P., & Bers., M. U. (2013). Let’s dance the “robot hokey-pokey!”: children’s programming approaches and achievement throughout early cognitive development. Journal of Research on Technology in Education, 46(1), 81–101. http://ase.tufts.edu/DevTech/publications/JRTE-robot-hokey-pokey.pdf

  22. Flannery, L.P., Kazakoff, E.R., Bontá, P., Silverman, B., Bers, M.U., & Resnick, M. (2013). Designing ScratchJr: Support for early childhood learning through computer programming. In Proceedings of the 12th international conference on interaction design and children (IDC ‘13) (pp. 1–10). ACM, New York, NY, USA. https://doi.org/10.1145/2485760.2485785\

  23. Fletcher-Flinn, C. M., & Gravatt, B. (1995). The efficacy of computer assisted instruction (CAI): A meta-analysis. Journal of Educational Computing Research, 12(3), 219–241.

    Article  Google Scholar 

  24. K–12 Computer Science Framework. (2016). Retrieved from http://www.k12cs.org

  25. Kafai, Y. B., & Resnick, M. (1996). Constructionism in practice: Designing, thinking, and learning in a digital world. New Delhi: Routledge.

    Google Scholar 

  26. Karmiloff-Smith, A., & Inhelder, B. (1975). If you want to get ahead, get a theory. Cognition, 3(3), 195–212.

    Article  Google Scholar 

  27. Kazakoff, E. R. (2014). Cats in Space, Pigs that Race: Does self-regulation play a role when kindergartners learn to code? (Unpublished doctoral dissertation). Tufts University, Medford, MA. Retrieved from: http://ase.tufts.edu/DevTech/resources/Theses/EKazakoff_2014.pdf

  28. Kazakoff, E., & Bers, M. (2012). Programming in a robotics context in the kindergarten classroom: The impact on sequencing skills. Journal of Educational Multimedia and Hypermedia, 21(4), 371–391. Retrieved from https://ase.tufts.edu/DevTech/publications/JEMH.pdf

  29. Kazakoff, E., Sullivan, A., & Bers, M. U. (2013). The effect of a classroom-based intensive robotics and programming workshop on sequencing ability in early childhood. Early Childhood Education Journal, 41(4), 245–255. https://doi.org/10.1007/s10643-012-0554-5.

    Article  Google Scholar 

  30. Kostelnik, M. J., & Grady, M. L. (2009). Getting it right from the start: The principal s guide to early childhood education. Thousand Oaks, CA: Corwin Press.

    Google Scholar 

  31. Lakoff, G., & Núñez, R. (2000). Where mathematics comes from: How the embodied mind brings mathematics into being. New York: Basic Books.

    Google Scholar 

  32. Lightfoot, C., Cole, M., & Cole, S. (Eds.). (2009). The development of children (6th ed.). New York: Worth.

    Google Scholar 

  33. Livingstone, S. (2012). Critical reflections on the benefits of ICT in education. Oxford Review of Education, 38(1), 9–24.

    Article  Google Scholar 

  34. MA DOE. (2011a). Massachusetts curriculum framework for English language arts and literacy. Retrieved from http://www.doe.mass.edu/frameworks/ela/0311.pdf

  35. MA DOE. (2011b). Massachusetts Curriculum Framework for Mathematics. Retrieved from http://www.doe.mass.edu/frameworks/math/0311.pdf

  36. McDevitt, T. M., & Ormrod, J. E. (2002). Child development and education. Upper Saddle River, NJ: Merrill/Prentice Hall.

    Google Scholar 

  37. Mioduser, D., Levy, S. T., & Talis, V. (2009). Episodes to scripts to rules: Concrete-abstractions in kindergarten children’s explanations of a robot’s behavior. International Journal of Technology and Design Education, 19(1), 15–36.

    Article  Google Scholar 

  38. Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. New York: Basic Books.

    Google Scholar 

  39. Pea, R. D., & Kurland, D. M. (1984). On the cognitive effects of learning computer programming. New Ideas in Psychology, 2, 137–168.

    Article  Google Scholar 

  40. Piaget, J. (1953). The origins of intelligence in the child. London: Routledge and Kegan Paul.

    Google Scholar 

  41. Portelance, D. J., Strawhacker, A., & Bers, M. U. (2015). Constructing the ScratchJr programming language in the early childhood classroom. International Journal of Technology and Design Education. https://doi.org/10.1007/s10798-015-9325-0.

    Google Scholar 

  42. Resnick, M. (2006). Computer as paintbrush: Technology, play, and the creative society. In D. Singer, R. Golikoff, & K. Hirsh-Pasek (eds.), Play = Learning: How play motivates and enhances children’s cognitive and social-emotional growth. Oxford: Oxford University Press

  43. Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137–172.

    Article  Google Scholar 

  44. Strawhacker, A. L., & Bers, M. U. (2015). “I want my robot to look for food”: Comparing children’s programming comprehension using tangible, graphical, and hybrid user interfaces. International Journal of Technology and Design Education. https://doi.org/10.1007/s10798-014-9287-7.

    Google Scholar 

  45. Sullivan, A., & Bers, M. U. (2013). Gender differences in kindergarteners’ robotics and programming achievement. International Journal of Technology and Design Education, 23(3), 691–702.

    Article  Google Scholar 

  46. Vizner, M. (2017). Big Robots for Little Kids: Investigating the role of scale in early childhood robotics kits (Unpublished master’s thesis). Tufts University, Medford, MA.

  47. Wyeth, P. (2008). How young children learn to program with sensor, action, and logic blocks. Journal of the Learning Sciences, 17(4), 517–550. https://doi.org/10.1080/10508400802395069.

    Article  Google Scholar 

Download references

Acknowledgements

This work was generously funded by the National Science Foundation Grant No. DRL-1118664.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Amanda Strawhacker.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Appendices

Appendix A: Answer key for Solve It tasks

figureo

Appendix B: Scoring rubric for Solve It tasks

ScratchJr Solve-Its scoring rubric: sets of blocks

For every question, there is a bank of correct answers. Responses will be scored based on how close they are to some correct answer from that bank.

  1. 1.

    How scoring will be assessed

    1. a.

      A score of 0 is perfect

    2. b.

      If there is a correct block that is missed, that is 1 point

    3. c.

      If there is an incorrect block that was added, that is 1 point

  2. 2.

    Instances with responses that are “more correct” based on block similarity

    1. a.

      There is a key of “similar” blocks. If a student missed a correct block and used an incorrect but similar block, that is 1 point (not 2)

  3. 3.

    Instances with more than 1 correct answer

    1. a.

      There is a key of correct block sets for all questions. The response will be compared against every set. The lowest of these possible scores will be counted.

    2. b.

      Ex: Correct Program A = Green Flag, Show, Hide, Message Block

      Correct Program B = Green Flag, Show, Hide, Wait Block

      Submitted Response = Green flag, Show, Hide, Stop

Score and Justification:

The submitted response will receive a score of 1 based on Program B, because the Stop block is similar to the Wait block.

They would have received a score of 2 based on Program A, because the Message Block was missing, and the non-similar Stop block was added.

Similar blocks key

  • Jump replaced by Up + Down (1 point)

  • Grow + Shrink replace by Hide + Show (2 points)

  • Added End block or Go Home at end of program when it would make no change (0 points)

  • Used go home in place of last block when it is incorrect, but the character does end up “at home”, i.e. in Sol2 (1 point)

  • No Response = total points missed. Do not scrap this data, could mean child did not understand the question

  • Move Right replaced by Go Home in Q6 (gave 2 points)

ScratchJr Solve-Its scoring rubric: sequences of blocks

For every question, there is a bank of correct answers. Responses will be scored based on how close they are to any correct answer from that bank.

  1. 1.

    How scoring will be assessed

    1. a.

      A score of 0 is perfect

    2. b.

      All rules of “set” scoring still apply

    3. c.

      Sequences will be broken into “chunks” of blocks that represent different functions of a program (i.e. begin and ending chunks, action chunks, control-flow chunks)

  1. 2.

    Scoring Chunks

    1. a.

      If the blocks that comprise a chunk are incorrectly ordered, that is 1 point

    2. b.

      If the chunk is incorrectly ordered relative to other chunks, that is 1 point

    3. c.

      If there is a chunk that is missing, that is 1 point

    4. d.

      If there is a chunk that is incorrectly added, that is 1 point

  1. 3.

    Instances with incorrect sets of blocks

    1. a.

      For blocks that are incorrect but similar to the correct block (according to similarity key), those blocks count towards the chunk that the correct block would have filled.

    2. b.

      For blocks that are incorrect and dissimilar from the correct block, they are counted as an incorrectly added chunk.

  1. 4.

    General Rules of Chunks:

    1. a.

      Begin blocks need to be at the beginning

    2. b.

      End blocks need to be at the end

    3. c.

      Chunks with more than one block need to have blocks in the correct order (1 point if wrong) and need to be adjacent (1 point is separated)

    4. d.

      Control Flow block must operate on a block to its right (1 point if there no motion block after it)

    5. e.

      Character blocks need to be associated with a single program (anywhere inside or very near is fine). If characters are in the incorrect program, or if they are not associated with a program, that is 1 point.

      1. 1.

        To determine if the characters are “flipped,” score each program for each character. Whichever yields the lower score is the pair of response that is accepted. If the character blocks are incorrectly matched based on the accepted response, that is 1 point.

  • Question 4b: Rules of Chunks

    • Start Chunk

      • Start block must go at the beginning of the program (1 point if in incorrect location)

    • Action Chunk

      • 2 action blocks must be adjacent (1 point if not adjacent)

      • 2 action blocks must be in correct order (1 point if incorrectly ordered)

    • End Chunk

      • End block must go at the end of the program (1 point if in incorrect location)

      • End block must be Go To Page 2 (1 point if similar end blocks is used instead)

  • Question 5b: Rules of Chunks

    • Cat Program – Start Chunk

      • Start block must go at the beginning of the program (1 point if in incorrect location)

    • Cat Program—End Chunk

      • End block must go at the end of the program (1 point if in incorrect location)

      • Special block: If there is no End block, that is 2 points. See Rubric Justifications.

    • Pig Program—Start Chunk

      • Start block must go at the beginning of the program (1 point if in incorrect location)

      • Special Block: If there is no Start block, that is 2 points. See Rubric Justifications.

    • Pig Program – Action Chunk

      • 2 action blocks must be adjacent (1 point if not adjacent)

      • 2 action blocks must be in correct order (1 point if incorrectly ordered)

    • Character Chunk

      • Character chunks must be associated with (adjacent or very near) one of the programs (1 point each for missing characters)

      • Ambiguous Character-Program Pairs:

        • Score each program for each character. Whichever yields the lower score is the pair of response that is accepted (Ex: Cat + A = 12, Cat + B = 5; Pig is same for both. B is Cat’s program, A is Pig’s program). If the character blocks are incorrectly matched based on the accepted response, that is 1 point.

  • Question 6b: Rules of Chunks

    • Start Chunk

      • Start block must go at the beginning of the program (1 point if in incorrect location)

    • Action Chunk

      • 3 action blocks must be adjacent (1 point if not adjacent)

      • 3 action blocks must be in correct order (1 point if incorrectly ordered)

      • Speed block must operate on a block to its right (1 point if there no motion block after Speed in this chunk)

      • Special Block: If there is no Speed block, that is 2 points. See Rubric Justifications

    • End Chunk

      • End block must go at the end of the program (1 point if in incorrect location)

        • NOTE: in this program, the “Go Home” block is functionally the End block. No similar blocks will be accepted if missing, although adding an End block will not affect set or sequence score.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Strawhacker, A., Bers, M.U. What they learn when they learn coding: investigating cognitive domains and computer programming knowledge in young children. Education Tech Research Dev 67, 541–575 (2019). https://doi.org/10.1007/s11423-018-9622-x

Download citation

Keywords

  • Early childhood education
  • Computer programming
  • ScratchJr
  • Cognitive developmental theory