Abstract
Providing appropriate feedback is important when learning to program. However, it is still unclear how different feedback strategies affect learning outcomes in programming. This study designed four different two-step programming feedback strategies and explored their impact on novice programmers’ academic achievement, learning motivations, and self-efficacy. A quasi-experimental study was conducted for four classes of freshmen (261 students, average age = 19) in computer science over six weeks. The students received four different feedback strategies including “programming template and correct code without comments”, “programming template and correct code with comments”, “flowchart and correct code without comments”, and “flowchart and correct code with comments” during their C language programming course. The results showed that none of the feedback strategies can promote novice programmers’ learning motivations and self-efficacy, but using “programming template and correct code without comments” can improve academic achievement of these novice programmers. Further analysis of students’ reflection demonstrated that providing “programming template and correct code without comments” had advantage in helping students interpret code, thereby guiding the students to think comprehensively and face challenges positively, as well as promoting student success when learning to program.
Similar content being viewed by others
References
Areias, C., Mendes, António, Areias, C., & Mendes, A. (2007). A tool to help students to develop programming skills. In Proceedings of International Conference on Computer Systems & Technologies (pp. 1–7). Association for Computing Machinery. https://doi.org/10.1145/1330598.1330692
Alberola, J. M., & Garcia-Fornes, A. (2014). Using feedback for improving the learning process in programming courses. IEEE Revista Iberoamericana De Tecnologias Del Aprendizaje, 9(2), 49–56. https://doi.org/10.1109/RITA.2014.2317529
Alemán, J. L. F. (2011). Automated assessment in a programming tools course. IEEE Transactions on Education, 54(4), 576–581. https://doi.org/10.1109/TE.2010.2098442
Akahane, Y., Kitaya, H., & Inoue, U. (2015). Design and evaluation of automated scoring Java programming assignments. In K.Saisho (Eds.), IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (pp. 539–544), IEEE.
Bernard, R. M. (1995). A meta-analysis of the effects of feedback in computer-based instruction. Journal of Educational Computing Research, 13(2), 111–127. https://doi.org/10.2190/9LMD-3U28-3A0G-FTQT.
Black, P., & Wiliam, D. (1998). Assessment and classroom learning. Assessment in Education Principles Policy & Practice, 5(1), 7–74. https://doi.org/10.1080/0969595980050102.
Bruning, R., & Horn, C. (2000). Developing motivation to write. Educational Psychologist, 35(1), 25–37. https://doi.org/10.1207/S15326985EP3501_4.
Butler, D. L., & Winne, P. H. (1995). Feedback and self-regulated learning: A theoretical synthesis. Review of Educational Research, 65, 245–281. https://doi.org/10.3102/00346543065003245.
Chao, P. Y. (2016). Exploring students’ computational practice, design and performance of problem-solving through a visual programming environment. Computers & Education, 95, 202–215. https://doi.org/10.1016/j.compedu.2016.01.010.
Chen, X., Breslow, L., & Deboer, J. (2018). Analyzing productive learning behaviors for students using immediate corrective feedback in a blended learning environment. Computers & Education, 117, 59–74. https://doi.org/10.1016/j.compedu.2017.09.013.
Clancy, M., & Linn, M. C. (1992). Designing pascal solutions: A case study approach. W. H. Freeman & Co.
Clariana, R. B. (1993). A review of multiple-try feedback in traditional and computer-based instruction. Journal of Computer-Based Instruction, 20(3), 67–74. https://doi.org/10.2307/368366.
Corbalan, G., Paas, F., & Cuypers, H. (2010). Computer-based feedback in linear algebra: Effects on transfer performance and motivation. Computers & Education, 55(2), 692–703. https://doi.org/10.1016/j.compedu.2010.03.002.
Denny, P., Luxton-Reilly, A., Tempero, E., & Hendrickx, J. (2011). Codewrite: supporting student-driven practice of java. In Proceedings of the 42nd ACM technical symposium on Computer science education (pp. 471–476). ACM SIGCSE.
Dresel, M., & Haugwitz, M. (2008). A computer-based approach to fostering motivation and self-regulated learning. Journal of Experimental Education, 77(1), 3–20. https://doi.org/10.3200/JEXE.77.1.3-20.
Duijnhouwer, H., Prins, F. J., & Stokking, K. M. (2012). Feedback providing improvement strategies and reflection on feedback use: Effects on students’ writing motivation, process, and performance. Learning & Instruction, 22(3), 171–184. https://doi.org/10.1016/j.learninstruc.2011.10.003.
Ebrahimi, & Alireza (2011). How does early feedback in an online programming course change problem solving? Journal of Educational Technology Systems, 40(4), 371–379. https://doi.org/10.2190/ET.40.4.c.
Fangohr, H., O’Brien, N., & Prabhakar, A. (2015). Teaching python programming with automatic assessment and feedback provision. Computer Science, 30(2), 269–280. https://doi.org/10.2307/3270067
Fazio, L. K., Huelser, Barbie, J., Johnson, A., & Marsh, E. J. (2010). Receiving right/wrong feedback. Consequences for learning Memory, 18(3), 335–350. https://doi.org/10.1080/09658211003652491.
Fraser, G., Heuer, U., Körber, N., & Wasmeier, E. (2021, May). LitterBox: A Linter for Scratch Programs. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET) (pp. 183–188). IEEE.
Finn, B., Thomas, R., & Rawson, K. A. (2017). Learning more from feedback: Elaborating feedback with examples enhances concept learning. Learning and Instruction, 54, 104–113. https://doi.org/10.1016/j.learninstruc.2017.08.007.
Giannakos, M. N., Hubwieser, P., & Ruf, A. (2012). Is self-efficacy in programming decreasing with the level of programming skills? In Proceedings of the 7th Workshop in Primary and Secondary Computing Education (pp. 16–21). New York, NY: Association for Computing Machinery.
Golke, S., Dörfler, T., & Artelt, C. (2015). The impact of elaborated feedback on text comprehension within a computer-based assessment. Learning and Instruction, 39, 123–136. https://doi.org/10.1016/j.learninstruc.2015.05.009.
Hattie, J., & Timperley, H. (2007). The power of feedback. Review of Educational Research, 77, 81–112. https://doi.org/10.3102/003465430298487.
Hendry, G. D., Lyon, P. M., Prosser, M., et al. (2006). Conceptions of problem-based learning: The perspectives of students entering a problem-based medical program. Medical Teacher, 28(6), 573–575. https://doi.org/10.1080/01421590600878150.
Hooshyar, D., Ahmad, R. B., et al. (2016). Applying an online game-based formative assessment in a flowchart-based intelligent tutoring system for improving problem-solving skills. Computers & Education, 94, 18–36. https://doi.org/10.1016/j.compedu.2015.10.013.
Hsia, L. H., Huang, I., & Hwang, G. J. (2016). Effects of different online peer-feedback approaches on students’ performance skills, motivation and self-efficacy in a dance course. Computers & Education, 96, 55–71. https://doi.org/10.1016/10.1016/j.compedu.2016.02.004
Hwang, G., Yang, L., & Wang, S. (2013). A concept map-embedded educational computer game for improving students’ learning performance in natural science courses. Computers & Education, 69, 121–130. https://doi.org/10.1016/j.compedu.2013.07.008.
Ketelhut, D. J. (2007). The impact of student self-efficacy on scientific inquiry skills: An exploratory investigation in river city, a multi-user virtual environment. Journal of science Education and Technology, 16(1), 99–111.
Kleij, F. M. V. D., Eggen, T. J. H. M., Timmers, C. F., & Veldkamp, B. P. (2012). Effects of feedback in a computer-based assessment for learning. Computers & Education, 58(1), 263–272.
Kumar, A. N. (2002). Model-based reasoning for domain modeling in a web-based intelligent tutoring system to help students learn to debug c + + programs. In International Conference on Intelligent Tutoring Systems (pp. 792–801). Springer, Heidelberg.
Lavonen, J. M., Meisalo, V. P., Lattu, M., & Sutinen, E. (2003). Concretising the programming task: A case study in a secondary school. Computers & Education, 40(2), 115–135. https://doi.org/10.1016/S0360-1315(02)00101-X
Law, K. M. Y., Lee, V. C. S., & Yu, Y. T. (2010). Learning motivation in e-learning facilitated computer programming courses. Computers & Education, 55(1), 218–228.
Lies, R., & Judge, T. A. (2005). Goal regulation across time: The effects of feedback and affect. Journal of Applied Psychology, 90(3), 453–467.
Locke, E. A., & Latham, G. P. (1991). A theory of goal setting & task performance. Organizational Behavior and Human Decision processes, 50, 212–247. https://doi.org/10.2307/258875.
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. Computer Science Education, 29, 205–253. https://doi.org/10.1080/08993408.2019.1565235.
Merrick, K. E. (2010). An empirical evaluation of puzzle-based learning as an interest approach for teaching introductory computer science. IEEE Transactions on Education, 53(4), 677–680. https://doi.org/10.1109/TE.2009.2039217.
Narciss, S. (2013). Designing and evaluating tutoring feedback strategies for digital learning environments on the basis of the interactive tutoring feedback model. Digital Education Review, 23, 7–26. https://doi.org/10.1344/der.2013.23.7-26.
Narciss, S., Sosnovsky, S., Schnaubert, L., Andrès, E., Eichelmann, A., Goguadze, G., & Melis, E. (2014). Exploring feedback and student characteristics relevant for personalizing feedback strategies. Computers & Education, 71(2), 56–76. https://doi.org/10.1016/j.compedu.2013.09.011.
Phye, G. D., & Sanders, C. E. (1994). Advice and feedback: Elements of practice for problem solving. Contemporary Educational Psychology, 19(3), 286–301. https://doi.org/10.1006/ceps.1994.1022.
Ramalingam, V., & Wiedenbeck, S. (1998). Development and validation of scores on a computer programming self-efficacy scale and group analyses of novice programmer self-efficacy. Journal of Educational Computing Research, 19(4), 367–381. https://doi.org/10.2190/C670-Y3C8-LTJ1-CT3P.
Shute, V. J. (2007). Focus on formative feedback. ETS Research Report Series, 2007(1), 153–189. https://doi.org/10.1002/j.2333-8504.2007.tb02053.x
Van der Kleij, F. M., Feskens, R. C. W., & Eggen, T. J. H. M. (2015). Effects of Feedback in a computer-based learning environment on students’ learning outcomes. Review of Educational Research, 85(4), 475–511. https://doi.org/10.3102/0034654314564881.
Venables, A., & Haywood, L. (2003). Programming students NEED instant feedback!. Australasian Computing Education Conference. DBLP. https://doi.org/10.5555/858403.858436
Wang, S., & Wu, P. (2008). The role of feedback and self-efficacy on web-based learning: The social cognitive perspective. Computers and Education, 51(4), 1589–1598. https://doi.org/10.1016/j.compedu.2008.03.004.
Wang, T., Su, X., Ma, P., Wang, Y., & Wang, K. (2011). Ability-training-oriented automated assessment in introductory programming course. Computers & Education, 56(1), 220–226. https://doi.org/10.1016/j.compedu.2010.08.003.
Wang, Z., Gong, S., Xu, S., & Hu, X. (2019). Elaborated feedback and learning: Examining cognitive and motivational influences. Computers and Education, 136(1), 130–140. https://doi.org/10.1016/j.compedu.2019.04.003.
Wasik, S., Antczak, M., Badura, J., Laskowski, A., & Sternal, T. (2018). A survey on online judge systems and their applications. ACM Computing Surveys, 51(1), 1–34. https://doi.org/10.1145/3143560
Witherspoon, E., Schunn, C., Higashi, R., & Shoop, R. (2018). Attending to structural programming features predicts differences in learning and motivation. Journal of Computer Assisted Learning, 34(2), 115–128. https://doi.org/10.1111/jcal.12219.
Xie, B., Loksa, D., Nelson, G. L., Davidson, M. J., & Ko, A. J. (2019). A theory of instruction for introductory programming skills. Computer Science Education, 29(1), 1–49. https://doi.org/10.1080/08993408.2019.1565235.
Funding
This research has been supported by the National Natural Science Foundation of China (Grant Nos. 62077005 and 61907011).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Fu, Q., Zheng, Y., Zhang, M. et al. Effects of different feedback strategies on academic achievements, learning motivations, and self-efficacy for novice programmers. Education Tech Research Dev 71, 1013–1032 (2023). https://doi.org/10.1007/s11423-023-10223-2
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11423-023-10223-2