aspose file tools*
The moose likes Beginning Java and the fly likes Learning java from the ground up Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Learning java from the ground up" Watch "Learning java from the ground up" New topic
Author

Learning java from the ground up

Ryan Hickman
Ranch Hand

Joined: Oct 13, 2012
Posts: 36
Hello everybody! I am new to java as well as programming. I am finishing my bachelor degree and my friend said he could get me a job doing java software development with him at his work; granted I learn java. Where is a good place to start? If anybody could refer some good easy books to start me on the right path for beginner java and then what I should read or do to further my knowledge to intermediate or master level it would be much appreciated.
Winston Gutkowski
Bartender

Joined: Mar 17, 2011
Posts: 7816
    
  21

Ryan Hickman wrote:Hello everybody! I am new to java as well as programming. I am finishing my bachelor degree and my friend said he could get me a job doing java software development with him at his work; granted I learn java.

Ooof. Well, first thing to know is that it's Java, not java. Some of us oldies are a bit picky about things like that. Also, the language itself is case-sensitive.

Where is a good place to start?

Here.

If anybody could refer some good easy books to start me on the right path for beginner java and then what I should read or do to further my knowledge to intermediate or master level it would be much appreciated.

From what I understand, Head First Java is pretty good. After that, you might want to grab a copy of Effective Java.

However, without wanting to burst your bubble, I'd definitely recommend you to read this article.

Good luck.

Winston


Isn't it funny how there's always time and money enough to do it WRONG?
Articles by Winston can be found here
Ryan Hickman
Ranch Hand

Joined: Oct 13, 2012
Posts: 36
Thank you for your quick reply Winston; I previewed the first book you recommended and it looks like an informative enjoyable read. I also read the web article you sent; I will have a good year and a half before loan repayment begins. Do you think that will be enough time to get to an adequate level where I can perform tasks that are required in a java engineering job? I realize to master anything or become a guru it takes 10 years (or at least 10,000 hours) but it is my wish to get into the job field and by doing the programming daily I will become better. I would not mind passing the SCJP either to prove to employers I have the required skills. Let me know what you think.

-Ryan
Winston Gutkowski
Bartender

Joined: Mar 17, 2011
Posts: 7816
    
  21

Ryan Hickman wrote:I will have a good year and a half before loan repayment begins. Do you think that will be enough time to get to an adequate level where I can perform tasks that are required in a java engineering job?

Hmmm. Well it kind of depends whether your degree has prepared you for the Maths. In general, programming is about logic, not Maths; but in an engineering environment, they may require you to have it to a higher level. Also, it you don't have any exposure to programming languages, it does take a while to learn the discipline (ie, good habits). And that's where 'Effective Java' will help you.

My advice would be to see if you can find an old fart like me to act as a mentor, once you've read the book and the tutorials.

I would not mind passing the SCJP either to prove to employers I have the required skills. Let me know what you think.

As a total greenhorn, it might not be a bad idea (although it does cost quite a bit more these days than it used to); but don't expect it to open vast amounts of doors. Most employers will be looking to see what you can do, rather than how many certs you have; so perhaps a nifty project might be just as good. It's choosing the 'nifty' part that'll be tough though.

Winston
Ryan Hickman
Ranch Hand

Joined: Oct 13, 2012
Posts: 36
Well my bachelor degree is in pre-medical biology and I'm getting a minor in chemistry so courses I took did include a good amount of logic/memorization (organic chemistry, microbiology, physics I & II, human and comparative anatomy, human and comparative physiology, genetics, etc.). The plan is to learn java and make some mobile apps, websites, applications, and show the employers what I am capable of. Probably open a github account to put it all on. It is what my friend did and he said that if I did that I would most likely get hired even without the java certification or computer science degree (even though he got his computer science degree from University of Illinois; one of the best engineering schools in the nation. yet he only got a 2.5 GPA and said he learned most of the stuff on his own). Most likely I will just try to make a popular app and get many followers to subscribe/download it.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1716
    
  14

Check out the free online computer programming courses on Coursera. The introductory progamming courses tend to use Python, which is a great choice for learning OO programming and would give you plenty of transferable skills for working with Java, but which you may feel is a bit of a distraction if you're keen to focus only on Java. There's also an Android course in there, although no start date yet. You can sign up in advance for a course, so that you'll receive an email when it's due to start. I'm doing a Coursera course right now and it's pretty good.

As Winston says, the Oracle/Sun certified Java Programmer certificate isn't worth much in terms of getting a job, but it will give you a clearly defined set of core Java topics to learn in preparation for the exam, which can be a useful way to focus your learning initially. If you get yourself a suitable exam-prep book and put in some work at home, you could probably be ready to pass the exam in a few weeks.

