Answers.Body: <p>Commonly, the jargon I see in class (former student, new to being a teacher assistant) is meant to serve one single purpose: increasing student understanding.</p>
  
  <p>This seems relatively straightforward, but it is not as simple. The jargon is meant to make expressions and keywords easier to explain. </p>
  
  <p>If one explains the jargon ahead of time (each subject has its related jargon explained before delving deep into the material) then one can use the jargon <em>while</em> teaching, which is a powerful aid. </p>
  
  <p>If you explain what you mean by "declare" and "identifier", then whenever you use those words, it's as if you used the "new" keyword in java. Java knows <strong>exactly</strong> how to deal with that keyword. Your students will know precisely what to do when you say "create a declaration for so and so with an assignment to such and such...". This worked wonders with students I have worked with.</p>
  
  <p>The key point is to <em>explain your jargon</em>. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-17T04:58:46.583Z
Answers.LastActivityDate: 2017-07-17T04:58:46.583Z
Answers.UserDisplayName: ItamarG3
Answers.Body: <p>It's a balance, as with all things. Concepts are of course more important than vocabulary, but it's awfully hard to convey your questions and ideas without vocabulary. Just look at some old math papers (like, <em>really</em> old, before the invention of the plus sign old) to see what I mean.</p>
  
  <p>A couple of checks to make sure concepts are coming first:</p>
  
  <ul>
  <li><p>Make sure they know what the vocab means. I've read books where jargon and words were used in a confusing and improper manner. </p></li>
  <li><p>Make sure they can generally explain <em>without</em> the vocab to another person, maybe not in your class. That's often the true test of understanding. There's a great story about Richard Feynman that he was trying to prepare a lecture on an advanced topic for an undergraduate audience, but he later told a faculty member that he couldn't break it down to that level, meaning that he didn't understand it well enough. </p></li>
  </ul>
  
  <p>A couple of checks to make sure they know enough vocab:</p>
  
  <ul>
  <li><p>Can they figure out most compiler/interpreter errors? (Most) Python errors, for example, are fairly clear, so if they know some vocab, they should be able to figure most out.</p></li>
  <li><p>Can they find the answer to their problem using google? A student who is having a problem with a for loop but does not know that it is called a for loop will have a hard time finding a solution.</p></li>
  <li><p>Can they follow the discussion in a simpler scientific paper, or later chapters in their textbook, or are do they have to keep a dictionary by at all times?</p></li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-17T15:11:32.070Z
Answers.LastActivityDate: 2017-07-17T15:11:32.070Z
Answers.UserDisplayName: auden
Answers.Body: <p>Use the vocabulary for the things that are directly relevant to what the students are learning, so they can intelligently talk about what they are doing. This means that students should definitely know the verbs associated with programming. Variables need to be declared, objects need to be instantiated, and programs need to be compiled/interpreted. You can't really talk about code without these.</p>
  
  <p>What about the nouns? I usually don't focus much presenting on these. Unless the they aren't native English speakers, students will (eventually) understand what an identifier or token is without much input from the lecturer. There are nouns you should obviously go over, however, such as variables, objects, and data type. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-17T01:37:23.230Z
Answers.LastActivityDate: 2017-07-17T01:52:25.083Z
Answers.LastEditDate: 2017-07-17T01:52:25.083Z
Answers.UserDisplayName: Soupy
Answers.Body: <p>I think it's actually really important to use the jargon and stress understanding. A lot of the common mistakes students make have a root cause of misunderstanding the difference between, say, declaring and calling a function.</p>
  
  <p>If students have the vocab list and the jargon at their fingertips, it makes it actually possible to have debugging discussions that will help students learn.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-17T21:33:23.093Z
