kylrth asked:

I am a high school student, and I recently listened to the last episode of AAA. Your discussion of Android design techniques got me interested in learning to write apps. I'm looking at a CS degree for college, but for now where should I go to learn?

Great success! For me, nothing is more satisfying than being able to sit down and build something. If you’re anything like me, you’re going to love it.

I think a great place for beginners to start is getting Android studio setup, and running a basic application on your own device or on an emulator. It can get a little complicated, but if you run into problems, Google and StackOverflow will take you pretty far.

Once you get that first app up and running, it’s time to start learning about the meaty stuff. Many Android developers that you run into learned their chops from Mark Murphy. I got my foundations from Reto Meier. Both of them have a fantastic offering for beginners.

If you’re in a book buying mood, you absolutely must have Effective Java. Especially if you have no previous background in development, this book will fell pretty high level. But don’t worry, you’ll be glad you have it when you’re ready for it.

Your CS degree is going to teach you about Algorithms, Design patterns, and the fundamentals of programming, so I don’t think its necessary for you to get any books on that just yet. Your teachers will probably assign these to you anyways.

Lastly, as you probably already know, your best resource will be the internet. There is a fantastic community of Android Developers out there on twitter and Google+, guys like Cyril Mottier, Jake Wharton, Chris Banes, Chet Haase, Roman Nurik, and many, many more, that I’m sure are willing to answer any tweet or email you send.

Whatever you do, have fun, and don’t get too tied to one platform, or one way of thinking. The technological landscape when you graduate will be vastly different from what it is now. The best thing you can do is to keep exploring.