I know there's quite a few programmers on this board (especially you Sir Ryoder!) so I thought it would be ok to ask some questions that have been on my mind about this topic.
1. At this point, I've been practicing in Objective C, C++, and Visual Basic. I get and can do variable declarations, control structures, arrays, structures, classes, and etc. What I'm not getting is more of the bigger picture.
To give you an example, I see an app that I like such as Hipstamatic and I have almost no clue how they made it. I have a feeling the interface isn't done in Interface Builder but then how WOULD it be done?
I also imagine there is an API for working with the camera and that API maybe has classes that I could examine which would show how to work with the camera. Then, I imagine that each of the "lenses" in Hipstamatic each have their own functions that manipulate the image using properties such as RGB, contrast, and etc. But where do people FIND these APIs, classes, and etc. Is this where things like OpenGL come in or is it something else?
On a related note...
2. Do you know of any other teaching materials for programming that differ from the "Here is a variable" "Here's a while statement" approach to programming? My ideal book would be one that shows you a cool program that makes you think like a programmer from idea conception to execution and testing. I'm very much a tear something apart to see how it works and reconstruct it again to build my skills kind of person.
I really want to grow as a programmer. I'm going to keep on learning and teaching myself new things but sometimes I'm not sure what I should be learning. I especially want to put together a portfolio to demonstrate to future employers that I can do the work.