Answers.LastActivityDate: 2017-07-17T21:33:23.093Z
Answers.UserDisplayName: Zach Galant
Answers.Body: <p>Some of these words are entirely necessary, some (such as tokenize) you might want to avoid early on.  However, I would suggest this as a guiding principle: use vocabulary as is necessary to get at the core goals you hold for your students, but do not emphasize vocabulary for its own sake.  A great visualization or metaphor at the very start <em>(after all, freshmen!)</em> will take your students much further along than a series of fine distinctions.</p>
  
  <p>Here is a fun little article about <a href="http://nymag.com/scienceofus/2016/06/10-extremely-precise-words-for-emotions-you-didnt-even-know-you-had.html" rel="nofollow noreferrer">10 Extremely Precise Words for Emotions You Didn’t Even Know You Had</a>.  The title is correct; when you read through the article, you will find emotions that you have experienced, but never described.  Nevertheless, you were able to experience the emotions perfectly fully. </p>
  
  <p>Similarly, with the help of a great diagram or metaphor, students will be able to utilize concepts that are more advanced than they can fully describe.  That's okay - great even! - and later coursework can help them nail down finer distinctions as they advance.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-17T02:00:54.577Z
Answers.LastActivityDate: 2017-07-25T01:12:16.603Z
Answers.LastEditDate: 2017-07-25T01:12:16.603Z
Answers.UserDisplayName: Ben I.
Answers.Body: <p>Certainly mention the vocabulary, but I wouldn't make it mandatory to learn the words or use them correctly in class. What matters is that the students understand the concepts that go with the words, not that the know the dictionary definitions.</p>
  
  <p>Introduce all the vocabulary when it comes up in class, but don't be a stickler, especially early on. Let the students get a feel for the different types, so that they have concepts to associate the words with, rather than associating the words with (possibly incorrect) ideas.</p>
  
  <p>I'd also make sure to draw the distinctions when talking about the different types, so that the students mentally understand the different types conceptually before actually assigning vocab to the concepts.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-17T02:04:06.023Z
Answers.LastActivityDate: 2017-07-17T02:04:06.023Z
Answers.UserDisplayName: thesecretmaster
Body: <p>In my experience (working with college freshmen mostly), I've tried to emphasize precise vocabulary about the concepts and syntax related to creating and changing variables. This is wording like:</p>
  
  <ul>
  <li>identifier</li>
  <li>declare</li>
  <li>initialize</li>
  <li>assignment</li>
  <li>token</li>
  <li>execute</li>
  <li>compiler</li>
  </ul>
  
  <p>My reasoning is that these words are immediately necessary to understand error messages, intermediately necessary to Google things, and necessary in the long term to communicate to other programmers.</p>
  
  <p>However, some teachers I've talked to try to avoid this type of language because they feel it introduces another barrier to their students' understanding. I guess they'd say I'm trying to introduce compiler concepts too early.</p>
  
  <p>What's your view? How do you know when there's too much jargon?</p>
  
