Advice for studying for Java Programmer 1

Stillie

Expert Member
Joined
Dec 10, 2009
Messages
3,216
Reaction score
308
Location
Cape Town
Hi all,

Please could i get advice on studying a language? How did you do it? Do you go through the whole book and try things as they go or do you study it like history or something?

Im starting this today :D

Thanks
 
I start off with a basic app, then increase the complexity exponentially. That way i start off with easy syntax and land up in more of the obscure domain. But thats how I do it anyways.
 
I did a correspondence course many years ago. You could do it yourself with a decent book and online resources like javaranch, which helped a lot. It's practical so definitely code as you go along and play around with changing things to see what happens
 
I start off with a basic app, then increase the complexity exponentially. That way i start off with easy syntax and land up in more of the obscure domain. But thats how I do it anyways.

I have been using Java in my past year and half of android dev learning as i go so i have a basic understanding, just want the cert now
 
Start with the basics and do it properly, study the basics and start experimenting before moving on. Do not attempt to dive into all the theory at once, don't try to maximize object orientation from the start.
 
I have been using Java in my past year and half of android dev learning as i go so i have a basic understanding, just want the cert now
The only way you'll ever get better at programming is to write code. In general; just ignore the temptation to write GUI apps (Android, Desktop, etc.) -- focus primarily on writing code that runs at the command prompt; the GUI stuff will come later.

As for the certification; download a list of the required topics, and set up a plan to learn this -- as always the only way to become proficient at this, is to write a lot of code that incorporates these topics.

Certification alone isn't going to make you a good programmer; that requires a lot more coding and study:
  • Practice typical programming problems: start with basic ones and progressively increase the difficulty)
  • Study and recreate common algorithms and data structures
  • Study and implement the most common GoF (Gang of Four) Object Oriented Programming(OOP) patterns
  • Java 8 has introduced quite a bit of new syntax and techniques stemming from Functional Programming(FP); Study and implement solutions using this.

Note:
The Java 9 and beyond roadmap is focusing quite a bit on adding even more Functional Programming features, so the sooner you become acquainted with this the better (I'd even prioritise this over OOP).
 
Last edited:
[)roi(];18764716 said:
The only way you'll ever get better at programming is to write code. In general; just ignore the temptation to write GUI apps (Android, Desktop, etc.) -- focus primarily on writing code that runs at the command prompt; the GUI stuff will come later.

As for the certification; download a list of the required topics, and set up a plan to learn this -- as always the only way to become proficient at this, is to write a lot of code that incorporates these topics.

Certification alone isn't going to make you a good programmer; that requires a lot more coding and study:
  • Practice typical programming problems: start with basic ones and progressively increase the difficulty)
  • Study and recreate common algorithms and data structures
  • Study and implement the most common GoF (Gang of Four) Object Oriented Programming(OOP) patterns
  • Java 8 has introduced quite a bit of new syntax and techniques stemming from Functional Programming(FP); Study and implement solutions using this.

Note:
The Java 9 and beyond roadmap is focusing quite a bit on adding even more Functional Programming features, so the sooner you become acquainted with this the better (I'd even prioritise this over OOP).

did not know about the GOF

Thanks for this
 
im guessing not using an IDE is the way to go when learning?
Nope, IDEs are fine; just avoid all the GUI parts until you've "mastered" the language and concepts; leave GUI until last.

/Edit re IDEs: Also avoid any of the IDEs syntax helpers / code generators. You'll absorb more my typing everything.

Have you btw picked the IDE?
 
Last edited:
[)roi(];18764998 said:
Nope, IDEs are fine; just avoid all the GUI parts until you've "mastered" the language and concepts; leave GUI until last.

yea i dont intend on doing GUI till i have completed this course and the OCP
 
[)roi(];18764998 said:
Nope, IDEs are fine; just avoid all the GUI parts until you've "mastered" the language and concepts; leave GUI until last.

/Edit re IDEs: Also avoid any of the IDEs syntax helpers / code generators. You'll absorb more my typing everything.

Have you btw picked the IDE?
Any IDE you would recommend?
 
[)roi(];18764998 said:
Nope, IDEs are fine; just avoid all the GUI parts until you've "mastered" the language and concepts; leave GUI until last.

/Edit re IDEs: Also avoid any of the IDEs syntax helpers / code generators. You'll absorb more my typing everything.

Have you btw picked the IDE?

I have been working with Android Studio (for android dev side - duh) so i am quite familiar with IntelliJ style of things, so for Java i will stick with that.

But when it comes to learning Java, im using TextWrangler on Mac and Notepad++ on Windows

Have you got any other ideas (besides eclipse)
 
i have written a ton of code already but all related to android, just need to get into the depths of java code and write a flicktons of that code :crylaugh:

If you are doing Android ... don't you already know Java ?
 
I have been working with Android Studio (for android dev side - duh) so i am quite familiar with IntelliJ style of things, so for Java i will stick with that.

But when it comes to learning Java, im using TextWrangler on Mac and Notepad++ on Windows

Have you got any other ideas (besides eclipse)
Sublime Text 3 is general goto on the Mac for a quick edit or once off coding. It's very extensible, including syntax highlighting, code completion, build/debug and it can easily be wired up with the terminal.

However for anything more extensive I generally switch over to Eclipse, but I'm just as comfortable in Netbeans, Android Studio, IntelliJ, Xcode, ... more typically I usually just fit it with what my clients are using.

You may also consider installing Dash, great for documentation..
 
Top
Sign up to the MyBroadband newsletter
X