Most people will advise you to start out by programming in a simple text editor and running your programs via the command line, so you can get a feel for how Java works - how it finds your classes and libraries etc. But when that becomes too tedious, you'll probably want to try out an IDE (interactive development environment). The most widely-used choice in Java-land is probably Eclipse, and there is a whole series of video tutorials on Eclipse and Java for total beginners which will give you a quick and easy introduction into working with Eclipse and Java. The videos are a few years old, but all the core features of Eclipse have stayed the same, so they're still very useful.

In terms of learning from books, the Head First books are always a good introduction to any topic e.g. there's also Head First OO Analysis and Design which might well be worth getting hold of, as Java is an object-oriented language (mostly...) after all.

At some point you'll probably need to know something about "Java Enterprise Edition" (JEE), but that's a whole world of pain that can wait until you feel comfortable with programming in Java!

Finally, for background reading on good working practices for software developers, some excellent choices might be "The Pragmatic Programmer" by Andrew Hunt and Dave Thomas, "Clean Code" by Robert C. Martin, and "The Productive Programmer" by Neal Ford.


No more Blub for me, thank you, Vicar.
Ryan Hickman
Ranch Hand

Joined: Oct 13, 2012
Posts: 36
Chris; Coursera is awesome! Are they any more websites like it? I know there are youtube tutorials, and the java sun trail, but besides that I do not know of many more. I am a knowledge junkie and try to find as much material as I can to truly learn the material. I especially like that on Coursera you can get signed certificates by the professors; might be helpful on a resume. I guess I am just really nervous about working with other people that may have been coding their whole lives or have their degrees in computer science. I signed up for the Android programming course and the professor is actually one that teachers the course at University of Illinois Urbana which I find impressive.
amr talaat
Greenhorn

Joined: Sep 02, 2012
Posts: 19
you cant go wrong with newboston youttube channel and bucky roberts who explain java
he is very funny guy

https://www.youtube.com/course?list=ECFE2CE09D83EE3E28&feature=plcp
Ryan Hickman
Ranch Hand

Joined: Oct 13, 2012
Posts: 36
Yeah I've been using Buck's tutorials as well; they are very simple and fun. I think I have a pretty solid foundation setup now: Head first Java, Effective Java, Buck's youtube tutorials, Make a few apps, brush up my skills and take the Java certification tests. Get a job. All within 9 months. Doable?
amr talaat
Greenhorn

Joined: Sep 02, 2012
Posts: 19
its seems that you wont to master java to the higest extend which isnt possible
java is verybig

after mastering the fundumentals there is a sea of other things

object orianted thought process
oop design patterns
data structure
networking
java web application and database
java micro
java games
java image processing
and many many things

Ryan Hickman
Ranch Hand

Joined: Oct 13, 2012
Posts: 36
Well I am just mainly concerned with mastering the essentials for a web development job. I enjoy coding but in reality I need the $$ just like everyone else so I am mainly concerned with just learning what employers want me to know. Which I assume is beginner, intermediate, and Java Enterprise?
amr talaat
Greenhorn

Joined: Sep 02, 2012
Posts: 19
Ryan Hickman wrote:Well I am just mainly concerned with mastering the essentials for a web development job. I enjoy coding but in reality I need the $$ just like everyone else so I am mainly concerned with just learning what employers want me to know. Which I assume is beginner, intermediate, and Java Enterprise?


yes + (oop design patterns which is very helpful for teamwork}
Ryan Hickman
Ranch Hand

Joined: Oct 13, 2012
Posts: 36
So data structure, networking, micro, games, image processing shouldn't really be on my priority list? Just beginner, intermediate, enterprise, object orientation, and web application and data base? Do you think I can get all of this done within 9 months- a year? I feel like beginner and intermediate would be enough to get me a job but object orientation, enterprise, and web application and database are a plus to have.

The place I am applying to wants all of the following:

In depth Java knowledge including core JDK 5+, design patterns, and JSP with JSTL
Knowledge of JavaScript and CSS
Experience working with Spring and Hibernate frameworks
Working knowledge of SOA and REST concepts
Experience working with XML, XPath and XSLT
Database development experience (SQL, PL/SQL, JDBC, data modeling, query tuning, Oracle, PostgreSQL or other RDMS) with ORM
Comfortable working with Apache Tomcat or other application servers in Linux and Windows development environments
Understanding application development for multi-datacenter clustered server environment

Experience with modern IDE (IntelliJ IDEA, Eclipse, NetBeans)
Ability to work in test driven development environment
Experience with JUnit, ANT, and version control systems(preferably SVN)
Mobile App Development is a plus (iPhone, iPad, Android)
Good team player that works well in agile environment
Excellent communication skills
Self starter with ability to work independently with minimal supervision
Interest in new and emerging technologies
Good problem solver with creative and analytical mind

I have no idea what the underlined parts mean or if they are essential. I feel like if I am a good Java coder and can make an app from start to finish that would be enough. Let me know your thoughts.
amr talaat
Greenhorn

