170 likes | 655 Views
Retina: Helping Students and Instructors Based on Observed Programming Activities. Chris Murphy, Gail Kaiser, Kristin Loveland, Sahar Hasan Columbia University. Observation #1. It is difficult for CS1 instructors to get quality answers to such questions as:
E N D
Retina: Helping Students and Instructors Based on Observed Programming Activities Chris Murphy, Gail Kaiser, Kristin Loveland, Sahar Hasan Columbia University
Observation #1 • It is difficult for CS1 instructors to get quality answers • to such questions as: • “How long are students taking to complete the • programming assignments?” • “What sorts of compilation and runtime errors are • they encountering?” • “Which students are struggling the most with this • assignment?”
Observation #2 • Students in CS1 courses cannot easily get the • answers to such questions as: • “Are other students taking the same amount of • time that I am to complete the assignment?” • “Are other students getting the same compilation • and runtime errors?” • “Is this assignment hard for everyone else, too?”
Observation #3 • Both CS1 instructors and students can benefit from • organizational memory: • “What problems did students encounter with this • assignment last semester? How long did it take • students to complete this assignment?” • “How long will this assignment take me? What • sorts of errors should I look out for?”
Our Solution: Retina • Collects objective observational data about students’ programming activities (focusing primarily on compilation errors) • Provides useful and informative reports based on the aggregation of that data • Can also make proactive recommendationsand suggestions to the students
Related Work • Monitoring and logging student programming activities • ClockIt, Hackystat • EclipseWatcher • Collecting data and automating testing • Marmoset, Web-CAT • Recommendation systems • Strathcona
Eclipse BlueJ Retina Instructor View Retina Student View IM Client (Yahoo, MSN, Google, etc.) plugin plugin Tomcat JClaim Retina Data Manager Retina Data Collector db Architecture/Dataflow javac wrapper
Instructor View • Browse Mode • Understanding of individual students’ activities • Compilation errors • Working times and time spent • Class Mode • Overview of entire class’ performance • Most common errors • List students sorted by number of errors made or time spent on assignment
Student View • Historical information • Compilation errors made • Time spent on assignment • Class comparisons • Suggestions • How long next assignment may take • How to address most common error
Real-time Recommendations • Proactively sent to users over IM • Instructor can configure frequency of recommendations based on: • High rate of errors per compilation • Spending too long on the assignment • Same error made multiple times • Student can also interact with system to get other info like how many other students are currently working on the assignment
Evaluation • 48 students volunteered to have their data collected • 21 in Spring 2008 • 27 in Summer 2008 • Instructors were asked to comment on the usefulness of the Instructor View • A small number of students used the Student View and Real-time Recommendation
Instructor Comments • “Retina was useful in the case where a studentwas asking for one-on-one help, so that I could know in advance what difficulties that student had, could anticipate thequestions the student would ask, and could tailor the helpappropriately.” • “By seeing what errors the students weremaking as a whole, I could also warn the TAs what to lookout for, and discuss with them good ways to help the studentsaddress those problems.”
Student Comments • “I was a bit nervous at first about having my data collected but it was useful to see what errors I had made in the past, and that helped me remember how I fixed them.” • “I was really surprised to see that other students were spending more time on the assignment than I was. It made me feel like I wasn’t the worst student in the class.”
Future Work • Empirical studies to measure usefulness of Student View and Recommendation tool • Creating ad hoc social networks as students work on assignments • Addressing privacy concerns and issues related to plagiarism
Conclusion • Our contribution is a tool called Retina • Retina helps instructors learn about their students’ programming activities • Retina helps students learn from their past activities and understand how they relate to other students
Retina: Helping Students and Instructors Based on Observed Programming Activities Chris Murphy cmurphy@cs.columbia.edu