Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You mention version control in passing, but it probably deserves more emphasis. CS majors who aren't comfortable using version control are likely to be at a disadvantage.

OCaml may work as an alternative to SML.

You could also mention Information Retrieval, alongside Machine Learning.

Compilers/parsing/interpreters/etc. could really be its own top level item.

Learning to use profilers / performance optimization. _The Practice of Programming_ covers this (and many other things!) quite well.

All in all, a great list. Probably also useful to suggest starting points for people (like myself) who are self-taught.



To be clear: I consider understanding version control essential. I'll emphasize it.

I agree that OCaml and SML are roughly interchangeable for educational purposes. I picked SML because it's slightly "cleaner."

As a compilers prof, I agree that compilers should be its own item, but politically, that's a tough sell. Teaching compilers needs to be sold in the service of another end for most faculties.


Cleaner, yes. I picked OCaml because it seemed easier to find information about, and more widely ported.

Also, I think most people fail to appreciate how useful compiler techniques are outside of "compilers". Even just knowing a little about lexing and parsing goes a long way.

For Prolog, I'd also recommend _The Art of Prolog_ by Sterling & Shapiro and/or Clocksin's _Clause & Effect_.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: