Litcius/Paper detail

PDL: Scaffolding Problem Solving in Programming Courses

Lin Shu, Na Meng, Dennis Kafura, Wenxin Li

202114 citationsDOI

Abstract

Programming tasks provide an opportunity for students to improve their problem-solving skills (PSS). However, when programming tasks are challenging, students could become demotivated and lose the opportunity to improve PSS in the process. To scaffold the difficulty of programming tasks and better motivate students to enhance PSS via coding, this paper introduces PDL (Problem Description Language). Given the natural-language description of a combinatorial optimization problem (COP), PDL requires students to describe (i) inputs, (ii) constraints, (iii) the optimization objective, and (iv) outputs, based on their problem comprehension. PDL then validates each problem description by (1) compiling a solution program from the description and (2) executing the generated program with predefined test cases. Based on the compiling and testing results, PDL provides feedback to students, and assists students to adjust their problem comprehension and improve problem descriptions.

Topics & Concepts

Computer scienceCoding (social sciences)ComprehensionProcess (computing)Programming languageInductive programmingProgramming paradigmArtificial intelligenceMathematicsStatisticsTeaching and Learning ProgrammingSoftware Testing and Debugging TechniquesSoftware Engineering Techniques and Practices