Results 1 to 10 of 10
  1. #1
    dawgpwnd is offline Member
    Join Date
    Jan 2011
    Posts
    4
    Rep Power
    0

    Default Java for Software Engineering

    Hey everyone,
    I just had a question about pursuing a career in CSE. I have two friends who are currently software engineers at Amazon and Google, and I was in two beginning Java classes with them but stopped to continue with premed. I wanted to learn programming in my spare time in case med school doesn't work out, so I can get a job programming at a large company as an alternative career. My friends said Java is a good start and I shouldn't have to worry about C++ or anything else.

    Is this true? I do have a degree in Math, so I figured if I learned Java on my own I might be able to get a job as a programmer. If Java is the key here, what is the best way to learn it outside of attending class? I have watched some Youtube videos and been on websites, but it seems as though each person starts with "Hello World" and then takes a different path after that. Is there some sort of checklist for things to know for "Beginner Java," "Intermediate Java," and "Advanced Java?" Thanks everyone!

  2. #2
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,371
    Blog Entries
    1
    Rep Power
    20

    Default

    Yes, Java is a powerful programming language used in those days. But if you really want to learn the concepts on programming and all, Java is not the right choice. Even .Net is not the right choice. C/C++ like low level languages are the one. The things is you can closely work on with the hardware, means that you have to thing about each command before execute related to many aspects, such as free/used memory, hardware, etc. In other words, languages like Java, .Net is kind of a wrapper where that interaction with the hardware and all hidden from the programmer and the language take care of it. I agreed, it's easy to work with, but you never learn such basis.

    Always what you've to do is learn the basis, J2SE will guide you to that. My suggestion is to refer the Suns' official tutorial.

  3. #3
    Debugger is offline Member
    Join Date
    Jan 2011
    Posts
    27
    Rep Power
    0

    Default

    This is the book that all my java programming classes require

    Amazon.com: Introduction to Java Programming, Comprehensive (8th Edition) (9780132130806): Y. Daniel Liang: Books

    I like it and the programs given to go with the chapter are neat little programs

  4. #4
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,371
    Blog Entries
    1
    Rep Power
    20

    Default

    I don't think that OP really worried about selecting a book, if so it could be a long discussion.

  5. #5
    Debugger is offline Member
    Join Date
    Jan 2011
    Posts
    27
    Rep Power
    0

    Default

    "If Java is the key here, what is the best way to learn it outside of attending class?"

    Was just telling him what they have you do in those classes. A lot of which is them telling you to read out of that book and the API and come to class with questions.

  6. #6
    gcalvin is offline Senior Member
    Join Date
    Mar 2010
    Posts
    952
    Rep Power
    5

    Default

    If you're self-disciplined and self-motivated (and it seems like you are) you can audit Stanford's three excellent courses, CS106A, CS106B, and CS107, on YouTube or via video podcast. Course materials are freely available on Stanford's web site -- Google is your friend. CS106A is mostly Java, CS106B is mostly C++, and CS107 covers quite a bit of other things, including assembly. But they're actually computer science courses, not programming language courses. This means they'll do a better job of getting you to think like a programmer.

    You won't have the benefit of the discussion sections that the "real" students have, but that's offset by the fact that you can take the course at your own pace, and you can do the discussion stuff on forums like this one.

    -Gary-

  7. #7
    dawgpwnd is offline Member
    Join Date
    Jan 2011
    Posts
    4
    Rep Power
    0

    Default

    Quote Originally Posted by gcalvin View Post
    If you're self-disciplined and self-motivated (and it seems like you are) you can audit Stanford's three excellent courses, CS106A, CS106B, and CS107, on YouTube or via video podcast. Course materials are freely available on Stanford's web site -- Google is your friend. CS106A is mostly Java, CS106B is mostly C++, and CS107 covers quite a bit of other things, including assembly. But they're actually computer science courses, not programming language courses. This means they'll do a better job of getting you to think like a programmer.

    You won't have the benefit of the discussion sections that the "real" students have, but that's offset by the fact that you can take the course at your own pace, and you can do the discussion stuff on forums like this one.

    -Gary-


    Thanks Gary. I saw the Stanford podcasts as well as a Business Java Programming podcast by U Wisconsin Oshkosh, but never viewed them. I will definitely check them out. Thanks again

  8. #8
    dawgpwnd is offline Member
    Join Date
    Jan 2011
    Posts
    4
    Rep Power
    0

    Default

    Quote Originally Posted by Eranga View Post
    Yes, Java is a powerful programming language used in those days. But if you really want to learn the concepts on programming and all, Java is not the right choice. Even .Net is not the right choice. C/C++ like low level languages are the one. The things is you can closely work on with the hardware, means that you have to thing about each command before execute related to many aspects, such as free/used memory, hardware, etc. In other words, languages like Java, .Net is kind of a wrapper where that interaction with the hardware and all hidden from the programmer and the language take care of it. I agreed, it's easy to work with, but you never learn such basis.

    Always what you've to do is learn the basis, J2SE will guide you to that. My suggestion is to refer the Suns' official tutorial.

    Hmm interesting. So you're saying to start with C instead? Would that be something I can learn after I relearn basic/intermediate Java?

  9. #9
    gcalvin is offline Senior Member
    Join Date
    Mar 2010
    Posts
    952
    Rep Power
    5

    Default

    Quote Originally Posted by dawgpwnd View Post
    Hmm interesting. So you're saying to start with C instead? Would that be something I can learn after I relearn basic/intermediate Java?
    Yes, and that's basically the Stanford approach. Start with Java (actually, with some "pre-Java" in CS106A), then move on to C++ (similar in many respects to Java, but introducing pointers and becoming more aware of memory, hardware, and algorithms), then the real low-level stuff in CS107.

    Seems to me that no matter where you start, you're not really going to understand the high-level stuff until you know the low-level stuff, and a lot of the low-level stuff won't make sense without a grounding in the high-level stuff. Just plan on going through all of it more than once, because you will anyway. If you learn some Java first, then look at C and assembly, then things in Java will start to make more sense than they did the first time.

    To me, there's a sort of tension between wanting to understand everything thoroughly, and having to accept that I don't understand some things, but I can use them anyway by following good examples. I still want to have that curiosity and desire to grasp it all, but I don't want to let that paralyze me and keep me from accomplishing things in the meantime. So every day something clicks into place and I find I really understand something I've been doing for years.

    -Gary-

  10. #10
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,371
    Blog Entries
    1
    Rep Power
    20

    Default

    Thumbs up for gcalvins' comment.

    I started with C/C++ and had a chance to learn and closely work with the hardware and memory management. That is help a lot for me to understand lots of concepts.

Similar Threads

  1. Replies: 0
    Last Post: 06-19-2010, 09:11 PM
  2. Reverse Engineering in Eclipse
    By novice in forum New To Java
    Replies: 2
    Last Post: 05-31-2010, 06:17 PM
  3. Replies: 0
    Last Post: 01-15-2010, 08:16 AM
  4. Replies: 9
    Last Post: 10-18-2008, 05:31 PM
  5. inverse engineering
    By Ed in forum JDBC
    Replies: 2
    Last Post: 07-02-2007, 08:57 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •