American Journal of Educational Research
ISSN (Print): 2327-6126 ISSN (Online): 2327-6150 Website: Editor-in-chief: Ratko Pavlović
Open Access
Journal Browser
American Journal of Educational Research. 2013, 1(8), 307-312
DOI: 10.12691/education-1-8-7
Open AccessArticle

Competing Dichotomies in Teaching Computer Programming to Beginner-Students

David Nandigam1 and Hanoku Bathula2,

1Department of Technology, Northcote College, Auckland, New Zealand

2Graduate School of Management, The University of Auckland, Auckland, New Zealand

Pub. Date: September 15, 2013

Cite this paper:
David Nandigam and Hanoku Bathula. Competing Dichotomies in Teaching Computer Programming to Beginner-Students. American Journal of Educational Research. 2013; 1(8):307-312. doi: 10.12691/education-1-8-7


The goal in teaching computer programming is to develop in students the capabilities required of a professional software developer. Beginner programmers suffer from a wide range of difficulties and deficits. Several studies suggest that undertaking computer programming for meeting a real industry application is still a challenge for many students even after studying for a year or two. The purpose of this paper is to investigate the challenges in teaching computer programming to beginner-students and to initiate a dialog in the information and communication technology teaching community on how to teach and assess computer programming courses effectively. We undertake an extensive literature review to identify four major programming dichotomies in teaching computer programming: knowledge versus application, comprehension versus generation, procedural versus object oriented and functional versus imperative. Further, based on our teaching experience, we propose a practical approach to teaching computer programming to beginner-students. The paper discusses the implications to ICT teaching community and how teaching and assessments can be made effective to achieve the goal of making beginner programmer learn not only knowledge but also relevant application skills. We believe that the study would contribute to making ICT teaching more practical and effective in achieving their educational goals.

teaching strategies computer programming beginner students information technology curriculum dichotomies

Creative CommonsThis work is licensed under a Creative Commons Attribution 4.0 International License. To view a copy of this license, visit


Figure of 3


