Font Size: a A A

Natural language tutoring and the novice programmer

Posted on:2005-11-04Degree:Ph.DType:Thesis
University:University of PittsburghCandidate:Lane, H. ChadFull Text:PDF
GTID:2458390008498823Subject:Computer Science
Abstract/Summary:
For beginning programmers, inadequate problem solving and planning skills are among the most salient of their weaknesses. As a result, they often struggle profoundly when confronted with a programming task. One reason for this is that novices, by definition, lack much of the tacit knowledge that underlies effective programming. This dissertation examines the efficacy of natural language tutoring (NLT) to foster acquisition of this tacit knowledge. The hypothesis is that NLT is superior to reading alone.; Coached Program Planning (CPP) is proposed as a solution to the problem of teaching the tacit knowledge of programming. The general aim is to cultivate the development of such knowledge by eliciting and scaffolding the problem solving and planning activities that novices are known to underestimate or bypass altogether. The specific goals of CPP are to elicit goal decompositions and program plans from students in natural language. A variety of tutoring tactics are used that leverage students' intuitive understandings of the problem, how it might be solved, and the underlying concepts of programming. P ROPL ("pro-PELL"), a dialogue-based intelligent tutoring system based on CPP, is also described. PROP L is intended to help students plan their programs before they write them. Keyword and phrase spotting is used to understand student input and dialogue management can loosely be classified as using a finite-state model. Knowledge Construction Dialogues (pre-authored hierarchical structures) are used to implement a variety of the CPP tutoring tactics, including many for eliciting goals and fleshing out plan details.; In an evaluation, the primary findings were that students who received tutoring from PROPL seemed to exhibit an improved ability compose plans and displayed behaviors suggestive of thinking at greater levels of abstraction than students in a read-only control group. P ROPL students were more successful assembling algorithms and worked with code at the level of plans rather than in the usual, line-by-line approach that novices tend to adopt. Surprisingly, no differences were detected on written design questions. The major finding is therefore that NLT appears to be effective in teaching program composition skills, but less so at raising the competency of students to use natural language.
Keywords/Search Tags:Natural language, Program, Tutoring, Students, CPP, Problem
Related items