<p>Self-learning? <em>pales in fear</em> Hiring a friend/knowledgeable parent of friend/tutor? * Except isn't that slightly expensive? *</p>
<p>For those of you, then, who are already beasts at this kind of stuff, what would you recommend for someone with basically zero knowledge? I realize it's likely difficult, so I don't expect to learn completely over the summer, but just so that I'll get some foundational expertise for next year...? :)</p>
<p>There are like 5805604586048604860458 million free aids on the internet. If you’re doing this for the AP exam, then learn what you need. If not, choose a computer language first.</p>
<p>Java, Python, Pascal, C++, Visual Basic, There are tons.</p>
<p>I took a course at the local CC. You could always get a textbook. They go at a reasonable pace and assume you know nothing. Like MIThopeful16 said, there are a bunch of tutorials online as well…</p>
<p>There are shelves of books available for learning new languages. Many are written with a lesson plan in mind, but the more in-depth ones will often be a bit less structured. Not to mention e-books and forums (these are actually great resources, more than one might initially think).</p>
<p>Nevertheless, I’d advise that you learn a base language under another mentor’s guidance. Learning good coding habits and syntax can’t really be self-taught, and it’s worth it to be able to have someone answer your questions. After you become relatively proficient in one language, learning others becomes much easier. Instead of a personal tutor, you could supplement your books by taking advantage of programming-centered forums. I actually learned a lot more on my own than with my teacher, although he did a good job of introducing me to the field and enforcing basic programming habits.</p>
<p>Learning a programming language on your own is actually much simpler than learning a foreign language, or self-studying a math course, imo. Many professionals are proficient in two or more languages, and capable enough in several more.</p>
<p>Most people start out with Java, C++, or sometimes Python. I recommend C++. Python is also a great language to learn, but it might lead to poor programming habits should you ever cross over to another platform. Java is way too verbose and doesn’t employ the same raw power of C++. If you want to choose for yourself though, look at “Hello World!” examples for each language, and choose the one that looks the most understandable.</p>
<p>Anyway, first, pick a language. Some people above made some suggestions, and you could also look at Ruby on Rails (I don’t know anything about it, but I noticed a lot of jobs have that on a list of qualifications, and no one mentioned it previously, so I’m throwing it out there). Second, learn how to do something with it (you can find tutorials all over the Internet, and there are thousands of books for every language…) You should be able to do math with it, create function calls, be able to read from and write to files, and use vectors/arrays. Then, find problems or assignments wherever you can to try to solve. The place I mention in the thread I posted at the top of this message seems good.</p>
<p>For what it’s worth on picking a language, I took 1 semester of C++, and I’m trying to learn Python right now. Those two seemed to be the most demanded languages to what I saw on job postings, though I saw plenty wanting VBA, Java, C/C#, and Ruby on Rails.</p>
<p>And if you look at programming job listings, the requirements for languages usually includes python. Well actually they almost never include python, but yeah.</p>