title: When teaching C, is it better to teach arrays before or after pointers?
body: <p>For those of you with curriculum development experience: what is the best strategy regarding arrays?</p>
  
  <p>I have seen some schools that teach arrays after variables and control structures, often before even teaching functions. This allows teaching of some rudimentary algorithms, etc. However, it then brings the problem of how to pass arrays to functions, so it is necessary to go back to arrays pointers are taught and patch things up.</p>
  
  <p>Another option is to go from variables and control structures to functions, and then teach pointers, and once you have pointers, teach arrays from scratch, and then use that to get to dynamic memory allocation.</p>
  
  <p>To me the second option makes more sense, because unlike simple variables, with arrays it is easy to "go out of bounds", but students who did not yet learn about memory and pointers may not understand what lies outside these bounds.</p>
  
  <p>However, I'm interested to know what others think.</p>