I'm a college student about to graduate, and I would love to get a job in programming. Unfortunately, I chose Information Technology as my major instead of Computer Science which focuses more on programming.

I've been watching video tutorials series on thenewboston.com. The first was about 90 videos on basic java, then another 30 videos on advanced java, and now I'm in the middle of watching the 200 video series on Android Application development. I feel like I am not learning anything. To me, Java went from logic to just memorization. In every video, he imports classes and types out new methods with different parameters, and instead of explaining how things work, he just types and and shows you how to do it.

I know there's always this site: http://developer.android.com/guide/index.html which lists all the classes and methods etc. But is that the way to go? Should I just read through the whole thing and try to memorize everything? I feel overwhelmed being that there are literally thousands of methods. Do programmers memorize things or do they constantly use something for reference?

Is there any good book or guide that will actually teach me Java? I'm curious to know how you guys learned. Thanks!

NO you should be writing your mini projects and that way you will learn basic components by heart and will have some general idea about existence of other components or general packages in API.Watching video or reading books is not enough, you need to practice especially in Android development. If you can not prove you are able to write application and have something on market or at least something publicly accesible like github, you are less likely to get offer or even catch attention

What kind of mini projects can I write?

No video is going to help you code. You have to do this the hard way, struggle to learn. There are no short cuts. What mini projects to code? look for something that can make repetitive tasks easier, automated...play around with reading data from excel files, or whatever type of file and dump it in a table in sql. This should get you started. Its actually very interesting.

What kind of mini projects can I write?

Create small application to:

  • manage your music/video/game/book collection
  • manage your to-do/shopping/note list
  • aggregate news/post from your favourite website/forum
  • look at github/bitbucket and similar open repositories for interesting projects and try help them with fixing bugs, attending to TO-DOs etc

For example, I'm helping with Battlefield 2 - Battlelog application that is on github

But how am I supposed to write all these mini projects without having the how-to knowledge? I agree that practicing is the best way to learn, but there has to be somewhere for me to get information. What's a good source?

Well you said you watched

about 90 videos on basic java, then another 30 videos on advanced java, and now I'm in the middle of watching the 200 video series on Android

surely something stuck on you...
Anyway, every project is about using knowledge we already acumulated and learning or searching out new stuff that we need to add or use. If you cannot get motivated to do above who should then?

I have learned app development mainly working on various projects in the company where I work. My seniors helped me a lot in gaining knowledge about mobile app developmemt. Today, I am associated with various projects where cell phone apps are developed and installed in smart phones such as iPhone, Samsung, Windows Mobile and so on.

There are number of resources like Video, Articles, availibility of Codes and SDK tools and technologies available online where you can lean about application development and implement on your project.