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]