<p>My first CS course was in Racket (which is what Scheme is now called). Some people definitely did complain that we weren’t learning a “practical” language, but it did it really great job of learning the fundamentals in a fun way. Once you understand the logic, learning a new language is not the hard part of CS. So at the early stage, I think it’s most important to learn how to program well, not to immediately jump into a language with the most industry relevance. You’ll have plenty of time for that. It is a lot more encouraging as a programmer to be able to produce something by using a well-designed language like Racket vs. fighting with a less-than-ideal language like PHP.
Java can also be frustrating to begin with because the type system.</p>
<p>I think Python is a good place to start that’s a well-designed, easy to learn language that will teach you fundamentals as well as being somewhat practical and relevant.</p>
<p>You could try [CS50.tv[/url</a>] from Harvard. Or Processing, which is a programming language based on Java but it much more visual based. You can make cool applications or games in Processing much more easily than in Java/Python/almost any other language because it is all visual based.</p>
<p>[url=<a href=“http://processing.org/]Processing.org[/url”>http://processing.org/]Processing.org[/url</a>] - Where to download Processing
<a href=“https://vimeo.com/channels/introcompmedia[/url]”>https://vimeo.com/channels/introcompmedia](<a href=“CS50: Computer Science Courses and Programs from Harvard”>CS50: Computer Science Courses and Programs from Harvard)</a> - Videos to teach Processing and programming in general for the absolute beginner.</p>
<p>College courses are traditionally taught in C++, Python, or Java. However the language itself isn’t important because the beginning classes (intro + data structures & algorithms) focus on the concepts of programming instead of a specific language. How good you are with a specific language depends on how much time you spend coding outside of school. </p>
<p>There are tons of free books online designed towards teaching beginners to program. Read those now so your intro course will be a walk in the park.</p>
<p>Take java if you can.</p>
<p>So I didn’t know anything about Computer Science and was taught Python at MIT for one summer. Now I’m taking Java at my university and I like it. Before this class I was not 100% sure about studying CS or engineering, but I like math/science in general.</p>