Skip to main content
Log in

Teaching the novice programmer: A study of instructional sequences and perception

  • Published:
Education and Information Technologies Aims and scope Submit manuscript

Abstract

Studies show that for many years courses teaching computer programming skills to novices have engendered a dislike for programming in many students. The first phase of this study presented identical content in one of three instructional sequences to 34 college students who were programming novices to determine which produced the greatest development of programming expertise. Learning was measured by performance on a Programming Assessment given immediately after the intervention, and effort and difficulty were self-rated during the instruction. There was no significant difference among the groups in Programming Assessment scores, and overall self-rated effort and difficulty of the instruction did not vary simply by rearranging the order in which the major elements were presented. However, instructional units that covered programming syntax skills and structures were rated by all groups as requiring significantly less effort and difficulty than units covering plans, and participants in all groups scored significantly higher on syntax skills and structures than on plans. The second phase sought evidence that there were differences in perception and the complexity of knowledge in long term memory between novices and experts programmers by comparing the fifteen top performing participants on the Programming Assessment with three programming experts in chunking a short program and in constructing the central solution statement to four programming problems. Experts chunked programs to twice the levels and twice as fast as novices, indicating differences in the mental organization of novices and experts. The implications of these results are discussed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  • Adelson, B. (1981). Problem solving and the development of abstract categories in programming languages. Memory & Cognition, 9(4), 422–433.

    Article  Google Scholar 

  • Anderson, J. R. (1987). Skill acquisition: Compilation of weak-method problem solutions. Psychological Review, 94(2), 192–210.

    Article  Google Scholar 

  • Bennedsen, J., & Caspersen, M. E. (2008). Optimists have more fun, but do they learn better? On the influence of emotional and social factors on learning introductory computer science. Computer Science Education, 18(1), 1–16.

    Article  Google Scholar 

  • Bergin, S., & Reilly, R. (2006). Predicting introductory programming performance: A multiinstitutional multivariate study. Computer Science Education, 16(4), 303–323.

    Article  Google Scholar 

  • Bonar, J., & Soloway, E. (1985). Preprogramming knowledge: A major source of misconceptions in novice programmers. Human-Computer Interaction, 1(2), 133–161.

    Article  Google Scholar 

  • Boschker, M. S. J., Bakker, F. C., & Michaels, C. F. (2002). Memory for the functional characteristics of climbing walls: Perceiving affordances. Journal of Motor Behavior, 34(1), 25–36.

    Google Scholar 

  • Campbell, R. L., Brown, N. R., & DiBello, L. A. (1992). The programmer’s burden: Developing expertise in programming. In R. R. Hoffman (Ed.), The psychology of expertise: Cognitive research and empirical AI (pp. 269–294). New York: Springer.

    Google Scholar 

  • Chandler, P., & Sweller, J. (1991). Cognitive load theory and the format of instruction. Cognition & Instruction, 8(4), 293–332.

    Article  Google Scholar 

  • Charness, N., Reingold, E., Pomplun, M., & Stampe, D. M. (2001). The perceptual aspect of skilled performance in chess: Evidence from eye movements. Memory & Cognition, 29(8), 1146–1152.

    Article  Google Scholar 

  • Chase, W. G., & Simon, H. A. (1973). Perception in chess. Cognitive Psychology, 4, 55–81.

    Article  Google Scholar 

  • Corritore, C. L., & Wiedenbeck, S. (1991). What do novices learn during program comprehension? International Journal of Human-Computer Interaction, 3(2), 199–222.

    Article  Google Scholar 

  • Cowan, N. (2000). The magical number 4 in short-term memory: A reconsideration of mental storage capacity. The Behavioral and Brain Sciences, 24(1), 87–114.

    Article  MathSciNet  Google Scholar 

  • Davies, S. P. (1994). Knowledge restructuring and the acquisition of programming expertise. International Journal of Human Computer Studies, 40, 703–726.

    Article  Google Scholar 

  • Davies, S. P., Gilmore, D. J., & Green, T. R. G. (1995). Are objects that important? Effects of expertise and familiarity on classification of object-oriented code. Human-Computer Interaction, 10(2–3), 227–248.

    Article  Google Scholar 

  • De Groot, A. D. (1965). Thought and choice in chess. The Hague. The Netherlands: Mouton.

    Google Scholar 

  • DeLeeuw, K. E., & Mayer, R. E. (2009). A comparison of three measures of cognitive load: Evidence for separable measures of intrinsic, extraneous, and germane load. Journal of Educational Psychology, 100(1), 223–234.

    Article  Google Scholar 

  • Eckert, C., & Stacey, M. (2003). Adaptation of sources of inspiration in knitwear design. Creativity Research Journal, 15(4), 355–384.

    Article  Google Scholar 

  • Gagné, R. M., Briggs, L. J., & Wager, W. W. (1988). Principles of instructional design (3rd ed.). New York: Holt, Rinehart and Winston.

    Google Scholar 

  • Garland, D. J., & Barry, J. R. (1992). Effects of interpolated processing on experts recall of schematic information. Current Psychology, 10(4), 273–280.

    Article  Google Scholar 

  • Gaspar, A., & Langevin, S. (2007). Restoring “Coding with intention” in introductory programming courses. In Proceedings of the 8th ACM SIGITE conference on information technology education (pp. 91–98). New York: ACM.

  • Gobet, F. (2005). Chunking models of expertise: Implications for education. Applied Cognitive Psychology, 19(2), 183–204.

    Article  Google Scholar 

  • Gobet, F., & Wood, D. (1999). Expertise, models of learning and computer-based tutoring. Computers & Education, 33(2–3), 189–207.

    Article  Google Scholar 

  • Gobet, F., & Simon, H. A. (2000). Five seconds or sixty? Presentation time in expert memory. Cognitive Science, 24(4), 651–682.

    Article  Google Scholar 

  • Gobet, F., & Jackson, S. (2002). In search of templates. Cognitive Systems Research, 3(1), 35–44.

    Article  Google Scholar 

  • Gobet, F., & Chassy, P. (2008). Towards an alternative to Benner’s theory of expert intuition in nursing: A discussion paper. International Journal of Nursing Studies, 45(1), 129–139.

    Article  Google Scholar 

  • Gobet, F., & Chassy, P. (2009). Expertise and intuition: A tale of three theories. Minds and Machines, 19, 151–180.

    Article  Google Scholar 

  • Kalyuga, S. (2009). Knowledge elaboration: A cognitive load perspective. Learning and Instruction, 19, 402–410.

    Article  Google Scholar 

  • Kurland, D. M., Pea, R. D., Clement, C., & Mawby, R. (1989). A study of the development of programming ability and thinking skills in high school students. In E. Soloway & J. C. Spohrer (Eds.), Studying the novice programmer (pp. 83–112). Hillsdale: Lawrence Erlbaum.

    Google Scholar 

  • Linn, M. C., & Dalbey, J. (1989). Cognitive consequences of programming instruction. In E. Soloway & J. C. Spohrer (Eds.), Studying the novice programmer (pp. 57–81). Hillsdale: Lawrence Erlbaum.

    Google Scholar 

  • McCracken, M., Almstrum, V., Diaz, D., Guzdial, M., Hagan, D., Kolikant, Y. B., et al. (2001). A multi-national, multi-institutional study of assessment of programming skills of first-year CS students. SIGCSE Bulletin., 33(4), 125–180.

    Article  Google Scholar 

  • McGettrick, A., Boyle, R., Ibbett, R., Lloyd, J., Lovegrove, G., & Mander, K. (2005). Grand challenges in computing: Education—A summary. The Computer Journal, 48(1), 42–48.

    Article  Google Scholar 

  • McKeithen, K. B., Reitman, J. S., Rueter, H. H., & Hirtle, S. C. (1981). Knowledge organization and skill differences in computer programmers. Cognitive Psychology, 13(3), 307–325.

    Article  Google Scholar 

  • Miller, G. A. (1956). The magical number seven, plus or minus two: Some limits on our capacity for processing information. Psychological Review, 63, 81–97.

    Article  Google Scholar 

  • Paas, F. G., & Van Merriënboer, J. (1994). Measurement of cognitive load in instructional research. Perceptual and Motor Skills, 79(1), 419–430.

    Article  Google Scholar 

  • Pennington, N. (1987). Stimulus structures and mental representations in expert comprehension of computer programs. Cognitive Psychology, 19(3), 295–341.

    Article  Google Scholar 

  • Pollock, E., Chandler, P., & Sweller, J. (2002). Assimilating complex information. Learning and Instruction, 12(1), 61–86.

    Article  Google Scholar 

  • Putnam, R. T., Sleeman, D., Baxter, J. A., & Kuspa, L. K. (1989). A summary of misconceptions of high school basic programmers. In E. Soloway & J. C. Spohrer (Eds.), Studying the novice programmer (pp. 301–315). Hillsdale: Lawrence Erlbaum.

    Google Scholar 

  • Reigeluth, C. M., & Stein, F. S. (1983). The elaboration theory of instruction. In C. M. Reigeluth (Ed.), Instructional-design theories and models: An overview of their current status (pp. 334–381). Hillsdale: Lawrence Erlbaum Associates.

    Google Scholar 

  • Rist, R. S. (1989). Schema creation in programming. Cognitive Science, 13, 389–414.

    Article  Google Scholar 

  • 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 

  • Saariluoma, P., & Laine, T. (2001). Novice construction of chess memory. Scandinavian Journal of Psychology, 42, 137–146.

    Article  Google Scholar 

  • Schnotz, W., & Kürschner, C. (2007). A reconsideration of cognitive load theory. Educational Psychology Review, 19(4), 469–508.

    Article  Google Scholar 

  • Soloway, E. (1986). Learning to program=learning to construct mechanisms and explanations. Communications of the ACM, 29(9), 850–858.

    Article  Google Scholar 

  • Soloway, E., Erlich, K., Bonar, J., & Greenspan, J. (1982). What do novices know about programming? In A. Badre & B. Shneiderman (Eds.), Directions in human-computer interaction (pp. 27–54). Norwood: Ablex.

    Google Scholar 

  • Spohrer, J. C., & Soloway, E. (1988). Novice mistakes: Are the folk wisdoms correct? Communications of the ACM, 29(7), 624–632.

    Article  Google Scholar 

  • Sweller, J., & Chandler, P. (1994). Why some material is difficult to learn. Cognition and Instruction, 12(3), 185–233.

    Article  Google Scholar 

  • Van Gog, T., Paas, F., & Van Merriënboer, J. J. G. (2005). Uncovering expertise-related differences in troubleshooting performance: Combining eye movement and concurrent verbal protocol data. Applied Cognitive Psychology, 19(2), 205–221.

    Article  Google Scholar 

  • van Merriënboer, J. J. G., & Sweller, J. (2005). Cognitive load theory and complex learning: Recent developments and future directions. Educational Psychology Review, 17(2), 147–177.

    Article  Google Scholar 

  • van Merriënboer, J. J. G., Kirschner, P. A., & Kester, L. (2003). Taking the load off a learner’s mind: Instructional design for complex learning. Educational Psychologist, 38(1), 5–13.

    Article  Google Scholar 

  • Vessey, I. (1988). Expert-novice knowledge organization: An empirical investigation using computer program recall. Behaviour & Information Technology, 7(2), 153–172.

    Article  Google Scholar 

  • Wickelgren, W. A. (1999). Webs, cell assemblies, and chunking in neural nets. Canadian Journal of Experimental Psychology, 53(1), 118–131.

    Article  Google Scholar 

  • Wiedenbeck, S. (1986). Beacons in computer-program comprehension. International Journal of Man-Machine Studies, 25(6), 697–709.

    Article  Google Scholar 

  • Winslow, L. E. (1996). Programming pedagogy: A psychological overview. SIGSE Bulletin, 28(3), 17–25.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Douglas A. Kranch.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kranch, D.A. Teaching the novice programmer: A study of instructional sequences and perception. Educ Inf Technol 17, 291–313 (2012). https://doi.org/10.1007/s10639-011-9158-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10639-011-9158-8

Keywords

Navigation