<p>I'm a sophomore and I am looking into self-studying for the AP Computer Science A exam in 2012. I have always been interested in computers and computer science (I'm typing this from the Ubuntu partition of a Windows 7/ Linux dual-boot (: ), but have no experience working with code of programming language.</p>
<p>I'm really good at math and in general, things come easy for me.</p>
<p>My school does not offer any computer science classes and I don't want to take any classes that I would have to pay for online.</p>
<p>Is it feasible to learn enough to get a 5 on the AP CS exam in a year or so, by entirely teaching myself? Should I go straight into learning Java or should I learn another language first, i.e. Python or C? What is the best way to go about doing this (books, websites, etc.)?</p>
<p>I would say that this is definately possible.</p>
<p>I plan on taking AP Computer Science A this year (as a self-study) and I only started teaching myself Java in late November, and I can already get 4s on practice tests.</p>
<p>Nevertheless, the main reason why I was able to learn Java so rapidly is that I am experienced using both TI-BASIC and C (I have known both for about a year and a half). This greatly helped me in my process of learning Java. This does not necessarily mean that you have to learn another programming language before learning Java, I am just trying to say that in order to do good on AP Computer Science, you have to really understand at least one programming language. For me, this language is C, and since C and Java are very similar, knowing both really good stems from the fact that I know one really good. As long as you know Java really good, I would say you would be fine to take AP CS A! :)</p>
<p>Then, I used the Barron’s Review Book for the rest of the stuff I needed.</p>
<p>At this point, I can pull a 4/5 borderline score, and I am hoping to bring that up to a solid 5 by May. :)</p>
<p>Obviously, because you have no programming experience, you will most likely need to go through more chapters in the above textbook to get a better grasp on the programming language. Nevertheless, I think it is a manageable task. Just because of the fact that you are seriously considering self-studying, I can tell that you almost definitely have the skill and ability to learn this stuff!</p>