Thoughts on KC's "Foundations for Hacking on OCaml" [thoughts-on-foundations-for-hacking-on-ocaml]

KC recently wrote a thought-provoking piece entitled "Foundations for Hacking on OCaml". In it, KC recounts the all to familiar experience of new CS students arriving at complex projects (like the OCaml compiler) and not knowing where to begin.

Speaking from experience, the undergraduate CS course at Cambridge (when I did it between 2017 and 2020) was still very much theory-first. This was true even in courses such as Operating Systems and Optimising Compilers. That's not to say there weren't hands-on aspects (building circuits, programming FPGAs, a group project with an external "client" etc.). But none of this did the "hacking skills" justice. Ryan and I have discussed this at length, in particular how we both seem to have come out the other side of our undergraduate degrees with a healthy amount of "hacking skills". How, in many ways, that has become an integral part of the way we do research. Why is this the case? What could we be doing more of to help students bridge the gap from theory to real-world, complex projects?

Related

person. Anil Madhavapeddy [anilmadhavapeddy]

person. David Allsopp [dra27]

person. KC Sivaramakrishnan [kc]

Optimisations Across Hardware and Software using RISC-V [pf341-diss]

Project. Outreachy [outreachy]

Ryan Gibb [ryangibb]

institution. University of Cambridge [ucam]