Thursday, April 28, 2016

Java Course Review

(For the basic review, see last paragraph)

Near the beginning of April I signed up for an account with teamtreehouse.com. I started with the Android development track and enjoyed it. Downloaded Android Studio and was getting used to the instructor's speedy approach to teaching. I found myself however still confused by some of the concepts of how classes could be used, overridden, and imported. Basically anything of the more meaty techniques. He also mentioned that some of the things he discussed was covered in the Java development courses. So I decided to pause my Android venture and try the Java development track.

As of this writing I am almost finished with the course, being about halfway through the last section, which covers creating a GUI. I would rate this course a 4 out of 5. I liked how in the beginning he went slow and I could ubderstand much of what he was talking about and could pass many of the challenges fairly easy. This could also be because much of it was basic. Variable initialization, constructors, data types, etc. I did not like workspaces. Sometimes it would not open correctly and I don't think it mimicked IDE interfaces. So I ended up doing a little research and downloaded Eclipse and used that to write the code and ran the programs through the terminal. Finally one of the last courses was about using an IDE. I really enjoyed this section because it explained how to use IntelliJ IDEA and explained many tools that are included in that IDE as well as many keyboard shortcuts. I can see they prefer IntelliJ products as the Android track uses Android Studio for its lessons.

With that I think it was a good course... so far as I'm not really done yet but just about done. I do think later on in the course the teacher would just type and say what he was typing without much explanation. During the challenges is where it really took a down turn. The objectives really weren't clear as to what they wanted me to do most of the time. I don't think it was just me either because many of the questions posted on the course seemed to be about not understanding what was wanted in the challenges.

So those are my two biggest complaints that could be better on the course, 1) talk a little slower, 2) ask questions in a better way. However my phraseology when I ask questions is usually atrocious so I don't think I can criticize. I loved the course and learned tons. I really want to delve into using it on some applications I want to make. The teacher did an excellent job of teaching how to use Java documentation and IntelliJ IDEA to find how to do something, which is certainly better. Teach how to find answers for yourself instead of just giving the answer. So until next time I will be finishing this course.

Sunday, April 24, 2016

Treehouse

So I've not been posting here, but I have been coding. I was using C++ Institute, but got bored with it. It doesn't use very many real life examples and the tests are very confusing. For instance, in the quizzes you have to answer questions similar to this. You are supposed to find out what this will output, or if it will not compile.

 class X {
    private: 
        int v;
    };
    
    class Y : public X {
        Y() : v(0) {}
    }
    
    int main() {
        Y y;
        cout << y.v;
        return 0;
    }

I know this isn't a super complex problem but I find it very hard to follow the X's and Y's. And all the questions use names like that and  are very hard to follow. I also found the wording in the lessons to be not clear and I don't think they explain the concepts of certain things very well. So although it seems like a good idea, it's not for me. So I tried something different.

Teamtreehouse.com
This seems to be better for me. The videos are very nice. My main complaint is sometimes they go too fast without explaining thoroughly and just say things like, "We're going to type this function here." then they type it. After I type it myself, pause the video, and study the code I just wrote I can follow the logic. So I think it's a good program for learning and I plan on sticking with it. Everyone learns in different ways so someone else may find it better. They also have different teachers for different languages

I think I had the same issue when I was studying my Python book. At first I didn't understand at all what things meant. Then after using it with some of my own programs I wanted to write, I understood concepts such as using different classes and methods.

One thing I like about Treehouse is they teach best practices with the programs. I like the fact of making different methods for basically every task. I can imagine that is a basic concept for programmers, but being self taught it will be helpful as I go to write more programs so as not to make my code too complicated by writing a crazy long method.

I haven't updated this for a while because I've been so busy programming. I think though I may change the format of this and make it some tips I've come across for programming. That way if any coding noob may stumble across this in the internet they can glean things that I found helpful in my quest for more programming knowledge. Or they can just go to stackoverflow.com. I don't know if anyone would find anything on this little blog that can't be found on that website.

And by the way, I've been doing the courses for Android Development and Java.