Hacker News new | ask | show | jobs
by yariang 5318 days ago
Few thoughts.

"Another problem he encountered: there are few incentives for law professors to excel at teaching."

As a college student I can attest that this is not just law professors. This is the case in any research-centric university.

The rest of the article reminds me of the debate surrounding Computer Science and Software Engineering. Many people feel that CS degrees do not prepare you to actually code, and that a lot of CS graduates do so without knowing how to write any good code.

If looked at in that light, is it really a problem? The specifics of how law is done might change, the deep insights and theoretical knowledge will always be useful at some level.

To frame it in the computer-science context, which I am more familiar with, if a schools pends four years teaching practical applications of Java and the specifics of the Hadoop framework, the graduates will surely have a lot more practical knowledge right as soon as they begin working. But in ten years if Java is no longer used and Hadoop was superseded by something else, all that knowledge is now useless. In contrast, knowledge of Turing Machines and automata will still be useful, if not for its practical application, for its cultural value and the ability it has to change your thinking about problems.

I think the best way to deal with the lack of practical knowledge is to combine it with actual practice. At Northeastern University, a large percentage of the students do six-month coops where you work full time for those months. It's a way to deliver the best of both worlds. Deep theoretical lecturing mixed with actual real-world work. I have yet to find a downside to it for the average student.

1 comments

Yes, it is really a problem. Unless your career path as a CS graduate is to research more computer science or somehow spend your career only working on the theoretical, it really is a problem that you graduate not knowing how to code.

Learning Hadoop and Java is not the same as "learning software engineering", just the same way that learning quicksort is not the same as "learning computer science."

You're conflating learning a specific language or a tool with learning how to engineer anything more complicated than a one-file program. Software engineering is about understanding why you should care about object orientation--and when you shouldn't. It's about learning how to deliver most value for a given expenditure of time--and how to make sure that value lasts longer (i.e. maintainable code).