Joined: Sep 02, 2012
Posts: 19
Ryan Hickman wrote:So data structure, networking, micro, games, image processing shouldn't really be on my priority list? Just beginner, intermediate, enterprise, object orientation, and web application and data base? Do you think I can get all of this done within 9 months- a year? I feel like beginner and intermediate would be enough to get me a job but object orientation, enterprise, and web application and database are a plus to have.

The place I am applying to wants all of the following:

In depth Java knowledge including core JDK 5+, design patterns, and JSP with JSTL
Knowledge of JavaScript and CSS
Experience working with Spring and Hibernate frameworks
Working knowledge of SOA and REST concepts
Experience working with XML, XPath and XSLT
Database development experience (SQL, PL/SQL, JDBC, data modeling, query tuning, Oracle, PostgreSQL or other RDMS) with ORM
Comfortable working with Apache Tomcat or other application servers in Linux and Windows development environments
Understanding application development for multi-datacenter clustered server environment

Experience with modern IDE (IntelliJ IDEA, Eclipse, NetBeans)
Ability to work in test driven development environment
Experience with JUnit, ANT, and version control systems(preferably SVN)
Mobile App Development is a plus (iPhone, iPad, Android)
Good team player that works well in agile environment
Excellent communication skills
Self starter with ability to work independently with minimal supervision
Interest in new and emerging technologies
Good problem solver with creative and analytical mind

I have no idea what the underlined parts mean or if they are essential. I feel like if I am a good Java coder and can make an app from start to finish that would be enough. Let me know your thoughts.



lol iam sure that this company pay very very well
gl with this but for me this take 2 years
maybe you can do better than me
Ryan Hickman
Ranch Hand

Joined: Oct 13, 2012
Posts: 36
Yeah they started my buddy out at 75k annually with 2 weeks vacation. He is only 21 years old. I kinda just figured alot of that would come hand in hand with learning java. He told me the only thing they really care about is if you are a good coder and a hard worker. He told me to learn java and to make a few applications and he could probably get me in. Should I believe him? I mean; everything underlined above seems pretty intimidating.
Ryan Hickman
Ranch Hand

Joined: Oct 13, 2012
Posts: 36
and it's ok if it takes me two years. I have time. I still have another year before I even get my bachelor degree. I can always just get proficient enough to get an internship somewhere and work my way up from there.
Ryan Hickman
Ranch Hand

Joined: Oct 13, 2012
Posts: 36
Made a decision tonight, might just do an extra year of school and get my major in computer science....I figure it will probably take me a year and a half to learn java and everything (make a few apps, get experience, an internship maybe) so I myaswell just get a major in computer science in that year and a half. How hard are the courses for those of you who majored in computer science? Will it be easy for me to study java on the side and make applications + possibly do internships?
Wendy Gibbons
Bartender

Joined: Oct 21, 2008
Posts: 1107

I can't talk about "majoring" in computer science as in the UK your degree is all on one subject (well it was when I went) but the degree was very useful it taught me that theory i would never bother to sit down and read myself.

Make sure you do a module on design patterns (they must exist now surely) and any good degree would require you to be able to write a program (even my friends engineering degrees required that) so learning java would be part of the course.

And why not get your friend to get you an internship with his company so when you finished your course they woudl hopefully already love you and offer you a job straight away.

But remember that the workplace won't match what you are taught 1 little bit, as you are taught the ideal and you have to temper your expectations and try to suggest improvements bit by bit.
Ryan Hickman
Ranch Hand

Joined: Oct 13, 2012
Posts: 36
Well I wouldn't be able to ask him for an internship until I know a decent amount; as of now I am still starting from the ground up. Plus if I did get an internship I would only be able to go there in the summer since my degree would be away from home.
Wendy Gibbons
Bartender

Joined: Oct 21, 2008
Posts: 1107

Ryan Hickman wrote:Well I wouldn't be able to ask him for an internship until I know a decent amount; as of now I am still starting from the ground up. Plus if I did get an internship I would only be able to go there in the summer since my degree would be away from home.


Sumer jobs are good
Winston Gutkowski
Bartender

Joined: Mar 17, 2011
Posts: 7816
    
  21

Wendy Gibbons wrote:Sumer jobs are good

Also old-fashioned ("sumer is icumen in; lhude sing cuccu").

Winston
Wendy Gibbons
Bartender

Joined: Oct 21, 2008
Posts: 1107

Winston Gutkowski wrote:
Wendy Gibbons wrote:Sumer jobs are good

Also old-fashioned ("sumer is icumen in; lhude sing cuccu").

Winston


I will come back when I have a pithy one liner , it will encompass age experience and that classics never fade. I sam just giving you a description in case I never think of the pithy bit.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1716
    
  14

Wendy Gibbons wrote:I will come back when I have a pithy one liner , it will encompass age experience and that classics never fade. I am just giving you a description in case I never think of the pithy bit.

Too late, Wendy. Winston's already taken the pith.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 38896
    
  23
Ryan Hickman wrote:and it's ok if it takes me two years. . . .
Two years is very optimistic. Look at this link.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Learning java from the ground up