3 ms·
Obviously it depends on the person. A self-taught programmer is likely to miss out on the idea of abstraction (data and code) early on. Lots of things might j
by viscanti 15y ago
Obviously it depends on the person. A self-taught programmer is likely to miss out on the idea of abstraction (data and code) early on. Lots of things might just seem arbitrary or "magical". A solid CS curriculum will do a good job of showing the "big" picture that can be missed by a self-taught programmer.
That said, there aren't any magical skills taught in CS courses that you can't easily find online. Teaching yourself gives you the advantage of being able to focus on what you find interesting, and can get you in the habit of continually learning. You can never know enough, so getting in the habit of teaching yourself something new all the time is great.
Things you might have missed include pointers (how they work), thinking recursively and building a compiler. Those are all used to weed out weaker CS students. I think the key for self-teaching is to get to a point where things no longer seem arbitrary or magical. From there it's easy to see what you like and don't like, and focus on what you're really interested in.