Ask HN: How to keep on top of CS and maths?
23 points| ceeK | 8 years ago
Are there any good books, problem sets, or fundamental habits that I could use?
23 points| ceeK | 8 years ago
Are there any good books, problem sets, or fundamental habits that I could use?
Jtsummers|8 years ago
And, while challenging, it can be a pleasure to work through The Art of Computer Programming slowly over a period of time. I did this for both volumes 1 and 2 back in college and just after.
For pleasure reading on math, Martin Gardner is a great source of material. Particularly the collections of his Scientific American articles (there was work to reprint some of these book collections with Knuth and others editing, but I think it stalled out after 4 or 5 of them). Spend time on the articles to really understand the proofs involved and it can, IMHO, improve your ability to think mathematically.
Otherwise, perhaps as itamarst suggests, find some problem domain which exercises both CS and math and interests you. Write code to implement the mathematical algorithms (which will aid your understanding of them), and then spend time improving the code (practicing your CS skills).
I also doodle math and CS theory problems when I'm bored. Make a state machine that recognizes, in base 2, all multiples of 3, 4, 5, etc. What pattern exists in their structure? Why does the symmetry exist in some of them? What happens when you change the base to 3, 4, ...? Try to apply the concept of generating functions to get to the closed form solution of the Fibonacci sequence. Practicing like this, even if it's problems I know by heart at this point, helps keep the fundamentals that let me solve them the first time fresher in my mind.
I also recommend reviewing the writings of E. W. Dijkstra. A lot of math, CS, and software engineering is covered in there. It's also interesting to read as you'll see a slice of history as the collected papers span about 40 years.
hackermailman|8 years ago
itamarst|8 years ago
I spent 20 years without using linear algebra. Now I'm doing a bunch of image processing algorithms and it's suddenly relevant... and it's mostly coming back. And for the new stuff I'm learning I got a book which I occasionally read at work.
arvinsim|8 years ago
happy-go-lucky|8 years ago
brudgers|8 years ago
Read Knuth's The Art of Computer Programming. Some math. All the fundamentals of computer science.