Write a Line: Tests with Answer Templates and String Completion Hints for Self-Learning in a CS1 Course

04/19/2022
by   Oleg Sychev, et al.
0

One of the important scaffolding tasks in programming learning is writing a line of code performing the necessary action. This allows students to practice skills in a playground with instant feedback before writing more complex programs and increases their proficiency when solving programming problems. However, answers in the form of program code have high variability. Among the possible approaches to grading and providing feedback, we chose template matching. This paper reports the results of using regular-expression-based questions with string completion hints in a CS1 course for 4 years with 497 students. The evaluation results show that Perl-compatible regular expressions provide good precision and recall (more than 99%) when used for questions requiring writing a single line of code while being able to provide string-completion feedback regardless of how wrong the initial student's answer is. After introducing formative quizzes with string-completion hints to the course, the number of questions that teachers and teaching assistants received about questions in the formative quizzes dropped considerably: most of the training question attempts resulted in finding the correct answer without help from the teaching staff. However, some of the students use formative quizzes just to learn correct answers without actually trying to answer the questions.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/14/2021

Students Struggle to Explain Their Own Program Code

We asked students to explain the structure and execution of their small ...
research
11/16/2021

Solving Linear Algebra by Program Synthesis

We solve MIT's Linear Algebra 18.06 course and Columbia University's Com...
research
12/02/2020

Effective Feedback for Introductory CS Theory: A JFLAP Extension and Student Persistence

Computing theory analyzes abstract computational models to rigorously st...
research
06/28/2023

Automated Questions About Learners' Own Code Help to Detect Fragile Knowledge

Students are able to produce correctly functioning program code even tho...
research
09/30/2017

Automated Program Analysis for Novice Programmers

This paper describes how to adapt a static code analyzer to help novice ...
research
08/19/2021

Identifying rote learning and the supporting effects of hints in drills

Whenever students use any drilling system the question arises how much o...
research
06/29/2023

Evaluating ChatGPT's Decimal Skills and Feedback Generation in a Digital Learning Game

While open-ended self-explanations have been shown to promote robust lea...

Please sign up or login with your details

Forgot password? Click here to reset