看到前面有贴 Berkeley CS的除草课,发现各个大学对毕业要求的课程既有一定的相似性,又有非常大的不同。
举个 functional programming language 的例子,各个学校差别很大。
在CMU,有三门必修课,要学SML这个functional programming language:课程是 15-150 (10学分),15-210(12学分),15-451(12学分). 一共34学分。但实际业界,几乎没有一家用SML。还要求必修SML的是 Univ of Washington
在Berkeley,Stanford,MIT. 都没有functional programming language的要求,不仅必修课里没有,连选修课里也没有,当然他们在其他课程中有教授 functional programming 的概念,但是没有对语言的要求。虽然Berkeley,Stanford有教 Haskell,只有 2学分的 bird course
其他大部分学校有一门functional programming language的要求,比如西北必修Racket,耶鲁好像从Racket转教Haskell。普林斯顿和哈佛教 OCaml,这正是 Jane Street用的语言,而且哈佛的Ocaml课,专门有Jane Street来人一起教几堂课。
前面看到有人说,哈佛视Jane street不齿。诚如是,如何解释哈佛专门请Jane street来人教 OCaml呢?
初步感觉,好像Berkeley,Stanford,MIT的课程比较实用,和工业界比较吻合,特别是MIT,好像什么都转用Python了。普林斯顿和哈佛好像受Jane Street的影响。而CMU等大多数学校好像墨守成规,一直自己教自己的,一直在教学校一直开了几十年的课,两耳不闻窗外事,一心只教圣贤课。
初步感觉,欢迎各位拍砖指正