I would compare it to learning a new language. I would count strong fundamentals as knowing data types, loops and objects. I learned a lot from professors but the same info that is in classrooms is online. I think you have to be a bit obsessed with tech to grasp it quickly. Just start from the very beginning with a "hello world" program and move on from there.