Tags: <introductory-lesson>
Title: Jargon/Vocab about variables--- yes or no?
ThreadText: # Jargon/Vocab about variables--- yes or no?
  
  (Asked by: username_0 on 2017-07-17)
  
  In my experience (working with college freshmen mostly), I've tried to emphasize precise vocabulary about the concepts and syntax related to creating and changing variables. This is wording like:
  
  * identifier
  * declare
  * initialize
  * assignment
  * token
  * execute
  * compiler
  
  My reasoning is that these words are immediately necessary to understand error messages, intermediately necessary to Google things, and necessary in the long term to communicate to other programmers.
  
  However, some teachers I've talked to try to avoid this type of language because they feel it introduces another barrier to their students' understanding. I guess they'd say I'm trying to introduce compiler concepts too early.
  
  What's your view? How do you know when there's too much jargon?
  
  **Tags:** introductory-lesson
  
  
  ---
  
  ## 6 answers
  
  ### Answer by username_5 on 2017-07-17. Score: 10 | Accepted answer
  
  Some of these words are entirely necessary, some (such as tokenize) you might want to avoid early on. However, I would suggest this as a guiding principle: use vocabulary as is necessary to get at the core goals you hold for your students, but do not emphasize vocabulary for its own sake. A great visualization or metaphor at the very start *(after all, freshmen!)* will take your students much further along than a series of fine distinctions.
  
  Here is a fun little article about [10 Extremely Precise Words for Emotions You Didn’t Even Know You Had](http://nymag.com/scienceofus/2016/06/10-extremely-precise-words-for-emotions-you-didnt-even-know-you-had.html). The title is correct; when you read through the article, you will find emotions that you have experienced, but never described. Nevertheless, you were able to experience the emotions perfectly fully.
  
  Similarly, with the help of a great diagram or metaphor, students will be able to utilize concepts that are more advanced than they can fully describe. That's okay - great even! - and later coursework can help them nail down finer distinctions as they advance.
  
  
  ---
  
  ### Answer by username_6 on 2017-07-17. Score: 6
  
  Certainly mention the vocabulary, but I wouldn't make it mandatory to learn the words or use them correctly in class. What matters is that the students understand the concepts that go with the words, not that the know the dictionary definitions.
  
  Introduce all the vocabulary when it comes up in class, but don't be a stickler, especially early on. Let the students get a feel for the different types, so that they have concepts to associate the words with, rather than associating the words with (possibly incorrect) ideas.
  
  I'd also make sure to draw the distinctions when talking about the different types, so that the students mentally understand the different types conceptually before actually assigning vocab to the concepts.
  
  
  ---
  
  ### Answer by username_1 on 2017-07-17. Score: 4
  
  Commonly, the jargon I see in class (former student, new to being a teacher assistant) is meant to serve one single purpose: increasing student understanding.
  
  This seems relatively straightforward, but it is not as simple. The jargon is meant to make expressions and keywords easier to explain.
  
  If one explains the jargon ahead of time (each subject has its related jargon explained before delving deep into the material) then one can use the jargon *while* teaching, which is a powerful aid.
  
  If you explain what you mean by "declare" and "identifier", then whenever you use those words, it's as if you used the "new" keyword in java. Java knows **exactly** how to deal with that keyword. Your students will know precisely what to do when you say "create a declaration for so and so with an assignment to such and such...". This worked wonders with students I have worked with.
  
  The key point is to *explain your jargon*.
  
  
  ---
  
  ### Answer by username_2 on 2017-07-17. Score: 4
  
  It's a balance, as with all things. Concepts are of course more important than vocabulary, but it's awfully hard to convey your questions and ideas without vocabulary. Just look at some old math papers (like, *really* old, before the invention of the plus sign old) to see what I mean.
  
  A couple of checks to make sure concepts are coming first:
  
  * Make sure they know what the vocab means. I've read books where jargon and words were used in a confusing and improper manner.
  * Make sure they can generally explain *without* the vocab to another person, maybe not in your class. That's often the true test of understanding. There's a great story about Richard Feynman that he was trying to prepare a lecture on an advanced topic for an undergraduate audience, but he later told a faculty member that he couldn't break it down to that level, meaning that he didn't understand it well enough.
  
  A couple of checks to make sure they know enough vocab:
  
  * Can they figure out most compiler/interpreter errors? (Most) Python errors, for example, are fairly clear, so if they know some vocab, they should be able to figure most out.
  * Can they find the answer to their problem using google? A student who is having a problem with a for loop but does not know that it is called a for loop will have a hard time finding a solution.
  * Can they follow the discussion in a simpler scientific paper, or later chapters in their textbook, or are do they have to keep a dictionary by at all times?
  
  
  ---
  
  ### Answer by username_3 on 2017-07-17. Score: 3
  
  Use the vocabulary for the things that are directly relevant to what the students are learning, so they can intelligently talk about what they are doing. This means that students should definitely know the verbs associated with programming. Variables need to be declared, objects need to be instantiated, and programs need to be compiled/interpreted. You can't really talk about code without these.
  
  What about the nouns? I usually don't focus much presenting on these. Unless the they aren't native English speakers, students will (eventually) understand what an identifier or token is without much input from the lecturer. There are nouns you should obviously go over, however, such as variables, objects, and data type.
  
  
  ---
  
  ### Answer by username_4 on 2017-07-17. Score: 2
  
  I think it's actually really important to use the jargon and stress understanding. A lot of the common mistakes students make have a root cause of misunderstanding the difference between, say, declaring and calling a function.
  
  If students have the vocab list and the jargon at their fingertips, it makes it actually possible to have debugging discussions that will help students learn.
  
  
  ---
  
  