I think the right way to proceed depends on learning style. I 'd think I’d get lost in the details of the object oriented stuff while working out how to do flow of control - I learned to program before there was any O-O language except Simula 67 (which was not available anywhere) so it wasn’t an option. I like O-Os, in fact I designed and implemented one for my dissertation long before C++, but I like to start with basics, which is why I’d like CS majors to take assembler - so they have an idea at least of what is going on under the OS.