ABSTRACT
A study by a ITiCSE 2001 working group ("the McCracken Group") established that many students do not know how to program at the conclusion of their introductory courses. A popular explanation for this incapacity is that the students lack the ability to problem-solve. That is, they lack the ability to take a problem description, decompose it into sub-problems and implement them, then assemble the pieces into a complete solution. An alternative explanation is that many students have a fragile grasp of both basic programming principles and the ability to systematically carry out routine programming tasks, such as tracing (or "desk checking") through code. This ITiCSE 2004 working group studied the alternative explanation, by testing students from seven countries, in two ways. First, students were tested on their ability to predict the outcome of executing a short piece of code. Second, students were tested on their ability, when given the desired function of short piece of near-complete code, to select the correct completion of the code from a small set of possibilities. Many students were weak at these tasks, especially the latter task, suggesting that such students have a fragile grasp of skills that are a prerequisite for problem-solving.
- Brooks, R. (1983) Towards a theory of the comprehension of computer programs. International Journal of man-Machine Studies, 18, pp. 543--554.Google Scholar
- Clancy, M. and Linn, M. (1999), Patterns and Pedagogy. 30th Technical Symposium on Computer Science Education (SIGCSE 1999), New Orleans, LA USA. pp. 37--42. Google ScholarDigital Library
- Davies, S. (1996) Display-based problem solving strategies in computer programming. In Gray, W, and Boehm-Davis, D. (Eds) Empirical Studies of Programmers: 6th Workshop. Ablex Publishing Corporation, NJ. pp. 59--76.Google Scholar
- Detienne, F. (1990) Expert Programming Knowledge: A Schema-based Approach. In Hoc, J, Green, T, Samurcay, and Gilmore, D. (Eds) Psychology of Programming. Academic Press, London. pp 206--222.Google Scholar
- Detienne, F, and Soloway, E. (1990) An empirically-derived control structure for the process of program understanding. Int. J. of Man-Machine Studies, 33, pp. 323--342. Google ScholarDigital Library
- Deimel, L. E. & Naveda, J. F. (1990) Reading Computer Programs: Instructor's Guide and Exercises Software Engineering Institute, Carnegie-Mellon University. http://www.deimel.org/comp_sci/reading_computer_programs.htm (August 2004) Updated bibliography at http://www2.umassd.edu/SWPI/Process Bibliography/bib-codereading2.html (August 2004).Google Scholar
- du Boulay, B. (1989) Some Difficulties of Learning to Program. In Soloway, E. and Spohrer, J., Eds. pp. 283--299.Google Scholar
- Ebel, R. and Frisbie, D. (1986) Essentials of Educational Measurement. Prentice Hall, Englewood Cliffs, NJ.Google Scholar
- Haladyna, T. (1999) Developing and Validating Multiple-Choice Questions (2nd Edition), Lawrence Erlbaum Associates, Mahwah, NJ.Google Scholar
- Kuittinen, M, and Sajaniemi, J. (2004) Teaching Roles of Variables in Elementary Programming Courses. 9th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE'04), Leeds, UK. pp 57--61. Google ScholarDigital Library
- Linn, R. and Gronlund, N. (1995) Measurement and Assessment in Teaching, Prentice Hall, Upper Saddle River, NJ.Google Scholar
- Lister, R. (2004) Availability of working group data. http://www-staff.it.uts.edu.au/~raymond/leeds2004.Google Scholar
- McCracken, M., V. Almstrum, D. Diaz, M. Guzdial, D. Hagen, Y. Kolikant, C. Laxer, L. Thomas, I. Utting, T. Wilusz, (2001) A Multi-National, Multi-Institutional Study of Assessment of Programming Skills of First-year CS Students, SIGCSE Bulletin, 33(4). pp 125--140. Google ScholarDigital Library
- Pennington, N. (1987) Comprehension Strategies in Programming. In Olson, G., Sheppard, S., and Soloway, E. (Eds) Empirical Studies of Programmers: Second Workshop. Ablex, NJ, USA. pp 100--113. Google ScholarDigital Library
- Perkins, D. and Martin, F. (1986) Fragile Knowledge and Neglected Strategies in Novice Programmers. In Soloway, E. and Iyengar, S. (Eds) pp. 213--229. Google ScholarDigital Library
- Perkins, D, Hancock, C, Hobbs, R, Martin, F, and Simmons, R. (1989). Conditions of Learning in Novice Programmers. In Soloway, E. and Spohrer, J., Eds. pp 261--279.Google Scholar
- Rist, R. S. (1986). Plans in Programming: Definition, Demonstration and Development. In Soloway, E. and Iyengar, S., Eds. pp 28--47. Google ScholarDigital Library
- Rist, R. (2004) Learning to Program: Schema Creation, Application, and Evaluation. In Fincher, S and Petre, M., Eds (2004) Computer Science Education Research. Swets & Zeitlinger.Google Scholar
- Soloway, E. and Ehrlich, K (1984) Empirical Studies of Programming Knowledge. IEEE Transactions on Software Engineering, SE-10(5):595--609.Google ScholarDigital Library
- Soloway, E. (1986). Learning to program = Learning to construct mechanisms and explanations. Communications of the ACM, 29(9). pp. 850--858. Google ScholarDigital Library
- Soloway, E. and Iyengar, S., Eds (1986) Empirical Studies of Programmers. Ablex, NJ, USA. Google ScholarDigital Library
- Soloway, E, Adelson, B, and Ehrlich, K. (1988) Knowledge and Processes in the Comprehension of Computer Programs. In Glaser, M, Chi, R, Farr, M, Glaser, R (Eds) The Nature of Expertise. Lawrence Erlbaum Associates, Hillsdale, NJ, USA. pp 129--152.Google Scholar
- Soloway, E. and and Spohrer, J, Eds (1989), Studying the Novice Programmer. Lawrence Erlbaum Associates, Hillsdale, NJ, 1989. Google ScholarDigital Library
- Spohrer, J. and Soloway, E. (1986) Analyzing the High Frequency Bugs in Novice Programs. In Soloway, E. and Iyengar, S. (Eds) pp. 230--251. Google ScholarDigital Library
- Spohrer, J. and Soloway, E. (1989) Novice Mistakes: Are the Folk Wisdoms Correct? In Soloway, E. and Spohrer, J., Eds. pp 401--416.Google Scholar
- Thomas, L. Ratcliffe, M., and Thomasson, B. (2004) Scaffolding with Object Diagrams in First Year Programming Classes: Some Unexpected Results. 35th Technical Symposium on Computer Science Education (SIGCSE 2004), Norfolk, VA USA. pp. 250--254. Google ScholarDigital Library
- Wiedenbeck, S. (1985) Novice/expert differences in programming skills. Int. J. of Man-Machine Studies, 23, pp. 383--390. Google ScholarDigital Library
- Wiedenbeck, S. (1986) Processes in Computer Program Comprehension. In Soloway, E. and Iyengar, S., Eds. pp 48--57. Google ScholarDigital Library
- A multi-national study of reading and tracing skills in novice programmers
Recommendations
A multi-national study of reading and tracing skills in novice programmers
A study by a ITiCSE 2001 working group ("the McCracken Group") established that many students do not know how to program at the conclusion of their introductory courses. A popular explanation for this incapacity is that the students lack the ability to ...
A closer look at tracing, explaining and code writing skills in the novice programmer
ICER '09: Proceedings of the fifth international workshop on Computing education research workshopThe way in which novice programmers learn to write code is of considerable interest to computing education researchers. One research approach to understanding how beginners acquire their programming abilities has been to look at student performance in ...
A multi-national, multi-institutional study of assessment of programming skills of first-year CS students
ITiCSE-WGR '01: Working group reports from ITiCSE on Innovation and technology in computer science educationIn computer science, an expected outcome of a student's education is programming skill. This working group investigated the programming competency students have as they complete their first one or two courses in computer science. In order to explore ...
Comments