我们教授编程的方式统统不对!

2020 年 1 月 13 日 CSDN


优秀的工程师都懂得如何与他人合作与交流,但是,我们培训了太多独来独往的程序员......

作者 | Nathan Esquenazi

译者 | 弯月,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

科技行业所有的重大突破都离不开多人的共同努力。
为了将某个功能添加到 iPhone 应用,前端工程师、用户体验设计师和图形设计师团队必须与网络安全专家、后端开发人员以及 iOS 开发人员合作。也就是说,如今优秀的工程师都懂得如何与他人合作与交流。但是,我们仍然培训了太多倾向于单独工作的程序员。
从在教室上课的第一天起,计算机科学专业的学生就把个人的成功看得比团队荣誉更重要,大多数作业都是学生单独完成并提交的。虽然文科专业的学生会研究交流方法,商科和医学等专业课程需要大量的团队工作,但许多计算机科学课程都过于重视技术成果,而忽略了所谓的“软技能”,例如协作和交流等。我们很少花时间解决冲突和进行批判性思考。
计算机科学课程的学生得分大都会呈现正态曲线的分布,因此这会变相鼓励同学彼此间的竞争,某一个学生获得高分就可能意味着另一个学生的得分降低了,有人发现这种方法会尤其会对女生造成特别的影响。
计算机科学的教授严重不足,导致许多课程都采用了“竞争式招生”模式,这也加大了入门课程的学习难度,学生们不得不努力竞争才能继续攻读这个专业。
即使学生想一起做作业,他们也会被严格的政策劝退,因为这些政策认为合作是作弊行为。然而,以“结对编程”(两个程序员在同一台计算机上一起工作)的方式学习的学生取得的成绩更高,创建的项目更强大,而且更加满意他们的计算机科学课程。
结对编程为女生带来的好处尤为明显: 一项研究发现,某项入门课程采用了结对编程的方式,结果获得高分的女生比计算机科学专业的女生高出了36.8%,而且他们对自己的解决方案更有信心,更加享受编程的过程。另一项研究发现,结对编程的女性的自信心提高了24%,而男性则提高了15%。
对于那些在成长的过程中,未能在家或在学校学习过计算机课的学生来说,参与、社交关系和积极学习等涉及合作的学习带来的受益最显著。如果协作学习在编程教育中不那么罕见的话,也许该领域的多样性有可能得到改善:计算机和数学行业中,女性仅占25%,黑人占8.4%,拉丁裔占7.5%。在许多顶级公司中,这些数字还要更难看,黑人和拉丁裔通常只占员工的3%-6%。
与此同时,老板们总觉得新员工虽然是熟练的程序员,但缺乏合作能力。尽管绝大多数老板对基本“软技能”的重视程度甚至超过了大学的专业,而且招聘经理在招聘计算机科学专业的学生时,也认为沟通和解决问题的能力是前五大需要考虑的因素。
我们在硅谷的个人主义文化中看到了这种教育的结果,工程师们在团队内部争夺权力,甚至因为担心失去自己的工作而拒绝同事们的意见。代码审查本来是讨论问题的好机会,结果却成了知识竞赛。当新来的团队成员有疑问时,他们得到的答案是“去查文档”,或者去阅读手册中的小字。接受别人的帮助被视为弱者的行为,而给予帮助则被当成浪费时间。如果编程人员无法进行头脑风暴,或者不能给同事提供指导,那么这个行业终将走向失败。
硅谷花费了数年的时间讨论如何找到梦寐以求的“10倍工程师”(他们的工作效率是普通工程师的10倍)。然而,工程经理知道,如果想成为一名出色的工程师,除了编写大量的代码,还有很多方面需要加强。出色的工程师了解他们的同事,能够与人建立共识,并可以迭代其他人的工作。从根本上说,他们能够阅读和消化别人的代码,这与从头编写新代码完全不同,而大学生很少有机会进行这样的实践。一门心思单独写代码的大学课程缺少很多专业工程师的职责教育。
当程序员倾向于靠一己之力解决问题时,我们不能责怪他们,因为这就是他们接受到的训练和教导方式。
当我们告诉每位学生唯有个人的成败举足轻重时,就意味着我们把他们培养成了技术称职、缺乏合作精神的程序员。我们需要培养出不把自己看成“独行狼”的程序员。科技行业更加需要这样的人才。
原文:https://medium.com/bloomberg-opinion/were-teaching-coding-all-wrong-cd7e1d7fbbdb
作者:Nathan Esquenazi,创业企业家,CodePath.org的联合创始人兼首席技术官。
本文为 CSDN 翻译,转载请注明来源出处。

