One of the underlying issues here is how Computer Science is taught. Teachers understand the importance of learning through practice and experience, but aren’t able to provide coursework-based programs with the tools at their disposal. They find it difficult to create these assignments, not because they don’t know how, but because they’re already strapped for time without having to grade hundreds of submitted code files that need to be compiled and run locally.
Although many instructors have found ways to make it work, when they are provided with an all-in-one platform for creating assignments, receiving submissions and subsequently grading these submissions, they have more time to provide feedback for the students that need it most (*cough* me *cough*).
However, it’s not just that teachers have more time to give feedback, they can provide better formative feedback - which is non evaluative, supportive, timely, and specific. This form of feedback is indispensable when striving for the best learning outcomes [4].
Picture this: your student is almost there but can’t find the right solution? Nudge them in the right direction without revealing the answer. They have the answer but the code is inefficient? Explain how code structures can be shortened. Common programming misconceptions? Link them to an external resource like progmiscon.org. And because this feedback is delivered during the learning process, students can immediately implement the feedback in their work and feel more confident.
This is exactly what Marwan et al. found in their paper. The researchers created an “Adaptive Immediate Feedback” (AIF) system for a beginner programming course [3]. The idea was to provide real-time feedback that was engaging and encouraging. Their system used color-coded objective banners that would light up when an objective was met or if it was broken. Additionally, the students would get pop-up messages encouraging them to keep going if they were stuck or celebrate if they achieved an objective.
Unlike with traditional learning, this type of workflow rewards students for trying to find their own answers and allows them to learn from the problems they encounter. When an instructor is able to give timely, constructive feedback, students can use it to reframe their way of thinking about the subject matter. This effect is amplified when students are able to apply this feedback directly to their coursework in an iterative process. Research has shown that this form of reinforcement learning achieves better learning outcomes than feedback given at the end of the workflow and reveals the answers [1].
There are also profound personal consequences. Formative feedback boosts students’ belief in their own ability to code, giving them more motivation [2]. Moreover, Marwan’s paper concluded that students that used the AIF system performed better and had greater intentions to continue studying or working in Computer Science compared to a control group that didn’t use the system.
We’ve received feedback from teachers and students using CodeGrade that learning to program is significantly more effective and enjoyable when these practices are put into place. It creates an atmosphere of reinforcement, showing that a student's ability isn’t cut and dry. Your ability to program isn’t defined by the ridiculous expectation that your code should compile on the first try. Rather, a student can iteratively problem solve and learn through experimentation.
Preparing students not just with a skill but with a mentality for success will benefit them, their future employers, and the universities that teach the computer scientists of the future.
Bibliography
- Dessai, K. G., & Kamat, M. S. (2012). Improving Learning Outcome through Iterative Teaching/Learning Methodology. International Journal of Advances in Computing and Management, 1(1), 7–11.
- Giannakos, M. N. (2014). Exploring students' intentions to study computer science and identifying the differences among ICT and programming based courses . The Turkish Online Journal of Educational Technology, 13(3), 68–78.
- Marwan, S., Gao, G., Fisk, S., Price, T. W., & Barnes, T. (2020). Adaptive immediate feedback can improve novice programming engagement and intention to persist in Computer Science. Proceedings of the 2020 ACM Conference on International Computing Education Research. https://doi.org/10.1145/3372782.3406264
- Shute, V. J. (2008). Focus on formative feedback. Review of Educational Research, 78(1), 153–189. https://doi.org/10.3102/0034654307313795