问题描述
o(*≧▽≦)ツ ~ ┴┴
其实作为文科生,看完一点不生气,只是有点想笑,对部分观点更觉得荒谬,通篇的论述根本不具有说服力,就是我觉得怎样就是怎样,然后就有一种滑稽色彩,我和我的同学笑了好久 (*≧▽≦) 。
“将文科生踢出校园!”_哔哩哔哩_bilibili不如将我这个工科生踢出校园,让我自己去做项目、找实习、自学,我求之不得(
也不看看现在大学都教得什么破玩意:
大学四年,学校教会了我:
1. 打水赛混加分(找了个澳门的队友轻松进互联网+国赛)
2. 无视学校制度(去实习直接翘课,不找老师报备,因为不可能批)[1]
3. 听课无用(疫情在家睡半年,回去考试连续突击一周,平均 80+)
4. 利益交换(指我给你写论文[2],你放我去上班)
5. 一句话写成三句话(指毕设内容不看,先把页数搞到 40 页再说)
6. 排版格式(指参考文献规格严格,你的学术功夫才到家)
7. 喝茶(指帮本校硕博生发声,然后被学校约谈)[3]
——如何评价中国现在大学本科生教育? - Thoughts Memo的回答 - 知乎
可以说我现在工作中用到的 99% 的编程技能和算法知识都是在大学之外学到的。相比工科生,大学确实更适合文科生和理科生,毕竟理论知识可以用文字传达,听讲座、写论文、参加研讨会,这些都是大学教育的基本形式,用来培养未来的文科教授和理科教授都是合理的,毕竟这就是他们未来的工作。但对于工科生而言,这种传统教学方法完全就是垃圾中的垃圾,早在几十年前就被各种批判了。
为什么呢?因为工科的大部分知识都属于隐性知识,只有通过实践才能快速掌握。在学校里面听课是无法掌握这些知识的:
以下内容摘自 @Thoughts Memo 汉化组的译文《为什么隐性知识比刻意练习更重要》
在我之前的工作中,我的技术主管 Hieu 有一种不可思议的能力,他能在需求会议上几分钟内就勾勒出一个最简洁、组件最少的程序架构。这个草图通常就是我们最终实施的方案,而且我注意到 Hieu 总是为软件项目中不可避免的变更预留足够的灵活空间。(需要说明的是,他通常会先实现一个一次性原型来验证草图,然后才传递设计方案)。而当我设计实现方案时,总有一些部分后来需要重新设计。我就是没有他那么厉害。最终,我向他请教是如何做到这一点的,并在我们共事的几年里多次尝试从他那里获取经验。我们的对话总是不可避免地类似于以下内容:
「嗯,」Hieu 会这样开始,「当你听说有一个外部 API 时,你应该在围绕它编程时保持关注,因为那里存在很多风险。」
「是的,但为什么你不担心日历 API 呢?」
「哦,因为我以前用过它,我认为它很容易实现。」
「为什么那么关注 Firebase?」
「因为我们想把它用作数据库层。这个风险相当大啊。」
「所以总是先关注核心层,因为它更重要?」
「是的。尽量先关注风险最高的部分。」
「但为什么你不担心库存 API 呢?我们以前从未与它集成过。」
「是啊,那个我认为现在不那么重要。客户可能稍后会更改它。或者也许我们的功能会改变。我们先做基础部分。」
我回想起在 Viki 实习时的经历,那时我是一名软件工程实习生,第一次编写软件测试。一位高级软件工程师只花了几秒钟浏览我写的约一百行代码,就说道:「哦,这样不好,将来会出问题。应该这样构建它。」
我问他如何能在短短五秒内就判断出代码有问题。他给我详细讲解了一番软件工程原则。我摆摆手让他停下来,直接问他是如何在五秒内做出判断的。他说:「嗯,这只是感觉对了。好吧,我们去吃午饭吧,你回来后再改就行。」
我在关于感知学习的文章中曾提到过这段 Viki 的经历。我并非说 Hieu 或那位高级软件工程师无法解释他们的判断,或者他们不能明确表达用来评估十几个变量之间权衡的原则:他们能够解释,即使解释得不够完美。我的观点是,他们的解释并不足以让我获得他们所拥有的同样能力。
为什么会这样呢?再看看那些对话。当我追问这些人关于他们判断的依据时,他们会尝试用原则或经验法则来解释。但我越是追问,就越发现更多的例外情况、注意事项和潜在陷阱。
这其实是一个普遍现象。在任何足够复杂的领域中,专家解释自己的专业知识时总是这样说:「嗯,做 X。除非你看到 Y,那就做 Z,因为 A。如果你看到 B,那就做 P。但如果你同时看到 A 和 C 但没有 B,那就做 Q,因为原因 D。还有一些特殊情况,你做了 Z 但随后发现 C 出现了,这时你应该转向 Q。」
如果你继续追问,他们最终可能会说:「啊,这就是感觉对了。做得时间长了,你也会有这种感觉的。」
最终我意识到,学习 Hieu 技巧的方法是模仿他:自己设计一些软件,然后请他给予反馈。我也明白了,当你听到有人用一长串例外和注意事项来解释事情时,很可能你正在见证隐性知识在发挥作用。
为什么学校在培养专业技能上如此低效?
以下内容节选自 @Thoughts Memo 汉化组的译文《加速专业技能养成》
假设你是一位培训项目设计师,需要让一群新手在短时间内达到胜任水平。你会怎么做?
我们大多数人大概会先问:这个领域的技能树是怎样的?对此,研究人员说:不,打住,把那套都忘了吧。
我认为我们大多数人大概会先问:这个领域的技能树是怎样的?我们会试图梳理出一套原子化的技能,按照从最基础到最高级的顺序排列,然后设计一套培训大纲,按正确的次序教授每一项技能,确保先教授必备的基础知识,然后逐步增加所教概念、技能和训练内容的复杂度。我们可能还会为较低级别的技能设计练习,并尝试设置一些阶段性的评估任务或「测验」。
简而言之,我们会试图复制我们在学校里接受教育的方式。
研究人员说:不,打住,把那套都忘了吧。
这种训练方法存在诸多问题。你可能对其中一些并不陌生。
- 首先,这种训练方法实在太 TM 耗时了。毕竟,这是主流的教学方法,而研究人员正是被要求来改进这种范式的。一个更有趣的问题是,为什么它会如此耗时。
- 对此有两个答案。其一,人类通过构建关于某个领域的心智模型来学习。起初,这些心智模型很粗糙,无法指导有效的行动。因此,新手会通过不断地构建、抛弃和重构心智模型来响应反馈,从而快速地发展这些模型。然而,到了某个阶段,这些心智模型变得足够有效、足够复杂,以至于它们成了「知识护盾」——即那些存在细微错误的心智模型,它们之所以阻碍学生达到更高的专业水平,恰恰是因为它们让学生能够拒绝异常数据。换句话说,将一个技能领域分解为原子化的技能是有风险的——由于技能层级本身的不完整性,你很可能会无意中促使学习者构建出存在细微错误的心智模型。这继而会减缓专业技能的发展,因为培训师此时必须做额外的工作——例如,你必须将「摧毁知识护盾」作为一项教学目标来设计你的训练任务。最好能完全避免这种情况。
- 将技能领域分解为相互分离的学习层级还有另一个弊端:专家能够看到新手无法察觉的概念或线索之间的联系。教授原子化的概念会阻碍新手学习这些内在联系,实际上可能导致后续表现不佳或遭遇训练瓶颈期。(注意:这并非一个普适性的建议;作者指出,如 Kim & Reigeluth 所演示的「简化条件法」是一种在分解领域的同时强调概念间联系的方法,但这种教学法并未普及。最好还是完全摒弃这种分解的要求)。
- 层级化训练方法糟糕的第二个原因是,对原子化技能的评估无法转化为对现实世界表现的评估。我想我们凭直觉就能明白这一点。针对基础技能的测试往往无法捕捉到在现实环境中应用技能时的细微差别。你可能在公司金融考试中表现优异,却把一家公司经营得一塌糊涂,因为你不知道在你所处的特定业务中应该留意哪些线索。
- 这种训练方法糟糕的第三个原因是,原子化的训练往往缺乏对实际应用场景的高度认知保真度。以著名的课堂学习理论「认知负荷理论」为例。该理论基本观点是:「内在认知负荷」与学习任务本身的复杂性相关;「外在认知负荷」则是由学习过程中那些不必要且干扰图式获取的活动引起的。教师的职责是设计教学方法以减少外在认知负荷。作者指出,当你的学生只需要应付考试时,这套理论没什么问题,但如果你的工作环境是在炮火连天中规划部队行动,那么你的训练项目或许也应该包含一些「外在认知负荷」吧?
- 这种训练方法糟糕的第四个原因是,当技能领域发生变化时,更新培训项目变得异常困难。这一点在商业和军事环境中都至关重要——设想一下,如果(商业中的)市场环境变化,或者叛乱分子改进了他们的简易爆炸装置(IED)战术,你就需要快速更新你的培训项目。但是层级化的教学大纲本身就难以更新。应该更新哪一课?哪个复杂程度?哪些先决条件需要改变?有太多的活动部件(牵一发而动全身)。训练更新理应更加容易。与此同时,士兵们却在没有接受更新训练的情况下被部署到前线,然后牺牲。
- 这种训练方法糟糕的第五个原因是,外部评估常常削弱学习者在实地的感知构建(sensemaking)能力。换句话说,极其清晰的反馈有时反而会阻碍学生有效地从经验中学习,这可能会减缓他们在进入真实世界领域后的学习速度。
一些计算机本科教育的批判:
以下内容摘自 @Thoughts Memo 汉化组的译文《教育和学习无关》
专为教学而生 Washington Monthly
事实证明,古老的教学模式并不适合大多数本科生。单调乏味的讲座很难调动学生的积极性,也无法推动他们投入到有难度的动手实践中,而这恰恰是真正掌握大学课程的关键。培养教授的博士项目几乎没有涉及教学理念或方法的指导,而是专注于培养某个狭窄学术领域的专才。教授的聘任和晋升完全基于他们的科研能力,而非教学水平。
极具洞察力的观察家意识到,盲目扩张一套不适合本科教育根本宗旨的体系是一个错误。1963 年,加州高等教育系统的缔造者 Clark Kerr 在哈佛大学发表了一场振聋发聩的演讲。他直言不讳地指出「一流的教师队伍导致对本科教学的忽视」是一个「残酷的悖论」。他进一步解释道,对科研的重视和对教学的投入「并不像我们最初设想的那样协调 … 德国的洪堡模式假定教学必然能因科研而全面受益,但事实并非如此。」Kerr 敏锐地洞悉,其他人后来也逐渐认识到,这种偏差最终导致了「本科教育政策的荒废」。
20 世纪 70 年代,高等教育的大规模扩张趋于平稳。与此同时,一批研究者开始探索和定义优于当时大多数本科生所接受教育的教学方法。其中最著名的要数 Arthur Chickering 和 Zelda Gamson 在 1987 年发表的一篇开创性论文《本科教育良好实践的七项原则》(Seven Principles for Good Practice in Undergraduate Education)。他们综合了多年来认知科学和教育研究的成果,勾勒出了有效教学的基本原则:学生越是积极投入到学习中,就越能够掌握知识,培养关键技能。本科生在解决问题、开展原创研究、合作学习,并得到教授和同学及时反馈时,收获最大。相比之下,被动的、缺乏互动的讲座式教学无疑是最糟糕的教学方式。
计算机科学本科标准课程有什么问题 (greenspun.com)
毕业生缺乏开放式项目工作的经验。因此,他们可能会陷入以下失误:(a) 设计出在设计者眼中看似吸引人但过于复杂、无法在时间限制内实现的内部设计;(b) 设计出过于僵化和硬编码的系统,无法根据不断变化的需求进行扩展。
毕业生几乎没有团队协作的经验。大学花费数十亿美元建设设施,让学生可以一起住宿;却不愿花一分钱建设设施,让学生可以一起工作。从儿科精神病医生开出的处方来看,我们的社会正在遭受注意力缺陷障碍的流行病。我们的学生从襁褓中就开始接触 MTV。然而,我们的学习结构却是让学生把作业带回宿舍,试图独自解决问题,同时还要抵抗来自不同专业舍友、电视、DVD、电子游戏、即时通讯、电子邮件和网络的各种干扰。那些进入大学前就已养成优秀学习习惯的学生仍然能获得优质教育。而那些尽管学习习惯不佳却勉强跨过初高中低门槛的学生,可能从大学教育中获益甚微。
毕业生不擅长将非技术人员提出的模糊目标转化为可在固定时间和资源预算内实现的具体规范。
毕业生的沟通能力不足(包括写作、演讲、向用户和客户提问)。
他们缺乏用户界面设计和测试的经验,也没有处理真实用户建议和投诉的经验。
他们缺乏专业精神,即不够致力于完成对最终用户有价值的产品。学生们习惯于在解决明确定义的问题并为自己获得好处(通常是好成绩)时感到满足。他们没有认识到,只有当第一个最终用户成功使用新信息系统完成任务时,才真正创造了价值。因此,大多数计算机科学毕业生满足于领取薪水,即使构建的系统完成度只有 90% 且从未被安装或使用。
他们缺乏对大局的关注;无法理解自己的工作与更大组织目标之间的关系。
毕业生在快速理解大型商业工具和库,以及编写控制或扩展这些库的小段代码方面经验不足。这导致他们倾向于从头开始或重写不完全理解的代码,而非进行重用。许多早期 Web 应用程序充斥着来自未经充分测试的数据库管理系统的错误,这些系统是由计算机科学毕业生编写的,他们对编写 C 代码的兴趣远大于学习应用标准关系数据库管理系统。
改进计算机科学本科教育 (greenspun.com)
讲座怎么样?如果你需要向 100 个人广播一些信息。在 1865 年,印刷成本高昂,电话、电视和互联网尚未出现,讲座可能是向众多听众传播知识的不二法门,尽管人类的阅读速度是听觉的三倍。相比之下,到了 2007 年,教师只需给学生发送电子邮件或提供网页链接,便可轻松地给 100 个人共享资源。
- 大量研究表明,长时间的讲课往往效率奇低。美国联邦航空局规定,飞行学校的授课时长不应超过 20 分钟左右。
- 学生学习收获最大的,其实是在实验和项目中。一所将实践项目作为教学核心的大学,已迅速跃居美国本科工程院校之首(https://www.olin.edu/)。
- 工程师成长的关键,在于参与一系列规模不断递增的项目,而非机械地完成每周的作业或一个大项目的零散部分。
- 计算机科学本科所学的一切,都可纳入涵盖完整工程周期的项目予以传授——比如布置开发飞行模拟器的任务,同时在其中教授物理和微积分的知识。
- 在互联网时代,将授课与评分分离不仅有意义,而且易于实现。教师可以设定标准,但学生最终是否达标,则交由他人来评定。
大学与经济增长 (greenspun.com)
在 11 世纪,教授讲课是非常必要的。除了讲课,还有什么方法能将知识从一个人传播给 100 个人呢?印刷成本高昂,工序繁琐。让修道士手抄 100 本教科书,在经济上根本行不通。
大学还引入了一项重要的质量控制机制:学生协会根据教授的教学水平、吸引学生的数量以及是否准时上课,来决定教授的薪酬。
过去,学生去教室听课和完成课后作业是理所当然的事情。那时学生的住处可能没有暖气,去教室上课仅仅是为了取暖也无可厚非。1088 年的学生没有电视、收音机、互联网、电子邮件、即时通讯、手机等娱乐设施,学生去听课很可能只是为了在课堂上寻求一些娱乐消遣。
在那个年代,学生完成作业只能在图书馆或者家中,而这两个地方都没有电视、电子游戏、电子邮件等让人分心的事物。
这如何改变了上课的方式?我们仍然有讲座和家庭作业,就像 1088 年一样。试想,还有什么行业能够在完全不融入过去 1000 年中一些技术的情况下生存发展呢?
技术的改进使得传统的大学教学方法效果大打折扣。学生在温暖舒适的公寓里,睡个懒觉似乎比去听课(或者看《早安美国》)更有吸引力。而坐在课堂上的学生,手里拿着可以浏览网页、收发短信、玩游戏、跟同学分享照片或视频的电子设备,也很难全神贯注听讲。
在现代化的宿舍里完成作业更是困难重重,电视、互联网、YouTube、即时通讯、电子邮件、电话和电子游戏无处不在,诱惑着学生们分心。在这种大环境下,能够在大学四年的学习生涯中受益最多的,往往不是那些最有天分的学生,而是那些能够养成良好学习习惯的学生。
尽管让员工在家办公可能节省开支,但没有公司愿意完全依赖这种方式来完成工作。公司之所以愿意花费大量资金租赁商业办公场所,就是为了创造一个受干扰较少的环境,让员工在此度过每天的大部分时间。
犹他州一所初创的盈利性计算机科学大学──Neumont 大学向我咨询如何规划学校发展。由于他们不知道这些想法有多不可行,因此采纳了我提出的大部分建议。他们的学生多来自中产阶级家庭,不需要长时间的暑假参加父母安排的欧洲旅行,也无需在冬季休一个月的假去加勒比海游玩。学校只是简单调整了授课时间,从周一到周五,朝八晚五,全年授课,学生就可以在约两年半内获得计算机科学学位,比传统大学少花一年半时间,也就减少了一年半向父母要钱的时间。
Neumont 还采用了项目制学习模式。尽管该校新生的 SAT 成绩和高中成绩远低于犹他大学新生,但 Neumont 的教学成果更胜一筹。相比之下,在犹他大学修完传统的「讲座+作业」的计算机科学课程的毕业生,年龄要比 Neumont 毕业生大 1.5 岁,起薪更低,就业机会也更少,尽管犹他大学拥有更优秀的生源和 150 年的历史积淀。
参考
1. 如何看待哈工大深圳禁止请假实习? ./1841787052.html2. 为什么有的计算机本科生就能发表顶会,但是许多博士生还是一篇都没有? - Thoughts Memo的回答 - 知乎 ./2766306560.html
3. 如何评价哈尔滨工业大学(深圳)(HITSZ)? ./1927800413.html