269 2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
code execution on paper is correlated with greater problem-
solving success [3]. However, in practice, students searched for what the code was “supposed” to do, and turned to careful tracing only when the goal of the code was unclear or needed confirmation. It seems that the ability to accurately recognize plans may mediate the success of novice programmers. IV. W ORKING WITH STUDENT TENDENCIES , NOT AGAINST Students’ search for plans and patterns is a potentially useful tendency that could be strengthened as a problem- solving approach. There is an opportunity for instructors to facilitate use of this strategy for all students, but little work has been done about how to explicitly incorporate plans into an instructional approach. Instead, much recent work in building student programming skill has focused on improving understanding of program behavior. Many iterations of program visualization tools have been created to demonstrate the changes in memory as code executes [9]. These tools execute every step of code execution, giving a look “inside” the computer. However, they do not have the capability to infer the goal of the code they visualize, or even any patterns or structure in the changes of key variables. V. F UTURE DIRECTIONS The focus on plans as an alternative instructional approach Fig. 1. Examples of a plan in two different contexts. is promising, but much work is needed in order to prove its effectiveness and make it actionable in the classroom. While past work has described how students may build programs R EFERENCES by composing goals and plans, little work has focused on [1] S. Fayer, A. Lacey, and A. Watson. “BLS spotlight on statistics: STEM a more foundational skill: the ability to recognize plans in occupations - past, present, and future,” Bureau of Labor Statistics, Jan. practice. My prior work has shown that this recognition is key 2017. Available: https://www.bls.gov/spotlight/2017/science-technology- engineering-and-mathematics-stem-occupations-past-present-and-future to students’ use of plans while solving problems. I plan to [2] M. McCracken, V. Almstrum, D. Diaz, M. Guzdial, D. Hagan, Y. Ben- investigate the following research questions: David Kolikant, C. Laxer, L. Thomas, I. Utting, and T. Wilusz. “A Multi- Is the ability to recognize and recall programming plans national, Multi-institutional Study of Assessment of Programming Skills of First-year CS Students,” In Working group reports from Innovation correlated with problem-solving success? and Technology in Computer Science Education, 2001, pp. 125-180. A closer investigation of how knowledge of programming [3] R. Lister, O. Seppala, B. Simon, L. Thomas, E. S. Adams, S. Fitzgerald, plans is related to success in different types of programming W. Fone, J. Hamer, M. Lindholm, R. McCartney, J. E. Mostrom, and K. Sanders. “A multi-national study of reading and tracing skills in problems, such as reading code, fixing code, and writing code, novice programmers,” In Working group reports from Innovation and will help us understand the promise and limitations of this Technology in Computer Science Education, 2004, pp. 119-150. approach. [4] A. E. Tew and M. Guzdial. “Developing a validated assessment of fundamental CS1 concepts,” In Proceedings of the 41st ACM Technical How can instructors increase the ability of students to Symposium on Computer Science Education, 2010, pp. 97-101. recognize and recall programming plans? [5] G.L. Nelson, B. Xie, and A. J. Ko. “Comprehension first: evaluating a There are two techniques I plan to investigate. The first novel pedagogy and tutoring system for program tracing in CS1,” In Proceedings of the 2017 ACM Conference on International Computing approach is to use examples of the plan implemented in Education Research, 2017, pp. 2-11. a variety of contexts (see Figure 1). This may allow each [6] J.C. Spohrer, E. Soloway, and E. Pope. “A goal/plan analysis of buggy student to create a mental schema of the abstracted plan that Pascal programs,” Human-Computer Interaction, vol. 1, no. 2, Jun., pp. 163-207, 1985. fits within their existing knowledge structures. The second [7] R. S. Rist. “Schema creation in programming,” Cognitive Science, vol. approach is explicit instruction about a programming plan, 13, pp. 389-414, 1989. using a visualization of an abstract plan. While this approach [8] J. Sorva, “Notional machines and introductory programming education,” Transactions on Computing Education, vol. 13, no. 2, Jul., pp. 1-31, has the potential advantage of more accurately sharing expert 2013. knowledge and decreasing the opportunity for misconceptions, [9] J. Sorva, V. Karavirta, and L. Malmi. “A review of generic program it also has the potential downside of being too abstract or visualization systems for introductory programming education,” Trans- actions on Computing Education, vol. 13, no. 4, Nov., pp. 15-78, 2013. difficult to understand for novices. [10] M. De Raadt, R. Watson, and M. Toleman. “Teaching and assessing Understanding the utility of plan recognition for novices programming strategies explicitly,” In Proceedings of the Eleventh and validating techniques for building plan knowledge add a Australasian Conference on Computing Education, 2009, pp. 45-54. multipurpose tool to the toolbox of programming educators.