Abstract
Teaching and learning of programming languages is difficult as it involves the comprehension of theoretical background, practical usage of semantics and syntactic coding and algorithmic skills. Both teachers and students are unanimous about the programming fear of students, whereas programming skill is one of the core competences of computer science students. As a result, it is now a vital and an unavoidable issue to develop effective learning/teaching pedagogy for programming languages. Problem-based learning (PBL) is a well-established learning pedagogy where students engage themselves to self-learn, self-practice, and mainly focus on ill-structured problems. Traditional PBL is not fully suitable for the teaching and learning of programming languages to develop the required problem-solving skill. On the other hand, e-learning has been used in synchronous and asynchronous learning for the past few decades but not sufficient for developing programming skill. In this research, the authors have proposed a problem-based e-learning model which integrates traditional PBL with e-learning knowledge transfer. A problem model has also been proposed supporting structured, semistructured, and ill-structured problems. An architecture has been developed where a problem-bank is used to support the learning and teaching of multiple programming languages. An initial survey in the perspective of students has been performed to test the mannerism of the students about the model and found very positive result which accelerates further improvement of the system.
Similar content being viewed by others
References
Akili, W. (2011). On implementation of problem-based learning in engineering education: Thoughts, strategies and working models. In Frontiers in education conference (FIE), 2011 (p. S3B-1). Rapid City, South Dakota: IEEE.
Alam, M. R. (2010). HTML document—DOC type tutorial in Bangla. Retrieved November 9, 2015, from http://www.webcoachbd.com/about-us.
Bashir, G. M. M., Hoque, A. S. M. L., & Nath, B. C. D. (2015). E-learning of PHP based on the solutions of real-life problems. Journal of Computers in Education, 3(1), 1–25.
Bennedsen, J., & Caspersen, M. E. (2007). Failure rates in introductory programming. ACM SIGCSE Bulletin, 39(2), 32–36.
Bhatti, P. T., & McClellan, J. H. (2011). A cochlear implant signal processing lab: Exploration of a problem-based learning exercise. IEEE Transactions on Education, 54(4), 628–636.
Blackboard, Inc. (1997). Blackboard. http://www.blackboard.com/.
Bouhnik, D., & Marcus, T. (2006). Interaction in distance-learning courses. Journal of the American Society for Information Science and Technology, 57(3), 299–305.
Fessakis, G., Gouli, E., & Mavroudi, E. (2013). Problem solving by 5–6 years old kindergarten children in a computer programming environment: A case study. Computers and Education, 63, 87–97.
Fontes, L. M. d O., Neto, F. M. M., Pontes, A. A., et al. (2011). A multiagent system to support problem-based learning. Creative Education, 2(5), 452.
Government of Ontario Canada. (2006). e-Learning Ontario. Retrieved May 24, 2015, from https://www.courses.elearningontario.ca/.
Hamid, M. K. A., Hassan, M. A. A., Yusof, K. M., & Hassan, S. A. H. S. (2005). Crafting effective engineering problems for problem based learning: Universiti teknologi malaysia experiences. In Proceedings of regional conference of engineering education, Johor (pp. 12–13).
Hwang, W.-Y., Wang, C.-Y., Hwang, G.-J., Huang, Y.-M., & Huang, S. (2008). A web-based programming learning environment to support cognitive development. Interacting with Computers, 20(6), 524–534.
java2s Developers. (2013). Programming tutorials and source code examples. Retrieved May 24, 2015, from http://www.java2s.com/.
Khan, S. (2006). Khan Academy. https://www.khanacademy.org/computing/computer-programming/html-css/int.
Kim, J. (2012). An ill-structured PBL-based microprocessor course without formal laboratory. IEEE Transactions on Education, 55(1), 145–153.
King, P. M., & Kitchener, K. S. (1994). Developing reflective judgment: Understanding and promoting intellectual growth and critical thinking in adolescents and adults. Jossey–Bass higher and adult education series and Jossey–Bass social and behavioral science series. ERIC.
King, S., Greidanus, E., Carbonaro, M., Drummond, J., Boechler, P., & Kahlke, R. (2010). Synchronous problem-based e-learning (ePBL) in interprofessional health science education. Journal of Interactive Online Learning, 9(2), 133–150.
Kolmos, A., Fink, F. K., & Krogh, L. (2004). The Aalborg model-problem-based and project-organized learning. In The Aalborg PBL model—Progress, diversity and challenges (pp. 9–18). Aalborg: Aalborg University Press.
Liaw, S.-S. (2007). Computers and the internet as a job assisted tool: Based on the three-tier use model approach. Computers in Human Behavior, 23(1), 399–414.
Liaw, S.-S. (2008). Investigating students perceived satisfaction, behavioral intention, and effectiveness of e-learning: A case study of the blackboard system. Computers and Education, 51(2), 864–873.
Liaw, S.-S., Huang, H.-M., & Chen, G.-D. (2007). Surveying instructor and learner attitudes toward e-learning. Computers and Education, 49(4), 1066–1080.
Looi, H. C., & Seyal, A. H. (2014). Problem-based learning: An analysis of its application to the teaching of programming. International Proceedings of Economics Development and Research, 70, 68.
Mantri, A., Dutt, S., Gupta, J., & Chitkara, M. (2008). Design and evaluation of a PBL-based course in analog electronics. IEEE Transactions on Education, 51(4), 432–438.
Nuutila, E., Törmä, S., & Malmi, L. (2005). PBL and computer programming the seven steps method with adaptations. Computer Science Education, 15(2), 123–142.
Penner, J. G. (1984). Why many college teachers cannot lecture: How to avoid communication breakdown in the classroom. ERIC.
Qiu, M., & Chen, L. (2010). A problem-based learning approach to teaching an advanced software engineering course. In 2010 Second international workshop on education technology and computer science (ETCS) (Vol. 3, pp. 252–255). Wuhan: IEEE.
Raab, R. T., Ellis, W. W., & Abdon, B. R. (2001). Multisectoral partnerships in e-learning: A potential force for improved human capital development in the Asia Pacific. The Internet and Higher Education, 4(3), 217–229.
Refsnes Data, a Norwegian software development and consulting company (1998). W3Schools online web tutorial. Retrieved May 24, 2015, from http://www.w3schools.com/.
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137–172.
Rogerson, C., & Scott, E. (2010). The fear factor: How it affects students learning to program in a tertiary environment. Journal of Information Technology Education, 9(1), 147–171.
Santos-Martin, D., Alonso-Martínez, J., Carrasco, J. E.-G., & Arnaltes, S. (2012). Problem-based learning in wind energy using virtual and real setups. IEEE Transactions on Education, 55(1), 126–134.
Scherer, R., & Tiemann, R. (2012). Factors of problem-solving competency in a virtual chemistry environment: The role of metacognitive knowledge about strategies. Computers and Education, 59(4), 1199–1214.
Selvi, S. T., Kaleel, D., & Chinnaiah, V. (2012). Applying problem based learning approach on e-learning system in cloud. In 2012 International conference on recent trends in information technology (ICRTIT) (pp. 244–249). Chennai: IEEE.
Shee, D. Y., & Wang, Y.-S. (2008). Multi-criteria evaluation of the web-based e-learning system: A methodology based on learner satisfaction and its applications. Computers and Education, 50(3), 894–905.
Shinde, V. V., & Inamdar, S. (2013). Problem based learning (PBL) for engineering education in India: Need and recommendations. Wireless Personal Communications, 69(3), 1097–1105.
Shotsberger, P. G. (2000). The human touch: Synchronous communication in web-based learning. Educational Technology, 40(1), 53–56.
Sierra, A., Ariza, T., & Fernandez, F. (2013). PBL in programming subjects at engineering. Bulletin of the IEEE Technical Committee on Learning Technology, 15(2), 1–4.
Soares, A., Fonseca, F., & Martin, N. L. (2015). Teaching introductory programming with game design and problem-based learning. Issues in Information Systems, 16(3), 128–137.
Spector, J. M. (2006). A methodology for assessing learning in complex and ill-structured task domains. Innovations in Education and Teaching International, 43(2), 109–120.
Stewart, T. M., MacIntyre, W. R., Galea, V. J., & Steel, C. H. (2007). Enhancing problem-based learning designs with a single e-learning scaffolding tool: Two case studies using challenge FRAP. Interactive Learning Environments, 15(1), 77–91.
Suman (2011). HTML Bangla tutorial using notepad. Retrieved November 9, 2015, from https://www.youtube.com/watch?v=QP2aoKLFYG4&list=PLF5F7A55C54E1655C.
Ullah, A. (2012). HTML Bangla tutorial by Atique Ullah. Retrieved November 9, 2015, from https://www.youtube.com/watch?v=kVbW4156A24.
Veletsianos, G., Beth, B., & Lin, C. (2016). CS teacher experiences with educational technology, problem-based learning, and a CS principles curriculum. In Proceedings of the 47th ACM technical symposium on computing science education (pp. 651–656). New York.
Verner, C., & Dickinson, G. (1967). The lecture, an analysis and review of research. Adult Education Quarterly, 17(2), 85–100.
Violante, M. G., & Vezzetti, E. (2015). Virtual interactive e-learning application: An evaluation of the student satisfaction. Computer Applications in Engineering Education, 23(1), 72–91.
Woods, D. R. (2003). Preparing for PBL. Hamilton, ON: McMaster University.
Yang, T.-C., Hwang, G.-J., Yang, S. J., & Hwang, G.-H. (2015). A two-tier test-based approach to improving students’ computer-programming skills in a web-based learning environment. Journal of Educational Technology and Society, 18(1), 198–210.
Acknowledgments
This research was performed in the Department of Computer Science and Engineering (CSE), Bangladesh University of Engineering and Technology (BUET) supported by Information and Communication Technology Division, Ministry of Posts, Telecommunications and Information Technology, Government of the People's Republic of Bangladesh.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Bashir, G.M.M., Hoque, A.S.M.L. An effective learning and teaching model for programming languages. J. Comput. Educ. 3, 413–437 (2016). https://doi.org/10.1007/s40692-016-0073-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s40692-016-0073-2