title: How to teach a crash course on C++?
body: <p>In a few weeks, we'll be teaching a crash course on C++ for Java programmers straight out of college. They have little or no experience yet with C or C++.</p>
  <p>Previous editions of this course were just 1 or 2 half-day sessions and covered topics including:</p>
  <ul>
  <li>new language features, e.g.
  <ul>
  <li>header vs. implementation</li>
  <li>pointers and references</li>
  <li>memory management</li>
  <li>operator overloading</li>
  <li>templates</li>
  </ul>
  </li>
  <li>the standard libraries, e.g.
  <ul>
  <li>the C library headers</li>
  <li>basic iostreams</li>
  <li>basic STL</li>
  </ul>
  </li>
  <li>using libraries (headers, linking)</li>
  <li>they'll be using Linux, so
  <ul>
  <li>Basic Linux console commands</li>
  <li>GCC and how to interpret its error messages</li>
  <li>Makefiles and Autotools</li>
  </ul>
  </li>
  <li>basic debugger commands</li>
  <li>any topic they ask about</li>
  </ul>
  <p>During the course, each person individually writes, compiles, runs, and debugs simple programs using the newly introduced features. Is this the best way to learn?</p>
  <ol>
  <li>Which topics do you consider most crucial?</li>
  <li>Which topics should be added or removed?</li>
  <li>Which topics just can't be covered adequately in a short time?</li>
  </ol>