That is precisely why udacity courses are gaining popularity. They give you a false sense of accomplishment when actually the learning is very superficial.
Indeed, but there is nothing inherently wrong with superficial knowledge (as long you realize it is superficial). Before the AI-course I knew absolutely nothing about the field, now I know enough to start matching problem domains to techniques. Obviously I learnt nothing useful about how to actually implement those techniques, but at least I know what words to start googling for.
> They give you a false sense of accomplishment when actually the learning is very superficial.
I disagree. Although I've only taken one so far (search engines), and I knew basic Python before taking the course. I like the small weekly practice sessions because they provide just enough breadth to prompt me to seek more depth, run pydoc, etc.
I find it more interesting to learn the standard library and take away a better understanding in this format, as opposed to reading a book or the documentation straight through.