Live data from Hacker News

Ask HN: Computer science for the self taught programmer

news.ycombinator.com

11–20 of 41 posts

Re: Ask HN: Computer science for the self taught programmer

#11
What is it that you wish to learn? If you're a self-taught programmer who wants to learn (to use an extreme example) bricklaying, then you won't have much use for the standard undergrad CS reading list. Similarly, if you want to be a better programmer, the list will be different to that of the standard undergrad CS reading list. Can you tell us what your goal here is? Do you actually want to do CS, or do you want to fill in some of the theoretical gaps that might be useful to you as a coder, or do you actually not care so much about the theory and just want to be a better programmer?

Re: Ask HN: Computer science for the self taught programmer

#12
post #7

I've found The Little Schemer[1] to be very approachable and effective for grokking common CS concepts. [1]: http://www.amazon.com/The-Little-Schemer-4th-Edition/dp/0262...

I agree with this suggestion.

Also, I want to point out that "essential readings" is not the right attitude. In order to really make progress you're going to need to get your hands dirty and work though some examples. One very good exercise is to write an interpreter for a language you invent.

Re: Ask HN: Computer science for the self taught programmer

#13

Computer Science is not just algorithms. Generally speaking, Comp Sci consists of: Algorithms/Data Structures Computational Complexity Discrete Math Programming Languages (both application and the concepts behind them) System Architecture Networks Compilers Operating Systems Databases Parallel Programming Artificial Intelligence Graphics As for what to learn, here is THE BEST link: http://matt.might.net/articles/what…

Last time I checked with a university, they dropped half of the hardcore stuff, and teach more Java/Python. YMMV.

Re: Ask HN: Computer science for the self taught programmer

#14

What is it that you wish to learn? If you're a self-taught programmer who wants to learn (to use an extreme example) bricklaying, then you won't have much use for the standard undergrad CS reading list. Similarly, if you want to be a better programmer, the list will be different to that of the standard undergrad CS reading list. Can you tell us what your goal here is? Do you actually want to do CS, or do you want to…

I'd be interested in your recommendations for primarily becoming a better programmer.

Re: Ask HN: Computer science for the self taught programmer

#16

Computer Science is not just algorithms. Generally speaking, Comp Sci consists of: Algorithms/Data Structures Computational Complexity Discrete Math Programming Languages (both application and the concepts behind them) System Architecture Networks Compilers Operating Systems Databases Parallel Programming Artificial Intelligence Graphics As for what to learn, here is THE BEST link: http://matt.might.net/articles/what…

Last time I checked with a university, they dropped half of the hardcore stuff, and teach more Java/Python. YMMV.

A sample size of 1 is not representative. If the university is more interested in teaching "programming," then that's fine, but if you want a solid grasp of computer science, then most of those subjects are still necessary.

Re: Ask HN: Computer science for the self taught programmer

#17
Learn you lots of Algebra; then go learn you some functional programming (in particular LISP, HTDP: How To Design Programs and SICP are great for this).

Then I would pick up Randall Hyde's books on "How to Write Great Code" series - he starts out with machine fundamentals (stuff you would typically learn in an Assembly or computer engineering course minus the Assembly).

Then I would learn some type of Assembly (again I recommend Randall Hyde).

Then, IMHO follow @BlackJack's comment of subject matter.

NOTE: I'm a self educated programmer.

Re: Ask HN: Computer science for the self taught programmer

#18

Earlier quoted context omitted.

Last time I checked with a university, they dropped half of the hardcore stuff, and teach more Java/Python. YMMV.

A sample size of 1 is not representative. If the university is more interested in teaching "programming," then that's fine, but if you want a solid grasp of computer science , then most of those subjects are still necessary.

I do. Thank you for the link.

It doesn't really matter what universities do or don't teach. If a subject is of interest you should learn it. I thought everything you and the linked article listed made sense.

Re: Ask HN: Computer science for the self taught programmer

#20

If you're not intimidated by a little C, I highly recommend "Computer Systems: A Programmer's Perspective"[1] by Bryant and O'Hallaron from Carnegie Mellon. It was personally recommended to me by a PhD student from CM when I inquired about CS resources that would be directly pertinent to programmers, and it completely exceeded my expectations. [1] http://csapp.cs.cmu.edu/

I took the class that this book was written for when I was at CMU, and it's an excellent book. If you're a programmer with some understanding of C (read: pointers don't fill you with terror), this book will give you a solid overview of systems programming (how programs are laid out in memory, basic assembly, optimization, cache behavior, sockets, multithreading).
Post reply on HN