ComputerAnalysis is correct in most of his points, however, it must also be noted that the RESOLVE/C++ sequence is administered to freshman CSE students who may only have had a single programming class, which may not have even been college-level.

This sequence then attempts to teach data structures, component-based programming, more specifically in the RESOLVE discipline, some of the theory behind those, all in a language nobody has seen before. While the idea of this is fine in theory, in practice you have students who never get over the quirks of the language itself in order to learn what they are supposed to learn.

Then they take classes where they are required to make substantial programs, and they don't know a real programming language (which is not necessarily the fault of the RESOLVE series as perhaps there could just be another requirement for those classes).

Also, from a practical standpoint, not even in the world, just in the class, the method and class names are *way* too long. I appreciate that they are consistent, but they do not have to take up most of a line. It makes code *harder* to read when something should be on one line and it is on 3.

The use of templates does offer a lot of flexibility, but what it also does is gives a page of almost completely indecipherable errors whenever there is a slight issue in the code. This confuses students, to say the least.