An absolute beginner has three hurdles.
Gain an ability to describe a process or algorithm in steps that can be performed by the microprocessor.
Understand the nature of embedded systems programming. Inputs and outputs, communication with sensors and a raft of trouble with motors and wiring and power supplies. And so forth. Electronics 1.01 plus a bit.
And
The particular pesky details of the computer language being used.
My opinion is that C++ is not needed. Some hand waving around the little bits of C++ that are seen, like Serial.pritn() or just about every library is enough.
Libraries can usually be used by following examples slavishly, and exploiting them in one's code without deviating. Many libraries can be installed, a bit of obscure initialization and or set up pasted in and then the use is straight ahead.
Like neopixels. Once you get it squared away, there's only changing the colour of a pixel and publishing the strip. Every other problem or challenge is a matter of programming to the process or algorithm. or a power supply issue. 
My opinion is that C++ is not needed, and I can go a bit further to say that putting C++ in front of an absolute beginner is counterproductive. Even C lacks a gentle introduction path, but it is far less daunting even in the first hour.
Just like some features of C can wait until the need for them becomes painfully obvious (functions and arrays and structs, e.g.), most of what separates C++ from C is probably easier to learn for someone who knows how to program in any style in any language for any purpose.
Someone for whom that language is C is many steps ahead. Someone already doing embedded systems work has an advantage. And someone already using OOP concepts as can be practiced in whatever language they know will get further sooner.
I will always tell noobs to learn C. Not just get a bit of it under your hat, but really learn it. Probably best in the context of getting a few LEDs to do things based on a few buttons and things like that.
As for "an ability to describe a process or algorithm in steps" goes, I'm surely not the only one who can't remember ever not being able to do, and who has spent a good deal of time thinking about how that might go.
I will say in my experience there are ppl who are just not going to make good programmers, whatever else they might be talented enough to pull off. I don't think we see many of the ppl Prof. Molzberger was referring to when he said "you can't teach a jerk to program" around here…
a7