Well from my experience, I learned 50% of my programming knowledge in the 6-week build. Prior to that, I had dabbled in C++ and NXC (
http://bricxcc.sourceforge.net/ ) a bit but never fully understood it. (I could do basic variable manipulation, loops and if/else statements but thats about it)
I was able to program our robot rather effectively using all the builtin libraries in WPILib without understanding what OOP was, or how to implement it. Just seeing what worked and what didn't was enough to make some rough Teleop and a brief autonomous code with smartdashboard logging and some drive mode switching. (The code can be found at
https://bitbucket.org/teammetalcow/r...cpp?at=default )
I will note that I learned none of this from books, just experimenting with the language and looking up references from the WPILib documentation.
I did go on to learn OOP in the off season, so thats what
https://bitbucket.org/teammetalcow/2012offseason/src is.
It really depends on the person though, Ive found. We all think differently, but C++ thinks in basically one way. Like one person here said, If you think extremely logically if can be 2.5 months, but if not it can be 6.