Hacker News new | past | comments | ask | show | jobs | submit login

Completely disagree about excluding algorithms and data structures among other things. In fact, I would say current curriculums feature much too less of design skills in these departments.

Algorithms and Data Structures needn't be about existing ones, although they are great examples. Algorithm design skills are a prerequisite for getting anything done efficiently, quickly and readably. Design patterns and software development models are secondary.

The case of data structures being available in libraries will lead to confusion as students will lack the ability to select the one with most appropriate performance characteristics. To them the only difference will be syntax. You could argue that one can look up complexity characteristics, but then how can you teach someone what is complexity without doing algorithms and data structures?

Algorithms and data structures are so prevalent, that they drive design issues that on the surface seem unrelated. Why map reduce is the query format we are using; how Clojure can have immutable, persistent yet still fast data structures; why public key cryptography is safe? And more importantly, algorithms and data structures teach us about tradeoffs.

It's not by accident that top companies test algorithm skills in interviews.




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

Search: