2,470
Views
42
CrossRef citations to date
0
Altmetric
Research Article

A theory of instruction for introductory programming skills

, , , , , , , , & show all
Pages 205-253 | Received 06 Aug 2018, Accepted 02 Jan 2019, Published online: 25 Jan 2019

References

  • Allen, M. J., & Yen, W. M. (2001). Introduction to measurement theory. Long Grove, IL: Waveland Press.
  • Anderson, J. R., Boyle, C. F., Farrell, R., & Reiser, B. J. (1984). Cognitive principles in the design of computer tutors (No. TR-84-1-ONR). Retrieved from http://www.dtic.mil/docs/citations/ADA144825
  • Archer, A. L., & Hughes, C. A. (2010). Explicit instruction: Effective and efficient teaching. New York, NY: Guilford Press.
  • Biggs, J. B., & Collis, K. F. (2014). Evaluating the quality of learning: The SOLO taxonomy (structure of the observed learning outcome). Cambridge, MA: Academic Press.
  • Bruner, J. S. (1966). Toward a theory of instruction. Cambridge, MA: Harvard University Press.
  • Buck, D., & Stucki, D. J. (2000). Design early considered harmful: Graduated exposure to complexity and structure based on levels of cognitive development. SIGCSE Bullettin, 32(1), 75–79.
  • Buck, D., & Stucki, D. J. (2001). JKarelRobot : A case study in supporting levels of cognitive development in the computer science curriculum mathematical sciences department. ACM SIGCSE Bulletin, 33(1), 16–20.
  • Caspersen, M. E., & Bennedsen, J. (2007). Instructional Design of a Programming Course: A Learning Theoretic Approach. In Proceedings of the Third International Workshop on Computing Education Research (pp. 111–122). New York, NY: ACM.
  • Castro, F. E. V., & Fisler, K. (2017). Designing a multi-faceted SOLO taxonomy to track program design skills through an entire course (pp. 10–19). ACM Press. Retrieved from http://dl.acm.org/citation.cfm?doid=3141880.3141891
  • Clancy, M., & Linn, M. C. (1992). Designing pascal solutions: A case study approach. Rockville, MD: Computer Science Press.
  • Clancy, M. J., & Linn, M. C. (1999). Patterns and pedagogy. Proceedings of the Thirtieth SIGCSE Technical Symposium on Computer Science Education (pp. 37–42). New York, NY: ACM.
  • Clear, T., Whalley, J., Robbins, P., Philpott, A., Eckerdal, A., & Laakso, M. (2011, June). Report on the final BRACElet workshop: Auckland University of Technology, September 2010. Journal of Applied Computing and Information Technology, 15. http://www.diva-portal.org/smash/record.jsf?pid=diva2%3A431090&dswid=2905
  • Collins, A., Brown, J. S., & Newman, S. E. (1988). Cognitive apprenticeship: Teaching the craft of reading, writing and mathematics. Thinking: the Journal of Philosophy for Children, 8(1), 2–10.
  • Cooper, S., Wang, K., Israni, M., & Sorby, S. (2015). Spatial skills training in introductory computing. Proceedings of the Eleventh Annual International Conference on International Computing Education Research (pp. 13–20). New York, NY: ACM.
  • Corney, M., Lister, R., & Teague, D. (2011). Early relational reasoning and the novice programmer: Swapping as the hello world of relational reasoning. In Proceedings of the Thirteenth Australasian Computing Education Conference Volume 114 (pp. 95–104). Australian Computer Society, Inc. Retrieved from http://dl.acm.org/citation.cfm?id=2459936.2459948
  • Cunningham, K., Blanchard, S., Ericson, B., & Guzdial, M. (2017). Using tracing and sketching to solve programming problems: Replicating and extending an analysis of what students draw. Proceedings of the 2017 ACM Conference on International Computing Education Research (pp. 164–172). New York, NY: ACM.
  • Davies, S. P. (1993). Models and theories of programming strategy. International Journal of Man-Machine Studies, 39(2), 237–267.
  • de Raadt, M. (2008). Teaching programming strategies explicitly to novice programmers (Unpublished doctoral dissertation). University of Southern Queensland.
  • Doyle, W. (1983, June). Academic work. Review of Educational Research, 53(2), 159–199.
  • Dweck, C. S. (2008). Mindset: The new psychology of success. New York, NY: Ballantine Books.
  • Ekstrom, R. B., Dermen, D., & Harman, H. H. (1976). Manual for kit of factor-referenced cognitive tests (Vol. 102). New Jersey, NJ: Educational Testing Service Princeton.
  • Fisler, K., & Castro, F. E. V. (2017). Sometimes, rainfall accumulates: Talk-alouds with novice functional programmers. In Proceedings of the 2017 acm conference on international computing education research (pp. 12–20). ACM. doi:10.1145/3105726.3106183
  • Fuller, U., Riedesel, C., Thompson, E., Johnson, C. G., Ahoniemi, T., Cukierman, D., … Thompson, D. M. (2007). Developing a computer sciencespecific learning taxonomy. ACM SIGCSE Bulletin, 39(4), 152. Retrieved from http://portal.acm.org/citation.cfm?doid=1345375.1345438
  • Gluga, R., Kay, J., Lister, R., Simon, & Kleitman, S. (2013). Mastering cognitive development theory in computer science education. Computer Science Education, 23(1), 24–57.
  • Gluga, R., Kay, J., Lister, R., & Teague, D. (2012). On the reliability of classifying programming tasks using a neo-piagetian theory of cognitive development. In Proceedings of the ninth annual international conference on International computing education research ICER ’12 (pp. 31). Retrieved from http://dl.acm.org/citation.cfm?doid=2361276.2361284
  • Hertz, M., & Jump, M. (2013). Trace-based teaching in early programming courses. In Proceedings of the 44th ACM Technical Symposium on Computer Science Education (pp. 561–566). Retrieved from http://dl.acm.org/citation.cfm?doid=2445196.2445364
  • Huang, Y. (2018). Learner modeling for integration skills in programming (Unpublished doctoral dissertation). University of Pittsburgh.
  • Kolodner, J. L., & Guzdial, M. (2000). Theory and practice of case-based learning aids. In Jonassen, D.H. & Land, S.M. (Eds.), Theoretical Foundations of Learning Environments (pp. 215–242). New York, NY: Routledge.
  • Kreitzberg, C. B., & Swanson, L. (1974). A cognitive model for structuring an introductory programming curriculum. In Proceedings of the May 6–10, 1974, National Computer Conference and Exposition (pp. 307–311). New York, NY: ACM.
  • Kurtz, K. J., Miao, C.-H., & Gentner, D. (2001, October). Learning by analogical bootstrapping. Journal of the Learning Sciences, 10(4), 417446.
  • Linn, M., & Dalbey, J. (1985, September). Cognitive consequences of programming instruction: Instruction, access, and ability. Educational Psychologist EDUC PSYCHOL, 20, 191206.
  • Linn, M. C., & Clancy, M. J. (1992). The case for case studies of programming problems. Communications of the ACM, 35(3), 121–132. Retrieved from http://portal.acm.org/citation.cfm?doid=131295.131301
  • Lister, R., Adams, E. S., Fitzgerald, S., Fone, W., Hamer, J., Lindholm, M. (2004). A multi-national study of reading and tracing skills in novice programmers. In ACM SIGCSE Bulletin (Vol. 36, No. 4, pp. 119-150). New York, NY: ACM.
  • Lister, R., Clear, T., Bouvier, D. J., Carter, P., Eckerdal, A., Jacková, J., Lopez, M., McCartney, R., Robbins, P., Seppälä, O. and Thompson, E. (2010). Naturally occurring data as research instrument: Analyzing examination responses to study the novice programmer. ACM SIGCSE Bulletin, 41(4), 156–173.
  • Lister, R., Simon, B., Thompson, E., Whalley, J. L., & Prasad, C. (2006). Not seeing the forest for the trees: Novice programmers and the solo taxonomy. In Proceedings of the 11th annual sigcse conference on innovation and technology in computer science education (pp. 118–122). ACM. doi:10.1145/1140124.1140157
  • Liu, Y., & Fu, X. (2007). How does distraction task influence the interaction of working memory and long-term memory? In D. Harris (Ed.), Engineering psychology and cognitive ergonomics (Vol. 4562, pp. 366–374). Berlin, Heidelberg: Springer Berlin Heidelberg.
  • Loksa, D., & Ko, A. J. (2016). The role of self-regulation in programming problem solving process and success. Proceedings of the 2016 ACM Conference on International Computing Education Research (pp. 83–91). New York, NY: ACM.
  • Loksa, D., Ko, A. J., Jernigan, W., Oleson, A., Mendez, C. J., & Burnett, M. M. (2016). Programming, problem solving, and self-awareness: Effects of explicit guidance (pp. 14491461). ACM Press.
  • Lopez, M., Whalley, J., Robbins, P., & Lister, R. (2008). Relationships between reading, tracing and writing skills in introductory programming. Proceedings of the Fourth International Workshop on Computing Education Research (pp. 101–112). New York, NY: ACM.
  • McCartney, R., Moström, J. E., Sanders, K., & Seppälä, O. (2004). Questions, annotations, and institutions: Observations from a study of novice programmers. Proceedings of the Fourth Finnish/Baltic Sea Conference on Computer Science Education (pp. 11-19). Helsinki, Finland: Helsinki University of Technology, Department of Computer Science and Engineering, Laboratory of Information Processing Science.
  • Mead, J., Gray, S., Hamer, J., James, R., Sorva, J., Clair, C. S., & Thomas, L. (2006). A cognitive approach to identifying measurable milestones for programming skill acquisition (Working group reports on ITiCSE on Innovation and technology in computer science education ITiCSE-WGR ’06 (December 2006), 182). Retrieved from http://portal.acm.org/citation.cfm?doid=1189215.1189185
  • Morra, S., Gobbo, C., Marini, Z., Sheese, R., Gobbo, C., Marini, Z., & Sheese, R. (2012). Cognitive development : Neo-piagetian perspectives. New York: Psychology Press.
  • Muller, O., Haberman, B., & Ginat, D. (2007). Pattern-oriented instruction and its influence on problem decomposition and solution construction. ACM SIGCSE Bulletin (Vol. 39, No. 3, pp. 151-155). New York, NY: ACM.
  • Murphy, L., Fitzgerald, S., Lister, R., & McCauley, R. (2012). Ability to explain in plain english linked to proficiency in computer-based programming. In Proceedings of the ninth annual international conference on international computing education research (pp. 111–118). ACM. doi:10.1145/2361276.2361299
  • Murphy, L., & Thomas, L. (2008). Dangers of a fixed mindset: Implications of self-theories research for computer science education. Proceedings of the 13th Annual Conference on Innovation and Technology in Computer Science Education (pp. 271–275). New York, NY: ACM.
  • National Academies of Sciences. (2018). how people learn II: Learners, contexts, and cultures. Washington, DC: National Academies Press.
  • Nelson, G. L., Xie, B., & Ko, A. J. (2017). Comprehension First: Evaluating a Novel Pedagogy and Tutoring System for Program Tracing in Cs1. Proceedings of the 2017 ACM Conference on International Computing Education Research (pp. 2–11). New York, NY: ACM.
  • Philpott, A., Robbins, P., & Whalley, J. L. (2007). Assessing the Steps on the Road to Relational Thinking. Proceedings of the 20th Annual Conference of the National Advisory Committee on Computing Qualifications (pp. 286). Nelson, New Zealand: NACCQ.
  • Proulx, V. K. (2000). Programming patterns and design patterns in the introductory computer science course SIGCSE, 5.
  • Ramalingam, V., & Wiedenbeck, S. (1998, December). Development and validation of scores on a computer programming self-efficacy scale and group analyses of novice programmer selfefficacy. Journal of Educational Computing Research, 19(4), 367–381.
  • Ranum, D., Miller, B., Zelle, J., & Guzdial, M. (2006). Successful approaches to teaching introductory computer science courses with python. In ACM SIGCSE Bulletin (Vol. 38, No. 1, pp. 396–397). New York, NY: ACM.
  • Ranum, D. L., & Miller, B. N. (2013). Python programming in context (2nd ed.). Burlington, MA: Jones & Bartlett Learning.
  • Rist, R. S. (1989, July). Schema creation in programming. Cognitive Science, 13(3), 389414.
  • Robins, A., Rountree, J., & Rountree, N. (2003, June). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137–172.
  • Sanders, K., Boustedt, J., Eckerdal, A., McCartney, R., Moström, J. E., Thomas, L., & Zander, C. (2012). Threshold concepts and threshold skills in computing. In Proceedings of the ninth annual international conference on international computing education research (pp. 23–30). ACM. doi:10.1145/2361276.2361283
  • Schank, P. K., Linn, M. C., & Clancy, M. J. (1993). Supporting Pascal programming with an on-line template library and case studies. International Journal of Man-Machine Studies, 38(6), 1031–1048.
  • Schmader, T., & Johns, M. (2003). Converging evidence that stereotype threat reduces working memory capacity. Journal of Personality and Social Psychology, 85(3), 440–452.
  • Schmader, T., Johns, M., & Forbes, C. (2008, April). An integrated process model of stereotype threat effects on performance. Psychological Review, 115(2), 336–356.
  • Shaw, Z. A. (2017). Learn python 3 the hard way: A very simple introduction to the terrifyingly beautiful world of computers and code. Boston, MA: Addison-Wesley Professional.
  • Sheard, J., Carbone, A., Lister, R., Simon, B., Thompson, E., & Whalley, J. L. (2008). Going solo to assess novice programmers. In Proceedings of the 13th annual conference on innovation and technology in computer science education (pp. 209–213). ACM. doi:10.1145/1384271.1384328
  • Shneiderman, B. (1977, January). Teaching programming: A spiral approach to syntax and semantics. Computers & Education, 1(4), 193–197.
  • Soloway, E. (1986, September). Learning to program = learning to construct mechanisms and explanations. Communications of the ACM, 29(9), 850–858.
  • Soloway, E., & Ehrlich, K. (1984, September). Empirical studies of programming knowledge. IEEE Transactions on Software Engineering, SE-10(5), 595–609.
  • Stadler, M. A. (1995, May). Role of attention in implicit learning. Journal of Experimental Psychology: Learning, Memory, and Cognition, 21(3), 674–685.
  • Szabo, C., Falkner, K., & Falkner, N. (2014). Experiences in course design using neo-piagetian theory. In Proceedings of the 14th Koli Calling International Conference on Computing Education Research (pp. 81–90). Retrieved from http://dl.acm.org/citation.cfm?id=2674691
  • Tew, A. E., & Guzdial, M. (2010). Developing a validated assessment of fundamental cs1 concepts. In Proceedings of the 41st acm technical symposium on computer science education (pp. 97–101). ACM. doi:10.1145/1734263.1734297
  • Thompson, E., Luxton-Reilly, A., Whalley, J. L., Hu, M., & Robbins, P. (2008). Bloom’s taxonomy for CS assessment. In Tenth australasian computing education conference ace, Vol. 78.
  • Thota, N., & Whitfield, R. (2010). Holistic approach to learning and teaching introductory object-oriented programming. Computer Science Education, 20(2), 103–127.
  • Vandenberg, S. G., & Kuse, A. R. (1978, December). Mental rotations, a group test of threedimensional spatial visualization. Perceptual and Motor Skills, 47(2), 599–604.
  • Venables, A., Tan, G., & Lister, R. (2009). A closer look at tracing, explaining and code writing skills in the novice programmer. In Proceedings of the fifth international workshop on computing education research workshop (pp. 117–128). ACM. doi:10.1145/1584322.1584336
  • Whalley, J.L., & Kasto, N. (2013). Revisiting models of human conceptualisation in the context of a programming examination. In A. Carbone, & J. L. Whalley (Eds.), Proceedings of the Fifteenth Australasian Computing Education Conference (Vol. 136, pp.64–73). Adelaide, Australia: Australian Computer Society, Inc.
  • Whalley, J. L., Lister, R., Thompson, E., Clear, T., Robbins, P., Kumar, P. K. A., & Prasad, C. (2006). An Australasian study of reading and comprehension skills in novice programmers, using the bloom and SOLO taxonomies. In Proceedings of the 8th Australasian Conference on Computing Education (pp. 10). Australian Computer Society, Inc.
  • Winslow, L. E. (1996, September). Programming pedagogy-a psychological overview. SIGCSE Bullettin, 28(3), 17–22.
  • Xie, B., Nelson, G. L., & Ko, A. J. (2018). An explicit strategy to scaffold novice program tracing. In 2018 acm sigcse technical symposium on computer science education. ACM. doi:10.1145/3159450.3159527
  • Zimmerman, B., & Schunk, D. H. (2011). Handbook of self-regulation of learning and performance. New York, NY: Taylor & Francis.

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.