3 ms·
I try to work through hard technical material. Personally, I enjoy both technical books and MIT OCW lectures. There were a number of courses in school that I wa
by karamazov 11y ago
I try to work through hard technical material. Personally, I enjoy both technical books and MIT OCW lectures. There were a number of courses in school that I was interested in and didn't have time for, so I've been looking at the online equivalents.
"Working through" means doing exercises and projects. Reading or watching material without applying it doesn't help.
I aim to spend an hour a day on this. It doesn't always happen, but it's a reasonable enough goal that I can find time for it most days. Occasionally, I'll take a full day to study on the weekend.
Some specific recommendations:
books:
SICP (https://mitpress.mit.edu/sicp/)
K&R
The Art of Computer Programming (if you have lots of time)
On Lisp (http://www.paulgraham.com/onlisp.html)
Learn you a Haskell
Types and Programming Languages
CLRS
The Dragon Book (Compilers, http://www.amazon.com/Compilers-Principles-Techniques-Tools-2nd/dp/0321486811)
OCW Courses:
6.172 (High performance engineering)
6.046 (Algorithms)
This is just what I've been interested in and is by no means comprehensive. Outside of CS, math is great to learn if you haven't studied it formally.
I've found it's best to pick a topic you know enough about to be motivated to study it, but haven't done serious work in.
- nemesisrobot 11y agoJust out of curiosity, how much of TAOCP have you worked through in terms of exercises? I'm currently working through Concrete Mathematics and while it's a very good book, I'm also finding it very challenging, so I'm a little hesitant to even think about working through TAOCP...
- karamazov 11y agoI've only used TAOCP for reference. Working through it is on my to-do list, but I'm not sure when I'll get there. The problems are ranked by difficulty, so you might be able to work your way up to the harder ones.