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++.
Previous editions of this course were just 1 or 2 half-day sessions and covered topics including:
- new language features, e.g.
- header vs. implementation
- pointers and references
- memory management
- operator overloading
- templates
- the standard libraries, e.g.
- the C library headers
- basic iostreams
- basic STL
- using libraries (headers, linking)
- they'll be using Linux, so
- basic Linux console commands
- gcc and how to interpret its error messages
- Makefiles and autotools
- basic debugger commands
- any topic they ask about
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?
Which topics do you consider most crucial?
Which topics should be added or removed?
Which topics just can't be covered adequately in a short time?