A Methodology for Teaching Computer Programming: first year students’ perspective

Full Text (PDF, 467KB), PP.15-21

Views: 0 Downloads: 0


Bassey Isong 1,*

1. Department of Computer Science & Information Systems, Thohoyandou, South Africa

* Corresponding author.

DOI: https://doi.org/10.5815/ijmecs.2014.09.03

Received: 16 May 2014 / Revised: 15 Jun. 2014 / Accepted: 23 Jul. 2014 / Published: 8 Sep. 2014

Index Terms

Programming, Agile process, Pair programming, Students, Teaching.


The teaching of computer programming is one of the greatest challenges that have remained for years in Computer Science Education. A particular case is computer programming course for the beginners. While the traditional objectivist lecture-based approaches do not actively engage students to achieve their learning outcome, we believe that integrating some cutting-edge processes and practices like agile method into the teaching approaches will be leverage. Agile software development has gained widespread popularity and acceptance in the software industry and integrating the ideas into teaching will be constructive. In the educational system, while the positive impact of agile principles has been felt on students’ projects, none has been experienced on the teaching aspect. Therefore, this paper proposes the use of agile process in the teaching of first year programming courses. The goal is to help the beginners develop their programming skills, proffer a teaching technology that maximizes students’ chances of engagement, improve teaching as teachers reflects on what they are teaching and what the students are learning. Additionally, beginners will be able to operate the computer, program, and improve their programming skills through active team collaboration as well as managing large classes effectively by the teacher.

Cite This Paper

Bassey Isong, "A Methodology for Teaching Computer Programming: first year students’ perspective", International Journal of Modern Education and Computer Science (IJMECS), vol.6, no.9, pp.15-21, 2014. DOI:10.5815/ijmecs.2014.09.03


[1]Northedge, A. Rethinking Teaching in the Context of Diversity Teaching in Higher Education, Vol. 8, No. 1, 2003.
[2]Biggs, J. What the Student Does: teaching for enhanced learning, Higher Education Research & Development, 18:1, 57-75, 1999.
[3]Jones, G. and Knezek, G. Non-commercial radio-satellite telecommunications: affrordable options for technology educators. Cited in S. Romi (2000) Distance Learning and Non-formal Education: Existing Trends and New Possibilities of Distance Learning Experiences. Educational Media International. 37 (1), 39-44, 1993.
[4]Perera, G.I.U.S. Impact of using agile practice for student software projects in computer science education. International Journal of Education and Development using Information and Communication Technology (IJEDICT) Vol. 5, Issue 3, pp. 85-100, 2009.
[5]Gunter, G. A. “The Effects of the Impact of Instructional Immediacy on Cognition and Learning in Online Classes”, International Journal of Social Science , vol. 2 no. 3, pp. 196-202, 2007.
[6]Dede, C. Learning about teaching and vice versa. Paper presented at Conference of Society for Information Technology in Education. Washington D.C., USA, 1998.
[7]Forcheri, P. and Molfino, M. T. ICT as a tool for learning to learn. In Watson, D. M. and Downes, T. (Eds.) Communications and Networking in Education. Boston, MA: Kluwer Academic. pp 175-184, 2000.
[8]Kris M.Y., Victor C.S., Lee Y.T. Yu. Learning motivation in e-learning facilitated computer programming courses. Computers & Education 55, pp. 218–228, 2010.
[9]Deek, F.P., & McHugh, J. Problem Solving and Cognitive Foundations for Program Development: An Integrated Model. Proceedings of the Sixth International Conference on Computer Based Learning in Science (CBLIS), Nicosia, Cyprus, pp. 266- 271, 2003.
[10]Lam, M. S. W., Chan, E. Y. K., Lee, V. C. S., and Yu, Y. T. (2008): Designing an automatic debugging assistant for improving the learning of computer programming. Lecture Notes in Computer Science, 5169, 359–370.
[11]Foster, A. 2005. Student interest in computer science plummets. Chronicle of Higher Education. http://chronicle.com/free/v51/i38/38a03101.htm. (Accessed on August 31, 2006).
[12]Wulf, T. Constructivist approaches for teaching computer programming. SIGITE’05, Newark, New Jersey, USA. October 20–22, 2005.
[13]Wells, G. & Claxton, G. Learning For Life in the 21st Century: sociocultural perspectives on the future of education (Oxford, Blackwell), 2002.
[14]Perera, G.I.U.S. and Fernando, M.S.D. 2007, “Enhanced Agile Software Development — Hybrid Paradigm with LEAN Practice, In Proc. of 2nd International Conference on Industrial and Information Systems, ICIIS 2007, IEEE , pp. 239 – 244.
[15]Highsmith, J., Cockburn, A., 2001, “Agile Software Development: The Business of Innovation”, IEEE Computer, vol. 34, pp.120-127.
[16]F. Maurer and S. Martel, “Extreme programming: Rapid development for web-based applications,” IEEE Internet Comput., vol. 6, no. 1, pp. 86–90, Jan./Feb. 2002.
[17]Manifesto for Agile Software Development: http://www.agilemanifesto.org.
[18]Williams, L., McDowell, C., Nagappan, N., Fernald, J., and Werner, L. “Building pair programming knowledge through a family of experiments”, In Proc. of International Symposium on Empirical Software Engineering, ISESE 2003, pp. 143-152, 2003.
[19]Williams, L., Yang, K., Wiebe, E., Ferzli, M., and Miller, C. “In Support of Pair Programming in Introductory Computer Science Course”, Computer Science Education, vol. 12(3), pp.197–202, 2002.
[20]Bipp, T., Lepper, A., and Schmedding, D. “Pair programming in software development teams – An empirical study of its benefits, Information and Software Technology, 50, pp. 231–240, 2008.
[21]Gatfield, T. "Examining Student Satisfaction with Group Projects and Peer Assessment". Assessment and Evaluation in Higher Education, Vol. 24(4), pp. 365-377, 1999.
[22]Weber, G.; Brusilovsky, M. S.; Steinle, F. ELM-PE: An Intelligent Learning Environment for Programming, 1996. Disponivelem<http://www.psychologie.uni-trier.de: 8000/projects/ELM/elm.html>. Acesso em: 2014.
[23]Gomes, A., & Mendes, A. J. Learning to program – Difficulties and solutions. In International Conference on Engineering Education – ICEE 2007, Coimbra, Portugal, 2007.
[24]Jenkins, T. On the difficulty of learning to program, In: 3rd annual conference of LTSN-ICS. 2002.
[25]Lui, A. K., Kwan, R., Poon, M., and Cheung, Y. H. Y (2004). Saving weak programming students: Applying constructivism in a first programming course, SIGCSE Bulletin, 36, pp.72–76, 2004.
[26]Xue Xue, “Research and Practice of Teaching at Different Levels”, Xiangtan Normal University Journal, Xiangtan, Hunan, 2008(4), pp. 226-227.
[27]Rolandsson, L. Changing computer programming education: the dinosaur that survived in school. An explorative study about educational issues based on teachers’ beliefs and curriculum development in secondary school. The 2013 Learning and Teaching in Computing and Engineering, IEEE. 2013.
[28]Krathwohl, D. R. A revision of Bloom's taxonomy: an overview. Theory into Practice 41, p. 212-218. 2002.