Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Java Objects Harnessing the Power of Objects Method Overloading

Christopher Mlalazi
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Christopher Mlalazi
Front End Web Development Techdegree Graduate 17,305 Points

Too much information

I really shouldn't be complaining, I am new to java and suddenly just as in the jQuery tutorial, I am beginning to have this sense that there is too much information being taught here and how am I am I expected to remember all this. I am following the tutorials and so far have been doing not so badly in the code challenges, but I still keep getting this feeling that at the end of this tutorial I wont remember anything. This is funny,I am coding along very well but at some point I seem to even forget what the code is for, what this Pez thing is. Does anyone have simillar thoughts?

Mohammad Abdur Rahman
Mohammad Abdur Rahman
1,986 Points

exactly what I was feeling, but there is no shortcut. I believe everyone goes through this until you become good in programming. Anyway if you found any good resources to learn Java please share with others..

Craig Dennis
Craig Dennis
Treehouse Teacher

Chase that question. It's okay to watch the videos again. You can't really do that in classes, but treat this like a book. If you find something that you don't recall, go back and find it.

I want you to understand what we are doing not playing Simon Says with me ;)

We are experimenting with some new concepts for workshops that should help reinforce certain aspects of what you just learned, stay tuned!

Thank you for bringing this up, I love seeing the responses and the community coming together to answer these questions.

There is a lot. It's verbose, but it is going in there I promise. It'll start snapping.

Try answering some questions from the Java Basics course, how'd it feel? That's a great way to do a self assessment of how things are sticking!

Thanks for your feedback and let me know if I can help on anything specifically!

me too.... I always forget

I agree, but try and google everything as you go along. If you think you dont understand something, just google it and see how much of the text you can understand. If you get all of it, you understood the material. If not, then you need to some extra research. I sometimes need to replay a sentence 20 times to understand what Craig says.

12 Answers

Sergio Cruz
Sergio Cruz
15,550 Points

It gets easier the more languages you learn. As people have said you should have other resources open to grasp things that might have not been explained in detail. I felt the same way when I learned JavaScript here a few years ago (first language). But now I think that they really can't make it any slower because even watching this at 2x speed it can feel a bit slow and too basic. So I guess they try to find a balance where the course feels acceptable for people with varying degrees of experience.

Joshua Morillo
Joshua Morillo
2,562 Points

I'm learning Java as well and I agree that sometimes the information can be a bit too much. I think the best way is to use multiple (reputable) sources to learn Java, or any programming language.

I use treehouse, Beginning programming with java for dummies by Barry Burd, Java for kids by Yakov Fain, Head First Java, Stanfords Programming Methodology (free on youtube and itunes), project greenfoot, and the learn programming sub reddit. I'm a slow learner and need things to be explained multiple ways.

When I don't understand something Craig says, I search the treehouse discussions, if I don't understand it there, I go to the dummies book, if I still don't get it I go to the next source ect. I keep doing that until I eventually figure out what I need to know. Worse case scenario and I post a question on here or on reddit and I get the answer. I also take a lot of hand written notes. Hope this helps. Good luck with your learning!

Alex Blake
Alex Blake
640 Points

A few things that you might consider doing to help remember...

  1. Write things that you don't understand down on a notepad. Later on, google it for additional info, examples and explainers.
  2. Turn on subtitles (closed captions) on the video. This will allow your brain to absorb information in audio and visual. More chances that you will remember it.
  3. Even if you don't understand it, don't skip typing it. Keep writing the code that Craig types. You're building up your "muscle memory" while getting used to writing in code.
  4. Read questions that other people ask and analyze their code. Try to find their mistakes.

Hope this helps!

Hello, there is no such thing as too much info ... and you can't memorize coding.

You have to use it to 'know it'... please think of Java as a language ... like ... say Spanish. Let say you took Spanish in HS and maybe in college, you got a job as a business analyst and you spent the last 15 yrs communicating with English speaking folks ... now tell me, how much Spanish do you remember today?

Now, your company assigned you to the office located in Mexico city, and you are now suddenly have a need to communicate in Spanish. I am pretty sure you will fall back on your HS/College knowledge and you will go online for references on how to order food, call taxi, reserve a room ... and so on. Give it a month or two, and you will be speaking Spanish OK. Give it a year or two and you will be fluent speaking Spanish .

In the course of my career, I wrote codes in Basic, FORTRAN, C, C++, C#, Java, SQL, HTML, Python ... and so on. I will be darn lying to you if I say that I can write a C++ code eight now ... I have not done C++ in years. But I can tell you this, give me 2-3 weeks and I can crank up a decent C++ code . I still have few C++ books on my shelf :-) and the is the internet to help.

Hope this helps ... and keep learning, and using the knowledge you gain. You can't use it all at one time,.... but each programming language is a tool that you can use when there is a calling for it.

If this answers your question, please mark the question as answered.

Christopher Mlalazi
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Christopher Mlalazi
Front End Web Development Techdegree Graduate 17,305 Points

