Ashish Deepak Dandekar, Nitya Lakshmanan, Daren LER, Adi Yoga Sidi PRABAWA*, and Sanka Rasnayaka
Department of Computer Science, School of Computing (SOC), National University of Singapore (NUS)
Sub-Theme
Building Learning Relationships
Keywords
Peer learning, problem solving, computational thinking
Category
Paper Presentation
Introductory programming courses mainly teach syntax and semantics based on a programming language. Students typically develop their problem-solving skills inductively, which often happens by working through numerous problems. Unfortunately, a significant number of students struggle with this approach due to a lack of adequate scaffolding (Qian & Choi, 2023; Sbaraglia, Lodi, & Martini, 2021). We propose an intervention based on Pólya’s problem-solving method (Polya, 2014) adapted to programming problems. We call our framework the Computational Thinking and Problem-Solving (CTPS) framework. A comparison between CTPS and Pólya’s problem-solving method is shown below.
Pólya | CTPS |
| 1. Understand the problem. 2. Devise a plan. 3. Carry out the plan. 4. Look back and reflect. | 1. Study the inputs and outputs.
2. Design your solution.
3. Write and test your program.
4. Determine abstractions of the solution.
|
.
We implemented our proposed intervention in two settings: (1) CS1 course, and (2) a programming clinic for students who had previously failed the course. We introduce CTPS in lectures, recitations, and tutorials for (1). On the other hand, for (2), we delivered the framework through small group coaching sessions. We use (2) to evaluate the effectiveness of CTPS.
The clinic consisted of six 3-hour, small-group sessions, where a student leader would coach up to five students. Student leaders are students who had previously taken the course and performed well. Given the small group setting and having a student leader, students attending the clinic are more open to asking questions when in doubt. This led to greater efficacy.
One part of the coaching session focused on peer instruction (Mazur & Hilborn, 1997). During the peer instruction component, students begin with a programming problem. They are asked to solve the problem individually using the proposed CTPS framework for 20-30 minutes. The timing is chosen to simulate a practical assessment component of the typical programming course.
Afterwards, students are expected to present their solutions to a small group. Lead by a student leader, students are expected to give feedback to their peers. We aim to have the feedback to focus on clarity of reasoning and exploration of ideas, stemming from the usage of CTPS, that led to the solution. Critique during these discussions focused on concrete input that produced incorrect output.
We evaluate the effectiveness of the clinic session for two different introductory programming courses. The two courses are aimed at students from non-computing faculties. The summary of the findings is given in Table 1.
The overall performance in the introductory course
.
Both the control and intervention groups comprise students who also previously failed the course and retook the course as part of the same cohort. The control groups correspond to students who did not attend the clinic, while the intervention groups correspond to students who attended the clinic. Although both groups showed improvement, the preliminary result in Table 1 shows a higher level of improvement within the intervention groups, which suggests the potential of the proposed intervention. For our future work, we plan to have an active control group with equal contact hours but without the proposed framework to find the efficacy of our framework.
.
References
Qian, Y., & Choi, I. (2023). Tracing the essence: ways to develop abstraction in computational thinking. Educational Technology Research and Development, 1055-1078. https://doi.org/10.1007/s11423-022-10182-0
Sbaraglia, M., Lodi, M., & Martini, S. (2021). A necessity-driven ride on the abstraction rollercoaster of CS1 programming. Informatics in Education, 641-682. https://doi.org/10.15388/infedu.2021.28
Polya, G. (2014). How to solve it: A new aspect of mathematical method. Princeton University Press.
Mazur, E., & Hilborn, R. C. (1997). Peer instruction: A user’s manual. Physics Today, 68-69.