<p>So, I choose comp eng as my major with no prior experience.</p>
<p>I want to start learning before I start school so I won't be TOO far behind. I looked at UCSD's courses and it begins with Java.</p>
<p>So, what are some good books to study from? I don't really want to buy a ~$100 textbook because they're way too expensive. Some of the ones I saw on Amazon are the for Dummies or the Head First; can someone recommend some good beginner books?</p>
<p>If there’s one called “weekend crash course”, I used the one for c++ to get going when I was in middle school… easy, but containing all the material you need to get started.</p>
<p>Head First is an awesome java book, easy to read (not very cheap) but its more comprehensive than the online tutorials for something to physically work through. I self taught myself java as well…before I decided to do ChemE anyway.</p>
<p>Some universities have subscriptions to computer science textbooks that you just read from your web browser. This can save money in that you don’t have to purchase textbooks.</p>
<p>before getting into java programming learn the elements of object orientated programming first. it will make learning java easier and lays the foundations for all programming languages you will learn.</p>
<p>My son has no programming experience. I am worried that he will be behind when he gets to college. He wants to do biomedical engineering, with a computer emphasis.</p>
<p>Should he try to learn JAVA and C, with however many pluses, before going to college, or do they assume everyone has no engineering experience?</p>
<p>I’ve looked at local colleges, and there are none. Louisiana is 47th in the country for techn jobs for a reason. </p>
<p>Any recommendations on books, tutorials, online courses, would be much appreciated.</p>
<p>He will take Calculus AB next year. Should he wait to do self studying after that, or do you need to know a lot of Calculus to get programming?</p>
<p>I think buying books is the wrong way to go. The computer book industry is about dead. While some programmers still like books, most programmers today search online for code snippets and utilize them.</p>
<p>The best way to learn how to program is to program. Reading only goes so far, and when you program you see your creation in action and you learn via experience. When you learn via experience, you will remember what you learn, because usually you learned it via solving a problem.</p>
<p>C is really hard to learn as a first languafe, but it really can be a good place to start. My first language was java, but I prefer C. If I was just starting out I would read this</p>
<p>When I was first learning to program, I did it out of a book, and looking back on it I wouldn’t have had it any other way. I was young at the time, and the step-by-step explanations and examples gave me a springboard into programming. I agree that once you have the basics - very, very basic skills - it’s easier to learn more about a language by just practicing and looking up code snippets. Also, once you have a fair amount of experience with one language, it’s possible to learn other languages by running through online tutorials. But I don’t think it’s good to start this way…</p>
<p>I would recommend an imperative (and possible object-oriented), rather than a logical or functional programming language to start with. The MIT computer programming thing is nice, but they only start with Scheme to make sure everybody is starting on the same page. Most places you may go to college, you’re more likely to start with C, C++, Java, etc.</p>
<p>Pascal is an old, but still good, language to learn how to program with. C and C++ are a little on the harder side, and Java is only a little better. Visual Basic might be a nice one to start with, as its syntax is a little relaxed. Avoid FORTRAN, COBOL, etc.</p>
<p>Dr. Horse, I’m going to disagree. Programming books are probably dying out but he wants to be a computer science major not a programming major. You can learn a lot about programming from various tutorials on the internet but those will not be a substitute for a proper introduction to computer science. (Though I have doubts about Head First Java doing that either.)</p>
<p>A proper introduction to computer science will discuss things like algorithm running time, big-Oh notation, recursion (extremely important from an algorithms perspective, but probably not really used so much in day to day programming), various object oriented tools like proper uses of interfaces, inheritance, polymorphism and etc… These are important topics but if you’re just self teaching yourself programming from a tutorial you’re likely to side step them because there is nothing you can’t do without them and these aren’t always easy concepts. Following a well put together book can really drive home the need for these things, and can take detours into theory of computing rather than just being a recipe book.</p>
<p>There is a need to understand computing theory, the math, etc… (Not because they are useful in the “real world” but because these are global concepts that’ll apply to everything useful in the “real world”. Which is the purpose of University, not to be a trade school.)</p>
<p>I think Java is a good place to start programming.</p>