desJardins, MarieMatuszek, CynthiaNeary, Michael Patrick2022-02-092022-02-092020-01-0112087http://hdl.handle.net/11603/24178This work analyzes elements of novice source code to support the hint generation component of Intelligent Tutoring Systems (ITS). The purpose of an ITS is to provide one-on-one guidance in a specific subject area. An important component of an ITS is the generation of constructive feedback to enable a student to correct mistakes in their work. An ITS applied within a computer science classroom can generate feedback by looking for similarities with the student's code and one or more correct programming solutions. The system would give a hint based on any similarities or lack thereof to guide the student towards a correct solution. The state-of-the-art hint generation techniques do not take into account extraneous (unnecessary within the context of the problem) lines of code in a student's solution. Current systems are not capable of meaningfully identifying these lines, or reasoning about them to give constructive feedback. In this work, I first show that extraneous lines of code exist through analysis of novice source code to show this is a problem worth contributing to. Then, I introduce a method for their identification, and report mixed results when testing this method. This work represents the first steps towards a useful system, and I argue the importance of continued development of this system for the identification of extraneous lines of codeapplication:pdfIdentifying Extraneous Elements of Novice Source CodeText