text: Summary of paper: The paper proposes an RNN-based neural network architecture for embedding programs, focusing on the semantics of the program rather than the syntax.  The application is to predict errors made by students on programming tasks.  This is achieved by creating training data based on program traces obtained by instrumenting the program by adding print statements.  The neural network is trained using this program traces with an objective for classifying the student error pattern (e.g. list indexing, branching conditions, looping bounds). ---Quality: The experiments compare the three proposed neural network architectures with two syntax-based architectures.  It would be good to see a comparison with some techniques from Reed & De Freitas (2015)  as this work also focuses on semantics-based embeddings. Clarity: The paper is clearly written. Originality: This work doesn't seem that original from an algorithmic point of view  since Reed & De Freitas (2015) and Cai et. al (2017) among others have considered using execution traces.  However the application to program repair is novel (as far as I know). Significance: This work can be very useful for an educational platform  though a limitation is the need for adding instrumentation print statements by hand. --- Some questions/comments: - Do we need to add the print statements for any new programs that the students submit?  What if the structure of the submitted program doesn't match the structure of the intended solution and hence adding print statements cannot be automated? ---References  Cai, J., Shin, R., & Song, D. (2017). Making Neural Programming Architectures Generalize via Recursion. In International Conference on Learning Representations (ICLR).