Project

Automated Student [Behavior] Modeling In a Programming MOOC

Goal: We are performing a set of Big Data analyses to study student learning in a Programming MOOC (Java). The data is collected at the University of Helsinki and is comprised of student work on class problems in a modified IDE.

We are focusing on student behaviors and learning. Behaviors are patterns of student editing the code of the problem solutions. We are utilizing automatically parsed programming constructs to model student learning. The overarching goal is to use traces of behavior and learning to build assistive technology to help students learn more efficiently.

Methods: Big Data, Clustering Algorithms, AWK Script, Shell Script, Logistic Regression Analysis, Regularization, User Modeling, Spectral Clustering, Hierarchical Linear Models, LIBLINEAR

Updates
0 new
3
Recommendations
0 new
3
Followers
0 new
84
Reads
2 new
677

Project log

Peter Brusilovsky
added a research item
Guiding students to the learning activities that are most appropriate for their current level of knowledge is one of the goals that adaptive educational systems tried to achieve during the last decades. Recently, several attempts have been made to use Open Learner Models (OLM) as a tool for achieving this goal. While the original goal of OLM is to help students reflect about their own learning process, extending OLM with navigation support functionality enables students to take immediate actions towards improving their knowledge. In this work, we attempted to extend the navigation support functionality of OLM by developing a fine-grained OLM that offers student knowledge visualization on both topic and concept levels. The fine-grained OLM enables students to directly explore connections between their knowledge and available learning activities, making an informed decision about their next learning steps. To assess the impact of the new type of OLM, we evaluated several versions of it in a classroom study, while also comparing it with data from our earlier studies that featured a coarse-grained OLM. Our results suggest that the fine-grained OLM considerably impacts student choice of learning activities, making student learning more efficient. We also found that the specific design features of fine-grained OLM could affect students' confidence and persistence while selecting and attempting the learning activities.
Peter Brusilovsky
added an update
Our UMAP 2017 paper was nominated for the Best Paper award. We are planning an extended journal version
 
Michael Yudelson
added a research item
Stereotypes are frequently used in real life to classify students according to their performance in class. In literature, we can find many references to weaker students, fast learners, struggling students, etc. Given the lack of detailed data about students, these or other kinds of stereotypes could be potentially used for user modeling and personalization in the educational context. Recent research in MOOC context demonstrated that data-driven learner stereotypes could work well for detecting and preventing student dropouts. In this paper, we are exploring the application of stereotype-based modeling to a more challenging task -- predicting student problem-solving and learning in two programming courses and two MOOCs. We explore traditional stereotypes based on readily available factors like gender or education level as well as some advanced data-driven approaches to group students based on their problem-solving behavior. Each of the approaches to form student stereotype cohorts is validated by comparing models of student learning: do students in different groups learn differently? In the search for the stereotypes that could be used for adaptation, the paper examines ten approaches. We compare the performance of these approaches and draw conclusions for future research.
Michael Yudelson
added a research item
With the advent of ubiquitous web, programming is no longer a sole prerogative of computer science schools. Scripting languages are taught to wider audiences and programming has become a flag post of any technology related program. As more and more students are exposed to coding, it is no longer a trade of the select few. As a result, students who would not opt for a coding class a decade ago are in a position of having to learn a rather difficult subject. The problem of assisting students in learning programming has been explored in several intelligent tutoring systems. The key component of such systems is a student model that keeps track of student progress. In turn, the foundation of a student model is a domain model – a vocabulary of skills (or concepts) that structures the representation of student knowledge. Building domain models for programming is known as a complicated task. In this paper we explore automated approaches for extracting domain models for learning programming languages and modeling student knowledge in the process of solving programming exercises. We evaluate the validity of this approach using large volume of student code submission data from a MOOC on introductory Java programming.
Michael Yudelson
added an update
Thoughts, relevant examples (research and practice), ideas and collaboration opportunities.
 
Michael Yudelson
added an update
When thinking about adaptively helping students with coding for a class or a MOOC, student stereotypes are not useful
It is natural to think about students and their abilities in broad categories. In literature, there are frequent references to weaker students, fast learners, struggling students, etc. Teachers in classrooms and computer-based systems are often framing their interaction with the student based on these stereotypes. However, are these stereotypes real? We have reviewed a few simpler readily available student grouping factors like gender or education level and a number of innovative approaches to cluster students based on their genomes of problem-solving behaviors. Each of the approaches to form student cohorts was validated by comparing models of student learning: do students in different groups, in fact, learn differently. After considering ten approaches to grouping students taking a traditional programming course and a programming MOOC, we conclude that there are no two distinct student stereotypes that can be actionable in a group-based adaptation setting.
 
Michael Yudelson
added a project goal
We are performing a set of Big Data analyses to study student learning in a Programming MOOC (Java). The data is collected at the University of Helsinki and is comprised of student work on class problems in a modified IDE.
We are focusing on student behaviors and learning. Behaviors are patterns of student editing the code of the problem solutions. We are utilizing automatically parsed programming constructs to model student learning. The overarching goal is to use traces of behavior and learning to build assistive technology to help students learn more efficiently.