Hacker News new | ask | show | jobs
by alephnerd 320 days ago
There is a middle ground between both.

If teaching fundamentals, then force students to utilize these fundamentals to build into applied or industry usecases.

For example - leveraging the K8s thread - force students in their OS class to understand HOW to apply data structures to manage scalability problems AND forcing students to understand Linux kernel internals like cgroups.

Most universities don't offer course to connect these fundamentals together - not even my Ivy League alma mater based on my own survey of curricula.

Everyone is incentivized to understand the bare minimum, overindex on Leetcode, and skim over harder fundamental courses. On top of that, ime at my alma mater, most CS faculty was essentially applied math nerds who could see beauty in a well formatted inductive proof but would glaze out when pushed on implementing Paxos using best practices around kernel or system performance. And vice versa for the system nerds.

In a world where AI/ML can increasingly automate away boiler plate work and even conduct limited reasoning, understanding how fundamentals and (shudder) first principles are connected into become a product or solution is what matters.

And thus, this becomes a critical thinking problem, which just cannot be learnt without experimentation and getting into the weeds.