热 文 推 荐 

苹果官网以旧换新价格暴跌;戴威退出 ofo 法人代表及高管;TensorFlow 2.1.0 发布| 极客头条
软件开发需要学好数学吗?
12306 出招抢票软件,技术黄牛生意要“黄”?
铁打的春晚,流水的互联网公司
达摩院 2020 预测:模块化降低芯片设计门槛 | 问底中国 IT 技术演进

千万不要和程序员一起合租!

在调查过基于模型的强化学习方法后,我们得到这些结论

漫话:如何给女朋友解释为什么一到年底,部分网站就会出现日期混乱的现象?

你点的每个“在看”,我都认真当成了喜欢


登录查看更多
0

相关内容

计算机科学(Computer Science, CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;其中一些,比如计算机图形学强调特定结果的计算,而另外一些,比如计算复杂性理论是学习计算问题的性质。还有一些领域专注于挑战怎样实现计算。比如程序设计语言理论学习描述计算的方法,而程序设计是应用特定的程序设计语言解决特定的计算问题,人机交互则是专注于挑战怎样使计算机和计算变得有用、可用,以及随时随地为 所用。 现代计算机科学( Computer Science)包含理论计算机科学和应用计算机科学两大分支。
【哈佛《CS50 Python人工智能入门》课程 (2020)】
专知会员服务
109+阅读 · 2020年4月12日
德勤:2020技术趋势报告,120页pdf
专知会员服务
187+阅读 · 2020年3月31日
Gartner:2020年十大战略性技术趋势, 47页pdf
专知会员服务
74+阅读 · 2020年3月10日
【课程】概率图模型,卡内基梅隆大学邢波
专知会员服务
67+阅读 · 2019年11月4日
国内第一部AI本科教育体系书籍出版!周志华等人著
大数据技术
29+阅读 · 2019年5月15日
知乎破8万赞回答:那些厉害的人,思维方式比你强在哪儿?
年薪48万的程序员,他究竟做对了什么?
机器学习算法与Python学习
7+阅读 · 2018年12月28日
学界 | 终结吧!机器学习的数学焦虑
大数据文摘
9+阅读 · 2018年9月14日
数学思维与编程思维怎样可以完美的结合
算法与数学之美
6+阅读 · 2018年6月11日
今年高考志愿,选个好专业比选个好学校更重要!
深度学习世界
4+阅读 · 2018年6月10日
如何从零到一地开始机器学习 ?(附思维导图)
THU数据派
6+阅读 · 2018年4月17日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
Arxiv
24+阅读 · 2020年3月11日
Arxiv
3+阅读 · 2018年10月8日
Arxiv
6+阅读 · 2018年1月14日
Arxiv
3+阅读 · 2017年12月14日
VIP会员
相关资讯
国内第一部AI本科教育体系书籍出版!周志华等人著
大数据技术
29+阅读 · 2019年5月15日
知乎破8万赞回答:那些厉害的人,思维方式比你强在哪儿?
年薪48万的程序员,他究竟做对了什么?
机器学习算法与Python学习
7+阅读 · 2018年12月28日
学界 | 终结吧!机器学习的数学焦虑
大数据文摘
9+阅读 · 2018年9月14日
数学思维与编程思维怎样可以完美的结合
算法与数学之美
6+阅读 · 2018年6月11日
今年高考志愿,选个好专业比选个好学校更重要!
深度学习世界
4+阅读 · 2018年6月10日
如何从零到一地开始机器学习 ?(附思维导图)
THU数据派
6+阅读 · 2018年4月17日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
Top
微信扫码咨询专知VIP会员