but there's no reason why the java approach can't be applied to C++ just as easily. C++ viewn as just "C with objects", without the STL, without templates and without all the other things that separate it from it's granddaddy C (C++ has since evolved on it's own path not even following C anymore) is a concept that is outdated by many years now. THis might have been a useful approach when nobody knew C++ and C++ was still little more than a preprocessor for C. But it's gone way beyond that now.

It's like teaching someone to drive a car... By first telling them how to tend to a horse and making them drive around in a horse carriage for a whole year.

Even if you did teach the class by first teaching C, and then migrating over to C++, this assignment is bad because it makes not much sense if you look at it from a C p.o.v. and it's silly as a C++ p.o.v. because you're better off using STL.

I'm not saying there is no merit to teaching someone how to write a container, but then you'd do this because you want to do something STL doesn't provide and even then you'd make sure that students know about ths STL approach to things, so that the container they need to design is usable with the rest of the STL algorithms etc. (hardly a beginners class but hey).