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]