<p>I'm taking AP CS next year, and I'm wondering what would be the best way to prepare for the course over the summer considering I have very little programming experience. Any and all advice is appreciated.</p>
<p>This class seems interesting, I’m not sure what to do to study, but I’m guessing looking at the AP review books for it… maybe. I have the same dilemma.</p>
<p>You really can’t prepare for it unless you want to start learning it.</p>
<p>^ Isn’t that pretty much the same thing? I’m wondering how to start learning the material… I don’t know exactly where to start.</p>
<p>Buy a Java book + AP CS prep book (Barron’s).
Contact me if you need help with anything.</p>
<p>google programs you can try out at home, but if you’re tkaing a class you should be fine</p>
<p>My theory about AP classes is that all of them can be really easy or really hard, even infamous things like Calc BC and Physics C. It really all depends on your teacher. If you have a good teacher, your class can seem like a piece of cake. CSAP was really easy because we had in my opinion, the best teacher in the school. He was great at teaching, and was also a master at CS, being hired still to help businesses with their networks and computers. He really was a genius, and a nice guy at that. So if you have a good teacher, then you’re good. But if not, be prepared to do a fair share of self studying. If you’ve had previous CS classes, it’ll be easier, and if you haven’t, just study what you don’t understand like any other class. Although I still think CSAP is just an easy AP class, even if you don’t have natural computing talent.</p>
<p>Certainly you could begin by self-study of Java in general, or the APCS curriculum in particular, if you like. The Java compilers are free for download, and there are plenty of free development environments for download as well. (If you happen to know what environment your school uses, that would be an added bonus.)</p>
<p>On the other hand, any exposure you get to programming or algorithmic development, in any language, would certainly help. You might consider playing around in some environments like Scratch ([Scratch</a> | Home | imagine, program, share](<a href=“http://scratch.mit.edu%5DScratch”>http://scratch.mit.edu)) or Alice ([Alice.org](<a href=“http://www.alice.org%5DAlice.org%5B/url%5D”>http://www.alice.org)</a>), which are programming environments that use custom graphical languages in order to build animations. It’s not programming in Java, but it can be a nice transition into Java programming.</p>
<p>Don’t start with a Barron’s book; use one after you know everything, and then use it to review. I used [CSE</a> 142, Autumn 2011](<a href=“http://www.cs.washington.edu/education/courses/cse142/11au/lectures.shtml]CSE”>CSE 142, Autumn 2011) Though some stuff you will not need, it will help you understand stuffs. Find something and learn.</p>
<p>Check out thenewboston’s (thenewboston - YouTube) programming tutorials on Java. They are SUPER helpful for getting the basics down. I’d also recommend Barrons for teaching yourself the material, and Be Prepared for the APCS Exam by the Litvins for practice problems/tests.</p>
<p>mathrom: I agree with 5minutes thenewboston is great. I would also recommend [Computer</a> Science | Video Courses on Academic Earth](<a href=“http://www.academicearth.org/subjects/computerscience/university/]Computer”>http://www.academicearth.org/subjects/computerscience/university/) and [Free</a> Video Lectures, Online Courses and tutorials from top colleges, universities](<a href=“http://freevideolectures.com/]Free”>http://freevideolectures.com/) as great resources. Academicearth has Stanford’s intro to Java class. I followed that a few years back and got a 5 without a class. The Stanford class also has a nice transition into Java with a pseudo language at the beginning of the class. The class also helped me get used to eclipse (great IDE) for Java. Not to mention academicearth and freevideolectures has many more advanced courses so you can learn some of the really neat applications of CS before you go to college. (Machine Learning by Andrew Ng was favorite)</p>