This is my first year in computer science as a sophomore in highschool. I am learning a lot and am very ambitious about learning C++. i hope to eventually major in Comp Science and end up with a job programming software. I was blessed to have such a great teacher, but some times i feel this isn't such a good thing. He is very quick to point out flaws and errors in my code that me nor the computer catch (immediately of course) and show me how inefficient my code is. He offers 2 more advanced classes after the first one (being the most basic) and i would love to take them, but he sometimes makes me feel like i may not be ready for them. Soo my question is does any one have tips or ideas on how to develop and start thinking more efficiently, because i am starting to feel like i may not be capable of furthering,because the "real world" wants it this way , but i would love to keep doing this.