I agree that simplifying the error messages is a good idea and will be extremely helpful, but is there a good reason not to *teach* students the students much of this vocabulary? Many (most?) high school science textbooks have a "Vocabulary" section at the end of each section/chapter that defines the important terminology for that section, and it is common test students on the vocabulary via tests or quizzes. I have toyed with the idea of giving my students a weekly vocabulary list to study that would not only include formal technical items but also the informal vocabulary that computer scientists all the time (e.g. "call", "passing", "invoke", etc. I think it would be reasonable to give students a set of procedure definitions and ask them to circle the variables, underline the parameters, identify function calls, etc. We use this terminology all the time in our lectures and notes; it seems unfair not to explain to the students what all the words mean.
Justin On Fri, Jun 3, 2011 at 8:34 PM, Shriram Krishnamurthi <s...@cs.brown.edu> wrote: >> Oh, I'm all in favor of skipping "identifier". But using the word >> "variable" both for global variables (i.e. constants) and for >> function parameters strikes me as asking for confusion. > > Okay. We have no evidence one way or the other. It could be > something we try to investigate. Given our observation (for other > terms) that fine-grained distinctions actually cause more confusion > than help, I am not at all ready to buy your argument. Moreover, I > have also come to distrust arguments from pure reason in this area. > >> Is the "x" in "f(x)" indeed consistently called a "variable" in high >> school math classes? Or do they also use words like "parameter" or >> "argument"? > > There is no consistency across books. We do know that many math books > and educators use "variable". In addition, we have not run into > either Bootstrap or college students who had trouble with the term > "variable". It's also a term I hear from people who studied in other > countries (so is "parameter", but much less so "argument"). That's > why we chose it. > > Shriram > > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/dev > _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev