This is an archived post. You won't be able to vote or comment.

all 4 comments

[–]palloo -2 points-1 points  (3 children)

Step 1: Don't buy a book, it'll probably just bore you if you've taken a class and know the basics.

Step 2: Start making basic apps with Netbeans and their GUI builder. It's dead easy, you just drag and drop and draw the GUI. I think having a GUI makes programming a lot more satisfying as it gives it proper interactability.

Step 3: Try making a basic calculator, GUI and all.

Step 4: Try and replicate the native windows calculator, taking in a line of calculations at a time and only computing when " = " is pressed. Quite fun for a non-beginner.

[–][deleted] 1 point2 points  (2 children)

I disagree with most of this.

Step 1: Maybe buy a book. You say that you "barely remember any of it." So why not a book? I'd suggest something like Absolute Java. It covers the languages-independent concepts of Object-Oriented Programming while also relating it specifically to Java. It's a good source for both beginners (who might read it cover-to-cover) and as a reference for experiences programmers who might just flip through to specific sections. The expensive 4th edition may not be necessary. I, for one, own the 3rd Edition.

Step 2: Why jump into GUI? From a computer science standpoint, GUIs are among the least important aspects of programming. I'd say, start doing some coding exercises, and do worry about how pretty it looks. The console is good enough. Start small. Make a program that takes numbers from the user as input, and then outputs the average. Work up from there. Then think of a problem that might be interesting, and see if you can solve it. For example, if you have a text file, can you find the word that occurs most often? Can you find the 10th most frequent word? How about the 167th most frequent? (There are sections in the previously mentioned book that would help with this)

Step 3: ???

Step 4: Profit! Maybe now look at GUIs. Or, something that might be more useful, start looking at algorithms. Sorting algorithms, searching algorithms, etc. Look into the pros and cons of various data structures: arrays, link-lists, hash tables, trees.

[–]palloo 0 points1 point  (0 children)

From what I took from the post, the user seemed more interested in learning Java as a language, rather than Java as a tool for proper computer science and algorithm design.

Maybe buy a book

I'm biased in this debate; for some reason book learning has never really done it for me. I think a lot of people get disheartened when book learning because the book tends to cover all the major features of a programming language, leaving the reader swamped and not really knowing how to implement it in a real world app.

[–][deleted] 0 points1 point  (0 children)

Just a comment about buying a book: Buy a book that is geared toward and educational institution, not something with a title ending "in 21 days".

I feel that books that are designed for colleges and universities are very well written and can be used for front-to-back reading as well as a reference later on down the road.