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]