Agreed!
> I strongly believe that without understanding the basics of programming one can't become a good programmer.
Well, there are more ways to skin a cat. You can start by picking up some of the basics by practicing them with something that actually interests you. The 'basics' of programming can be taught in context, in stead of just by themselves in isolation. That way they are directly applicable, easier to remember and likely not quite as arcane as they would seem otherwise.
What are the basics of programming anyway?
Some would say 'recursion', others would say 'assignment', 'sequence', 'iteration'.
But to explain those in a vacuum is very hard to do, there is no shared terminology.
> So it makes sense to spent some time and pick these courses.
It makes sense to spend time on those courses once enough background has been established to begin to parse those courses. We computer people hardly realize how our speech is permeated with jargon and assumptions about knowledge pre-requisite before you can take the next steps.
A CS degree for someone that wants to dabble in iphone apps is over the top, a course is not to be compared with a one-on-one session with a dedicated teacher like the OP, concepts can be explained in context.
I could teach you electrical theory, semiconductors, the various physical laws and so on. Or we could go and build a working radio. Which one of the two do you think would interest a beginner more? Then, after you've used that beginners interest and motivation you can casually introduce some of the theory and how that applies to the subject matter.
I'm not sure if that's the 'proper' way to teach a subject, but it seems to be pretty effective.
If, for example, you gave a list of what you considered the most important CS basics for an iPhone developer it would be far more helpful than simply saying "get a degree". Then the person who was asking the original question could build a curriculum around just those parts.
to become an expert in something, or even understand something, one doesn't HAVE to go to a university.
There are lots of university grads who are experts in nothing.
There are lots of experts in this world who became experts in different areas even when they never put a step in college.
Agreed.. university education, is definitely one of the many ways to accumulate knowledge. Its just that, its not the only way.