Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Many programmers tasked to teach a beginning programming class have forgotten a lot of the things that they didn't know or wouldn't know back before they learned how to program themselves. And there are lots of ways to not understand a topic. But some seem to pop up very often among students, no matter what common beginning programming language or textbook is used.

An answer to this question lists several misconceptions or lack of conceptions that seem to occur more when teaching programming to people who have zero programming background: What is the best way to teach beginners? (such as confusion about the difference between the environment when a program is written and when it is run, that (basic block) program code executes sequentially, the difference between a variable and its contents, etc.)

Another example are the questions from new programmers who simply assume that ordinary variables (in C, Python, etc.) can exactly represent common fractions (1/100ths).

Is there an online list or book that covers these concepts, that have to be taught above and beyond the syntax and semantics of the chosen programming language and IDE?

share|improve this question

closed as not constructive by Jarrod Roberson, littleadv, Mark Trapp Feb 23 '12 at 2:02

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

I have a feeling this question is going to be a honeypot for quick-hit opinions about the subject instead of identifying a resource for this information. If the answers devolve into a list of common misconceptions, we'll need to close it. –  user8 Feb 22 '12 at 23:02
@MarkTrapp: I don't see any other way to answer this question... –  Dynamic Feb 23 '12 at 0:04
Any resource (based on more than single sample point opinions from non-educators) would be appropriate if there currently is no canonical resource. –  hotpaw2 Feb 23 '12 at 0:07
@Mark Trapp - If there isn't already a good resource for this question, wouldn't allowing this question to become one be a good idea? –  asfallows Feb 23 '12 at 0:28
@asfallows It might be a great topic for a blog post or a discussion forum, but lists aren't what Stack Exchange does. –  user8 Feb 23 '12 at 0:44

1 Answer 1

Difficult one and lies in soft skills, speaking for myself based on when I used to teach:

  • Adhere to the fact that this situation is normal, nothing to worry,
  • Recognise the fact that for every student that asks something, there is a big number of students that are reluctant to ask (iceberg effect),
  • Key point:

a lot of the things that they didn't know or wouldn't know back before they learned how to program themselves

Remember how it is to be a student on something you know nothing about: Many times I tried to learn something new "from scratch" just to remind myself of the feeling of how it is to be in that area. This helped me empathise with my students whom are in square one,

  • Since it is normal, for every subject that you teach, soon you will accumulate a "list" of misconceptions or very early questions. Preempt your students by answering in advance or restructure your teaching material so that they will be answered beforehand (heuristic approach).
share|improve this answer
Has any experienced teacher of beginning programming (or programming for kids, etc.) posted their list? –  hotpaw2 Feb 23 '12 at 0:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.