Live data from Hacker News

Ask HN: Is it possible to never take formal CS classes but learn from books?

news.ycombinator.com

11–13 of 13 posts

Re: Ask HN: Is it possible to never take formal CS classes but learn from books?

#11

You're missing the point. CS actually has very limited utility in the software engineering and web development industry at large. It's very rare that you'll need to work out the time complexity of something or pick exactly the right data structure to use. The value is in the fact that you graduated. That fact means you had the access to resources, the intelligence, the conscientiousness, and the interest in the topic…

You're not wrong, but OP didn't say they want to study CS for the sake of their career. Maybe they just find it interesting and want to learn for the sake of learning - in which case it's definitely possible to learn a lot without formal schooling.

Re: Ask HN: Is it possible to never take formal CS classes but learn from books?

#12
YES you can.

I'm an EE who learnt CS from books and by actual programming. It was an iterative process that worked both ways for me. I would write a program to accomplish something specific, have problems and delved into the books to solve that problem and/or better understand how to better do it. Then in other cases I would read some material in a book and then program it up and fiddle with it to understand how it works.

IMO working through MIT's SICP: https://web.mit.edu/6.001/6.037/sicp.pdf is profoundly valuable. Although there are Python and Javascript versions of that material available, I recommend the 2nd edition's Scheme version. Once you grok the essential core principles, you will readily apply your knowledge to any reasonably competent "modern" programming language.

The foregoing approach worked well for me. It lead me to complete a ME in CS, work in industry for a couple of decades and then complete a PhD in SE.

Re: Ask HN: Is it possible to never take formal CS classes but learn from books?

#13
It is of course logically possible.

That doesn't mean it is practically possible for you (this is not a moral judgement).

It is a question of your actual motivation. If you are attracted to the work of learning CS from books, that's one thing.

If being a-person-who-knows-CS-without-formal-training is the important thing, that's another thing. It can be hard to recognize that obtaining an identity is the motivating factor in one's self.

Anyway, if you want to learn CS from books, buy a boxed set of Knuth and get started. He's been working on the TAoCP since 1962, so expect a long haul.

If you just want to learn CS, going to school is probably a more straight forward way to start. And it's not one or the other, you can go to school and learn from books.

The advantage of school is it provides a kind of legitimacy that only comes from formal education. Know if what you want is legitimacy.

Good luck.

---

Things I did not say:

1. Knuth is easy.

2. Knuth is the only or best book.

3. Formal education is the only form of legitimacy.

4. The legitimacy through formal education is a good thing.

Just letting the whole internet to know.

Post reply on HN