Online Programming Tutors for Computer Science I

Download Report

Transcript Online Programming Tutors for Computer Science I

Problets:
Online Programming Tutors
for Computer Science I
Amruth N. Kumar
Ramapo College of New Jersey
[email protected]
What Problets do:
• Present problems:
– Debugging programs
– Predicting the output of programs
– Evaluating expressions
• Grade student’s answer
• Provide instant feedback
• Record student performance
• Provide summary to the instructor
Amruth Kumar,
[email protected]
Problems presented to the student
• No two problems are alike
• Problems presented ad-infinitum
• Adapted to the learning needs of the
student
• Hard to guess the correct answer
Amruth Kumar, [email protected]
Feedback provided to the student


Whether the student’s answer is correct or
wrong
Step-by-step explanation of the execution of the
problem code
Animated
 Visualized


Question promoting reflection
Amruth Kumar, [email protected]
Summary provided to the instructor
Progress of Jane Doe:
 Pretest: Solved 16 problems, 50% correct
 Practice: Solved 24 problems, 46% correct
 Post-test: Solved 20 problems, 72% correct
Concepts not understood by at least 60% of the
students:
 When loop variable is updated before the
action in a loop
 Nested independent loops
Amruth Kumar, [email protected]
Using the problets

For problem-solving exercises in/after class
–
–

Provides instant feedback
Promotes active, self-paced learning
For assignments and tests
–
–
Automatically grades and logs scores
Deters plagiarism/cheating
Amruth Kumar,
[email protected]
The topics (C++/Java/C/C#)








Expression evaluation (Arithmetic, Relational)
Variables, Scope
Selection statements (if, if-else)
Loops (while, do-while, for)
Functions
Classes in C++
Pointers in C++
Other topics to come (all CS I topics)
Amruth Kumar,
[email protected]
The logistics
Instructor requests a problet for a specific
language + topic:
– Free for educational use
Instructor assigns the problet in a course:
– Announces the URL
Students use the problet online:
– Takes 35-45 minutes
– Supervision not necessary
Instructor requests summary
Amruth Kumar, [email protected]
Stages in using a typical
problet
•
•
•
•
•
•
•
•
Registration
Pre-Survey
Trial Run
Pre-Test
Practice
Feedback
Post-Test
Post-Survey
Amruth Kumar,
[email protected]
The pedagogy of problets
 Active learning
 Learning by solving problems
 Deep learning
 Self-paced learning
 Immediate feedback/reinforcement
 Asynchronous learning
 Learning from mistakes
 Supplements classroom instruction
 Complements programming projects
Amruth Kumar,
[email protected]
Evaluation - Some
results
• Problets help students learn
programming concepts
• Step-by-step explanation promotes
learning
• Women learn just as well as men
• Class self-confidence improves
• Students very positive about
learning from problets
Amruth Kumar,
[email protected]
Literature about the problets



Case studies: Expressions [CCSCNE 01],
Selection [FIE 00], for Loops [FIE 03], C++
Pointers [FIE 02 , ITiCSE 01], C++ Classes
[ED-MEDIA 03], Scope Concepts [SIGCSE
04, ITiCSE 00], Parameter Passing [ITiCSE
02]
Technology: [AI 04, ICALT 03, AI-ED 03, ITS
02]
Evaluation: [SIGCSE 05, FIE 04, ICTEM 02]
Amruth Kumar,
[email protected]
Contact Information
If interested, please contact:
[email protected]
Acknowledgements:
 NSF CCLI DUE 0088864
 NSF EI CNS 0426061
Amruth Kumar, [email protected]
Problet on expression evaluation
Amruth Kumar,
[email protected]
Problet on debugging
Amruth Kumar,
[email protected]
Problet on predicting the output
Amruth Kumar,
[email protected]