Abstract

The current education ecosystem is moving towards centralized online blended learning. Online learning repositories have replaced traditional libraries. Learning repositories contain learning materials, which can be located with the help of associated metadata. Associating metadata to the content (definition, program, example, figure, and table) of individual learning concept (topic) from the learning material also leads to a better search. If a student knows the prerequisites of the topic s/he wants to learn then the study of current topic would be more fruitful. The prerequisites of a computer science topic can be obtained from its explanation and the programming code snippet used for its implementation. This paper proposes a metadata “code construct as a prerequisite of a code snippet”. For example “recursion and function call are prerequisite to understand recursive module of binary tree traversal”. It also proposes the framework to automatically identify, extract and present the code constructs used in code snippets included in a computer science learning material. Thus obtained list of code constructs act as prerequisites for understanding the corresponding code snippet. Rule-based pattern mining approach is used for the identification of code snippet in the learning material and identification of code constructs in the code snippet. A pattern set is designed for the same. Natural language tool kit of python is used to identify the code snippet. The algorithms are tested on the programs of C, C++ and Java. Accuracy and efficiency of the developed algorithms is checked against the manual results given by subject experts. An average F1 score of 92% is obtained.

Highlights

  • If a student wants to implement a logic of ‘traversing a binary tree’ the he/she must be aware of recursion, stack, function definition, function call, array declaration, loop structure, if--else structure

  • The proposed model first extracts all the statements of code snippet pertaining to a given learning concept and analyses them to classify in any one of the programming code constructs

  • This paper introduces the concept of programming code constructs as prerequisites for the code snippet pertaining to the topic specified by the learner

Read more

Summary

INTRODUCTION

A. Importance of Automatic Identification and Extraction of Programming Code Constructs. If a student wants to implement a logic of ‘traversing a binary tree’ the he/she must be aware of recursion, stack, function definition, function call, array declaration, loop structure, if--else structure. This can help in creating the prerequisite path for the student. In this paper the authors propose the work done by them in automatic extraction of prerequisites from the code snippet which implements the given topic. It is important to know beforehand the concept of ‘recursion’, ‘functions call’, and ‘if/else’ constructs to understand the code of “traversing a tree using recursion”.

LITERATURE REVIEW
Automatic Identification of Code Constructs
Code Snippet Identification
Algorithmic steps taken to identify various code constructs
RESULTS AND ANALYSIS
RESULT ANALYSIS
CONCLUSION
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.