Subgoals, Problem Solving Phases, and Sources of Knowledge

A complex mangle.

Kevin Lin, David DeLiema, University of California, Berkeley

Educational researchers have increasingly drawn attention to how students develop computational thinking (CT) skills, including in science, math, and literacy contexts. A key component of CT is the process of abstraction, a particularly challenging concept for novice programmers, but one vital to problem solving. We propose a framework based on situated cognition that can be used to document how instructors and students communicate about abstractions during the problem solving process. We develop this framework in a multimodal interaction analysis of a 32-minute long excerpt of a middle school student working in the PixelBots JavaScript programming environment at a two-week summer programming workshop taught by undergraduate CS majors. Through a microgenetic analysis of the process of teaching and learning about abstraction in this excerpt, we document the extemporaneous prioritization of subgoals and the back-and-forth coordination of problem solving phases. In our case study, we identify that (a) problem solving phases are nested with several instances of context-switching within a single phase; (b) the introduction of new ideas and information create bridges or opportunities to move between different problem solving phases; (c) planning to solve a problem is a non-linear process; and (d) pedagogical moves such as modeling and prompting highlight situated resources and advance problem solving. Future research should address how to help students structure subgoals and reflect on connections between problem solving phases, and how to help instructors reflect on their routes to supporting students in the problem solving process.

Keywords: Computational Thinking; Education; Situated Cognition; Debugging; Abstraction; Problem Solving



Read about the poster in this short paper: arXiv:1901.01465.


  1. Satabdi Basu, Gautam Biswas, and John S. Kinnebrew. 2017. Learner modeling for adaptive scaffolding in a Computational Thinking-based science learning environment. User Modeling and User-Adapted Interaction 27, 1 (jan 2017), 5–53.
  2. Clark A. Chinn, Luke A. Buckland, and Ala Samarapungavan. 2011. Expanding the Dimensions of Epistemic Cognition: Arguments From Philosophy and Psychology. Educational Psychologist 46, 3 (jul 2011), 141–167.
  3. Virginia J. Flood, David DeLiema, and Dor Abrahamson. 2018. Bringing static code to life: The instructional work of animating computer programs with the body. In Rethinking learning in the digital age: Making the Learning Sciences count, Proceedings of the 13th International Conference of the Learning Sciences, J. Kay and R. Luckin (Eds.), Vol. 2. London: International Society of the Learning Sciences, 1085–1088.
  4. Virginia J. Flood, David DeLiema, Benedikt Harrer, and Dor Abrahamson. 2018. Enskilment in the digital age: The interactional work of learning to debug. In Rethinking learning in the digital age: Making the Learning Sciences count, Proceedings of the 13th International Conference of the Learning Sciences, J. Kay and R. Luckin (Eds.), Vol. 3. London: International Society of the Learning Sciences, 1405–1406.
  5. Barney G. Glaser. 1965. The Constant Comparative Method of Qualitative Analysis. Social Problems 12, 4 (apr 1965), 436–445.
  6. Sharin Rawhiya Jacob and Mark Warschauer. 2018. Computational Thinking and Literacy. Journal of Computer Science Integration 1, 1 (aug 2018).
  7. Brigitte Jordan and Austin Henderson. 1995. Interaction Analysis: Foundations and Practice. The Journal of the Learning Sciences 4, 1 (1995), 39–103.
  8. Andrew J. Ko and Brad A. Myers. 2005. A framework and methodology for studying the causes of software errors in programming systems. Journal of Visual Languages & Computing 16, 1-2 (feb 2005), 41–84.
  9. Colleen M. Lewis. 2012. The importance of students’ attention to program state. In Proceedings of the ninth annual international conference on International computing education research - ICER ‘12. ACM Press.
  10. Colleen M. Lewis and Niral Shah. 2015. How Equity and Inequity Can Emerge in Pair Programming. In Proceedings of the eleventh annual International Conference on International Computing Education Research - ICER ‘15. ACM Press.
  11. Sze Yee Lye and Joyce Hwee Ling Koh. 2014. Review on teaching and learning of computational thinking through programming: What is next for K-12? Computers in Human Behavior 41 (dec 2014), 51–61.
  12. Donald A. Norman. 2002. The Design of Everyday Things. Basic Books, Inc., New York, NY, USA.
  13. Arnulfo Pérez. 2018. A Framework for Computational Thinking Dispositions in Mathematics Education. Journal for Research in Mathematics Education 49, 4 (2018), 424.
  14. Janet Rountree, Anthony Robins, and Nathan Rountree. 2013. Elaborating on threshold concepts. Computer Science Education 23, 3 (sep 2013), 265–289.
  15. David Weintrop, Elham Beheshti, Michael Horn, Kai Orton, Kemi Jona, Laura Trouille, and Uri Wilensky. 2015. Defining Computational Thinking for Mathe- matics and Science Classrooms. Journal of Science Education and Technology 25, 1 (oct 2015), 127–147.

This material is based upon work supported by the National Science Foundation under Grant No. 1607742, 1612770, and 1612660. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.