Project Details
Projekt Print View

Teaching Computer Programming using Deep Recursive Neural Networks

Subject Area Image and Language Processing, Computer Graphics and Visualisation, Human Computer Interaction, Ubiquitous and Wearable Computing
General and Domain-Specific Teaching and Learning
Term from 2019 to 2020
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 424460920
 
Programming is a key skill required in science, technology, engineering, mathematics, and multiple other fields. However, learning to program is challenging and learners have particular difficulties in practical exercises. To support students in such practical application exercises, individualized instruction would be helpful. Unfortunately, providing fine-grained and individualized instruction exceeds the resources of human instructors, especially in massive open on-line courses with tens of thousands of participants. Therefore, we require an automatized mechanism to support students in practical programming tasks.In this project we propose to address this challenge by developing a novel neural network architecture which can encode a student's current program as a vector, predict how this vector should change to get closer to a correct solution along a path that a capable student would take, and decode the changed vector back into a program that represents how the student should proceed. By contrasting the student's current program with their predicted next state, we can generate hints which help the student to solve the task.In both encoding and decoding, we intend to incorporate domain knowledge in the form of a grammar of the programming language at hand. Thus, we reduce the space of programs to those which are syntactically correct, which simplifies encoding and decoding and enhances the utility of our hints to students. Additionally, our proposed encoder-decoder architecture could extend the boundaries of current representation learning research to tree-structured data, such as RNA secondary structures in biology, chemical molecules, or syntax trees of natural language, thus enabling to apply successful deep learning models to entirely new kinds of data.
DFG Programme Research Fellowships
International Connection Australia
 
 

Additional Information

Textvergrößerung und Kontrastanpassung