Self Studying Java

<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>Just look at Sun’s Java tutorial and do some personal projects.</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>This is cheap (free) and pretty good:</p>

<p>[The</a> Java™ Tutorials](<a href=“The Java™ Tutorials”>The Java™ Tutorials)</p>

<p>I would find out what book they use at UCSD and just get that since you’ll have to get it next year anyway. Also buy textbooks used – cheaper.</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>I like Browns lectures the best, [url=<a href=“http://www.cs.brown.edu/courses/cs015/lecture/]Lectures[/url”>http://www.cs.brown.edu/courses/cs015/lecture/]Lectures[/url</a>]</p>

<p>I think they have the best system for learning OO java in CS1.</p>

<p>The thing is I don’t like to read huge amounts of text off my computer screen. I guess I’ll buy a Head First book used. Thanks</p>

<p>[Amazon.com:</a> Absolute Java (4th Edition): Walter Savitch: Books](<a href=“http://www.amazon.com/Absolute-Java-4th-Walter-Savitch/dp/013608382X/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1238628568&sr=8-1]Amazon.com:”>http://www.amazon.com/Absolute-Java-4th-Walter-Savitch/dp/013608382X/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1238628568&sr=8-1)</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>forgot to mention—</p>

<p>you can also buy an used old edition of the book for like $20. pretty much the same material just updated examples and maybe some extra topics.</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>[Amazon.com:</a> Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science): Harold Abelson, Gerald Jay Sussman: Books](<a href=“http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262011530]Amazon.com:”>http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262011530)</p>

<p>which can be read free here [Structure</a> and Interpretation of Computer Programs](<a href=“http://mitpress.mit.edu/sicp/full-text/book/book.html]Structure”>http://mitpress.mit.edu/sicp/full-text/book/book.html)</p>

<p>Scheme is a really great language to start out with.</p>

<p>C is nice to learn with as you can learn computation along with programming. It is a much tougher approach though.</p>

<p>A series that I particularly like is Harvard’s Intro Programming course which is online.</p>

<p>There is a raging debate on Java vs C. Put me in the C camp.</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>

<p>Also this is an interesting read before buying a programming book :wink: :
[Teach</a> Yourself Programming in Ten Years](<a href=“http://norvig.com/21-days.html]Teach”>Teach Yourself Programming in Ten Years)</p>

<p>(Peter Norvig is a pretty big name in CS)</p>

<p>Georgia Tech: [CS1331</a> Java Resources](<a href=“http://www.cc.gatech.edu/classes/AY2009/cs1331_spring/java.html]CS1331”>http://www.cc.gatech.edu/classes/AY2009/cs1331_spring/java.html)</p>