Transcript [Slides]
Software Tutoring Suites for Introductory Programming Problets (problets.org) Epplets (epplets.org) Codelets (codelets.org) Amruth N. Kumar Ramapo College of New Jersey [email protected] Amruth Kumar, [email protected] What Problets do Present problems Grade student’s answer Provide summative feedback Record student’s performance Provide summary to the instructor Amruth Kumar, [email protected] Types of Problems in Problets “Debug this program” “What is printed by this program?” “Show the changes to the array after the loop” “Evaluate the expression step-bystep” Not multiple-choice problems Amruth Kumar, [email protected] Features of Problem Generation in Problets Adapted to the learning needs of the student Maximizes learning in minimal time No two problems are alike Deters cheating, plagiarism Problems are presented ad-infinitum Supports as many practice exercises as necessary Amruth Kumar, [email protected] Problets Topics and Problems (C++/Java/C#) Topic Sub-Topic Expressions Arithmetic Relational Logical Assignment Bitwise Selection If/if-else switch Loops while for do-while Advanced Functions Debugging Tracing Recursion Arrays 1-D Classes Access Total Used Since Fall 2004 Fall 2004 Fall 2006 Fall 2008 Fall 2010 Spring 2005 Spring 2010 Fall 2004 Fall 2004 Fall 2010 Spring 2010 Fall 2009 Fall 2009 Spring 2013 Fall 2010 Spring 2013 Amruth Kumar, [email protected] No. Problems 192 268 280 255 303 165 147 201 213 125 139 117 95 68 172 128 2868 Learning Objectives 25 24 21 19 28 12 12 9 10 15 13 9 10 10 14 18 249 Problet on Expression Evaluation Amruth Kumar, [email protected] Problet on Debugging Amruth Kumar, [email protected] Problet on Predicting the Output Amruth Kumar, [email protected] Problet on the State of a Variable Amruth Kumar, [email protected] What Epplets do: Present a Parsons puzzle: A problem description and scrambled code Distracters Student reassembles the scrambled code Cannot submit answer until it is correct Provide corrective feedback Record student performance Provide summary to the instructor Amruth Kumar, [email protected] Features of Epplets Students re-assemble one line at a time From code to algorithm Fail-safe feedback provided to recover from any error Option provided to bail out Equivalent answers accepted Comments provided to disambiguate placement Student performance measured in terms of number of events Amruth Kumar, [email protected] Epplets Topics and Problems (C++/Java) Topic Types of problems Input-Output Sequence 1 Number of problems 9 if-else statements 2 14 switch statements 3 28 while loops 3 23 for loops 3 24 do-while loops 3 22 Total 15 120 Amruth Kumar, [email protected] Epplet on if-else Amruth Kumar, [email protected] What Codelets do: Present a problem and algorithm Grade the code written by the student Provide formative feedback Must be addressed before proceeding Track: Number of attempts per line of code Types of errors committed Amruth Kumar, [email protected] Problem-Solving Features of Codelets Code is written in the order of problemsolving process, not program structure One line of code, One purpose Good programming practices promoted Variations of code accepted Amruth Kumar, [email protected] Features of Feedback in Codelets Based on source code, not testing Never accepts incorrect answer Never leaves user stranded Graceful recovery Only one error pointed out at a time Feedback as tailored to context as possible Amruth Kumar, [email protected] Codelet on Variables-Input-Output Amruth Kumar, [email protected] How to adopt Software Tutor Suites: Instructor requests a tutor suite for a specific language: Free for educational use Instructor assigns tutors in a course: Announces the URL Students use the tutors online: Takes 35-45 minutes Can be used without instructor supervision Instructor requests summary Amruth Kumar, [email protected] Historical Usage of Software Suites Problets Continually used since Fall 2004 Hundreds of adopters Epplets Available since Fall 2015 Dozens of adopters Codelets In beta version Amruth Kumar, [email protected] Acknowledgments Problets (problets.org) NSF DUE-0817187 Epplets (epplets.org) NSF DUE-1502564 Codelets (codelets.org) NSF DUE-1432190 Amruth Kumar, [email protected]