Thanks Mark for the explanation, but still that does not stop me from thinking that I need a much more simpler easing into java basics. I guess the way we absorb introductory information differs from person to person. I keep thinking that is there no way to teach basics without doing it inside a construction like this Pez dispenser where things are explained individually in ABC format before we see them popping up mixed in a comprehensve code story. These are my private thoughts and I have taken a peek at java basics in Codecademy and I like the way it's broken down there in the first part. After finishing this track I will head over there, then w3schools, and maybe when I come back here again later I won't fill like I leapt into the deep end first. This is what I did when jQuery got tough. But bottom is that I LOVE Treehouse!

What I find to be the biggest barrier is all the extra stuff thrown into the Java courses. I guess "barrier" is a bad word for what I mean, so I think that saying "less efficient" and less conducive to learning is way better. I learn rather swiftly, and things tend to stick pretty easily for me, however, right now I am on my THIRD time going through this Java course. So far, I have never made it past this Java Objects section (the second section in the track).

In my opinion, Craig Dennis is a dang fine instructor, I have to admit, out of all the courses and tracks that I have dablled with on here, I find that I learn more from his method of instructing and speaking than the other instructors. The part that has been slowing me down is adding in all the stuff about JSHELL and REPL.

I am taking the Java track to learn Java. While JSHELL and REPL stuff are tools, and can be darn good ones, I find that bouncing from Java over to JSHELL (just or the sake of showing me what JSHELL can do, and to test logic) has a negative impact on my learning, and the speed at which I am learning things.

I can definitely see how JSHELL can be an effective tool, but I would be way better off with having a separate course or workshop that deals specifically with that instead of trying to learn it in the middle of trying to learn Java. I think that having all the ins and outs about JSHELL taught in a separate course, and having it as a "prerequisite" to starting the Java track courses would be beneficial to everyone. That way, when we dive into learning Java and he says open up JSHELL we already know what it is and how it works, and it would be easy to follow along testing the logic. Especially since, from what I understand, a lot of programmers using IDEs and such don't really have a need for JSHELL, why include it in the main part of the Java subject matter?

On this round of going through the Java stuff, I have been doing a few things different. When there is something new, I try to make use of it in some other side project of mine just to practice. Another is when he brings up JSHELL, I just sit back and watch. I can follow along in my head when he is using JSHELL, but ultimately, I just avoid using it and stick with trying to learn the Java itself.

Just my $0.02

Craig Dennis
Craig Dennis
Treehouse Teacher

Thank you for your 2 cents Michael! (And thanks for tagging me I had missed this one!)

I want to point out that JShell is new to Java 9, which is not yet released. Many other languages have REPLs, they are huge for productivity. Python and Ruby devs use them daily. It's a wonderful way to explore what you want to try without spinning up a server to get things in the proper state. Can literally save you hours of time over a week.

It will be big in Java, I am certain of that. IDEs will embed it. IntelliJ already has a Groovy REPL.

Right now there is a split between content, I refreshed Java Objects and Java Data Structures uses an open source tool which is similar in concept called java-repl.

I wanted to encourage exploration, but to get there you need your tools. Historically, this has been next to impossible in Java land.

I agree it is a bit of a what comes first, the chicken or egg problem. I can't show off the power of the REPL without you knowing how to create an object. I appreciate your approach, that might be enough, just watch it.

There's not a lot to the JShell, but after you feel comfortable you will for more free to just break stuff in there. It's perfect for "I wonder...." and then test your hypothesis.

I think you are a dang fine student too!

Thanks for the feedback!

Nathan Quirk
Nathan Quirk
3,679 Points

I completely agree with this. I am working through courses here and with other IDE's as part of my Comp Sci curriculum in college, and it's difficult enough to keep track of all that without JShell too.

Ivar-Endrik Eiche
Ivar-Endrik Eiche
4,582 Points

I feel the same way. When I took Javascript course, there were challenges where you had to use the provided information to come up with your own separate program. I think that this is the best way to learn - mentor gives us basic information how the program should work and we try if we can come up with the solution on our own. As said by Craig Dennis - failure is the best teacher. Maybe it's possible to add some challenges or workshops to this course where we can make our way to the solution? And if we fail, we can check the teacher's solution.

Sometimes I feel like this. I get really anxious and things start to slip. I usually try to take regular breaks during the video lectures so I am not at a desk all day.

Christopher Mlalazi
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Christopher Mlalazi
Front End Web Development Techdegree Graduate 17,305 Points

I went away for two months to learn basic java from other sources, also some textbooks, now I am back and so far so good things seem understandable and I am enjoying the tutorials and exercises. I sure hope they wont get tough again. From here I am heading for Android, and then after Android back to intermediate Java until I learn enough to write my own programs. Journey is already planned and I am looking forward to everything.

Christopher Mlalazi
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Christopher Mlalazi
Front End Web Development Techdegree Graduate 17,305 Points

Mohammad Abdur Rahman right now I am making good progress in the Oracle tutorials where they explain almost all basics and definitions of terms. Will see when I go back to Treehouse track if it's any help. Have also completed Codecademy track. I am leaving no stone unturned! ??

Craig Dennis
Craig Dennis
Treehouse Teacher

Always be learning! Keep me posted!

I would check out some resources on learning to learn. Knowledge of the "Learning Pyramid" should help you become a better learner. Try to review what you have covered a few hours later as there is a better chance you retain the information, than if you review the following day.