views:

102

answers:

3

Five years ago I used to program in SAS. Since then I've been doing software QA of various types. Mostly manual (video games + web apps) testing with a tiny bit of automation.

I'd really like to shift careers back into programming. Specifically the Android platform has caught my attention. These are the books I've been reading and working through.

  • Learning Java, Third Edition - O'Reilly
  • Beginning Android 2 - Mark Murphy
  • Hello, Android - Ed Burnette

However, I think I need something that looks at programming from a less language dependent standpoint. Something that takes a bird's eye view if that makes sense.

It's very easy to see how particular functions work, but I'm looking to get a better sense of how all the pieces fit together. How does one split up an app into individual classes and packages? Do I have a method in main that shuffles my deck of cards (object) or does the class deck of cards have a method I can call to shuffle itself?

I think I'm looking for a book on object oriented design?

I've also been working through the tutorials and examples at http://developer.android.com/resources/index.html and also in the three books I've been reading so far.

Maybe I just need to spend more time coding though?

A: 

You might want to read about design patterns. The classic book is Design Patterns by the "gang of four", Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides.

Jim C
Oh god no, please don't scare him with this. Somebody moving from SAS to OO will run screaming for the hills if you had him this. That said, GOF is very useful - but certainly not as a transitioning text.
KevinDTimm
The HEAD FIRST series mentioned by David is an easier read. I use them when I want a fast introduction to a subject. They are great for getting a grasp of the basics, but I usually end up getting another book if I really need to get deep into a subject.
Jim C
A: 

I think Code Complete Second Ed. would help you. It isn't devoted to any specific language and in detail discusses how to think about developing high quality software. It is a fun book to read, even though it is full of a lot of research backing up it's claims.

Andrew
A: 

The books that did the most for me are: Agile Software Development, Principles, Patterns, and Practices (among many other design issues, this one actually tackles strategies for organizing an app into packages, which is pretty interesting) and Head First Design Patterns which is, I think, a much easier read than the Gang of Four book mentioned earlier.

Good luck!

David