[1]  Lahtinen, E., AlaMutka, K., & Järvinen, H. (2005). A Study of the Difficulties of Novice Programmers. Proceedings of the ITiCSE’05 Conference, June 27-29, Monte de Caparica, Portugal.
[2]  Milne, I., & Rowe, G. (2002). Difficulties in Learning and Teaching Programming-Views of Students and Tutors. Education and Information Technologies, 7(1), 55-66.
[3]  Pea, R. (1986). Language independent conceptual bugs in novice programming. Educational Computing Research, 2(1), 25-36.
[4]  Saeli, M., Perrenet, J., Jochems, W. M. G., & Zwaneveld, B. (2011). Teaching Programming in Secondary School: A Pedagogical Content Knowledge Perspective. Informatics in Education, 10(1), 73-88.
[5]  Kaczmarczyk, L., East, J. P., Petrick, E. R., & Herman, G. L. (2010). Identifying Student Misconceptions of Programming. SIGCSE’10, March 10-13, Milwaukee, Wisconsin, USA.
[6]  de Raadt, M., Toleman, M., & Watson, R. (2006): Chick Sexing and Novice Programmers: Explicit Instruction of Problem Solving Strategies. Australian Computer Science Communications, 28(5):55-62.
[7]  Lister, R., Adams, E. S., Fitzgerald, S., Fone, W., Hamer, J., Lindholm, M., McCartney, R., Moström, J. E., Sanders, K., Seppälä, O., Simon, B., & Thomas, L. (2004): A multi-national study of reading and tracing skills in novice programmers. ACM SIGCSE Bulletin, 36(4):119-150.
[8]  Whalley, J. L., Lister, R., Thompson, E., Clear, T., Robins, 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. Proceedings of the Eighth Australasian Computing Education Conference (ACE2006), Hobart, Australia 52, 243-252.
[9]  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.
[10]  Robins, A., Rountree, J., & Rountree, N. (2003). Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2):137-173.
[11]  de Raadt, M., Toleman, M., & Watson, R. (2004): Training strategic problem solvers. ACM SIGCSE Bulletin, 36(2):48 - 51.
[12]  ACM & IEEE-CS Joint Task Force on Computing Curricula 2001 (2001). Computing Curricula 2001, Ironman Draft. Association for Computing Machinery and the Computer Society of the Institute of Electrical and Electronics Engineers. Available: [2001, 5/16/01].
[13]  Clear, T (2001). "Programming in the Large" and the need for professional discrimination. SIGCSE Bull. 33, 4, 9-10.
[14]  Coburn, D., & Miller, A. (2004). Assessment in Technology is not a Written Language Exercise. SET, 44-48.
[15]  Winslow, L.E. (1996). Programming pedagogy – A psychological Overview. SIGCSE Bulletin, 28, 17-22.
[16]  Chi, M., Bassock, M., Lewis, M. Reimann, P. and Glaser, R. (1989). Self-explanations: How students study and use examples in learning to solve problems. Cognitive Science, 13, 145-182.
[17]  Pirolli, P., & Recker, M. (1994). Learning strategies and transfer in the domain of programming. Cognition and Instruction, 12, 235-275.
[18]  Gerdes, A., Jeuring, J. T., and Heeren, B.J, (2010). Using strategies for assessment of programming exercises. In Proceedings of the 41st ACM technical symposium on Computer science education (SIGCSE '10). ACM, New York, NY, USA, 441-445.
[19]  Davies, S. P. (1993). Models and theories of programming strategy. International Journal of Man-Machine Studies, 39(2):237-267.
[20]  Soloway, E. (1985): From problems to programs via plans: The content and structure of knowledge for introductory LISP programming. Journal of Educational Computing Research, 1(2):157-172.
[21]  Wallingford, E. (2007) The Elementary Patterns Home Page, Accessed 18th April 2011.
[22]  Brooks, R. E. (1983): Towards a theory of the comprehension of computer programs. International Journal of Man–Machine Studies, 18:543-554.
[23]  Auer, K. (1995). Smalltalk training: As innovative as the environment. Comm. ACM, 38(10), 115-117.
[24]  Berg, W., Cline, M., & Girou, M. (1995). Lessons learned from the OS/400 OO Project. Comm. ACM, 38(10), 54-64.
[25]  Fayad, M. E., & Tsai, Wei-Tek (1995). Object-oriented experiences. Comm. ACM, 38(10), 51-53.
[26]  Frakes, W. B., & Fox, C. J. (1995). Sixteen questions about software reuse. Comm. ACM. 38(6) 75-87,112.
[27]  Detienne, F. (1990). Expert programming knowledge: A schema based approach. In J.M. Hoc,T.R.G. Green, R. Samurc¸ay, & D.J. Gillmore (Eds.), Psychology of programming (pp. 205-222). London: Academic Press.
[28]  Muller, O., Haberman, B., & Ginat, D. (2007): Pattern-Oriented Instruction and its Influence on Problem Decomposition and Solution Construction. Proceedings of the 12th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE 2007), Dundee, Scotland.
[29]  Mittermeir, R., Syslo, M., Benaya, T., & Zur, E. (2008). Understanding Object Oriented Programming Concepts in an Advanced Programming Course. Informatics Education - Supporting Computational Thinking (Vol. 5090, pp. 161-170): Springer Berlin / Heidelberg.
[30]  Rist, R.S. (1995). Program structure and design. Cognitive Science, 19, 507-562.
[31]  Chang, C., Denning, P. J., Cross, J. H., Engel, G., Roberts, E., & Shackelford, R. (2001). Computing curricula 2001. ACM Journal of Educational Resources in Computing, 1(3), 240.
[32]  Michael McCracken, Vicki Almstrum, Danny Diaz, Mark Guzdial, Dianne Hagan, Yifat Ben-David Kolikant, Cary Laxer, Lynda Thomas, Ian Utting, and Tadeusz Wilusz. (2001). A multi-national, multi-institutional study of assessment of programming skills of first-year CS students. SIGCSE Bull, 33, 4 (December 2001), 125-180.
[33]  de Raadt, M., Watson, R & Toleman, M. (2009). Teaching and assessing programming strategies explicitly, Proceedings of the Eleventh Australasian Conference on Computing Education. In Margaret Hamilton and Tony Clear (Eds.), Vol. 95. Australian Computer Society., Darlinghurst, Australia, Australia, 45-54.
[34]  Shaw, M., and Garlan, D., (1996). Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Inc., Upper Saddle River, NJ, USA.
[35]  Dede, C. (2008). Theoretical perspectives of influencing the use of information technology in teaching and learning. In J. Voogt and G. Knezek, (eds.). International Handbook of Information Technology in Education. New York: Springer.
[36]  Biederman, I., & Shiffrar, M. M. (1987): Sexing Day-Old Chicks: A Case Study and Expert Systems Analysis of a Difficult Perceptual-Learning Task. Journal of Experimental Psychology: Learning, Memory and Cognition, 13(4):640-645.
[37]  Reber, A. S. (1993). Implicit Learning and Tacit Knowledge. New York, USA: Oxford University Press.
[38]  de Raadt, M., Toleman, M., & Watson, R. (2007): Incorporating Programming Strategies Explicitly into Curricula. Proceedings of the Seventh Baltic Sea Conference on Computing Education Research (Koli Calling 2007), Koli, Finland, 53-64.
[39]  Porter, R., & Calder, P. (2003). A Pattern-Based Problem-Solving Process for Novice Programmers. Proceedings of the Fifth Australasian Computing Education Conference (ACE2003), Adelaide, Australia 20:231-238, Conferences in Research and Practice in Information Technology.
[40]  Ghafarian, A. (2001). Teaching design effectively in the introductory programming courses. J. Comp. Sci. in Colleges, vol. 16, no. 2, pp. 201-208.