南昌网优化网站设计公司,asp建设网站需要了解什么,wordpress删除时间,自己做电影网站需要的成本在最近的一份调查中显示#xff0c;美国top高校中#xff0c;Python已经成为教授计算机科学入门课程方面最受欢迎的语言。其中Top10 CS系中有8所使用Python#xff0c;Top39 CS系中有24所#xff0c;在入门课程中教授Python#xff0c;可见其实用性的认可度很高。在我写下…在最近的一份调查中显示美国top高校中Python已经成为教授计算机科学入门课程方面最受欢迎的语言。其中Top10 CS系中有8所使用PythonTop39 CS系中有24所在入门课程中教授Python可见其实用性的认可度很高。在我写下这篇文章的时候在美国top高校中Python已经成为教授计算机科学入门课程方面最受欢迎的语言。Top10的CS 系中有8所Top39的CS系中有24所在入门课程中教授Python。 Python成为最受欢迎语言的动机
Python逐渐成为教授初学者编程的第一选择。三年前Mark Guzdial通过博客预测Python作为一门教学语言将会越来越受欢迎。MIT和UC Berkeley的计算机系最近将他们入门课程的教授语言改成了Python。最大的三个MOOCMassive Open Online Courses提供商edXCoursera和Udacity也全都提供了Python语言的入门课程。并且不同子领域的教授们比如说Lorena Barba在也致力于教授初学者Python。
在过去四年中我开发了一些教学工具在这些工具中Online Python Tutor (www.pythontutor.com)在使用人数上取得了突飞猛进的增长这得益于越来越多的人使用Python。
尽管各方面都在说Python越来越受欢迎但是我并没有看到一个数字上的确切统计。所以我决定统计在美国Top高校的计算机系中有多少使用Python来教授他们的入门课程由此得出Python是不是越来越受欢迎。在统计过程中其他受欢迎的教学语言也被一同列出。
为什么我要做这个研究这是因为选择不同的语言不仅反映了不同学校计算机系的教育哲学更为重要的是它影响了许多学生对计算机科学的第一印象。被这些Top高校选择的语言暗示着计算机科学教育的发展趋势要知道这些Top高校实际上就是趋势的制定者。 利用方法论进行研究
在研究中根据U.S. News 在2014年给出的排名我选取了Top39高校中的计算机系作为研究对象。有8所学校的计算机系排名并列第40名这就是为什么我选择Top39作为研究对象的原因。不管谁给出的排名都有瑕疵并且排名会随着时间不断发生变化。我采用的这份排名中只考虑了那些能够授予博士学位的大学还有很多我尊敬的大学没有包含在这39所之内包括我的母校。
对每一所大学我挑选出CS、CSE、EECS这三个专业的CS0和CS1课程。在我的研究中CS1代表CS专业的学生最需要学习的课程CS0代表一门入门的编程课上这门课的可能是还没有定专业的学生或者是在上CS1前需要额外准备的学生。学习CS0和CS1都不需要其他任何CS方面的预备知识。要不然他们也不会是学生选择的第一门CS课程学习CS1之前也不一定要学CS0。请注意对于CS0和CS1并没有一个严格的官方定义所以我必须使用一些个人的看法当然我会尽量遵守每个系关于课程的官方描述。
尽管一些老师认为CS1指的就是入门编程课程在我的研究中我特意将CS1和CS0放在一起因为对许多学生来说是在大学学习的第一门编程语言。鉴于美国K-12相当于国内的小学到高中教育在计算机科学教育方面的不幸状态这些大学课程可能是许多学生特别是女性和少数民族第一次接触到编程语言。即使学生事先有编程经验编程语言第一次正式出现在大学课程中仍然具有很大的影响力。我认为CS0和CS1同样重要因为随着编程在科学领域变得无孔不入越来越多的非专业人士也开始学习CS0课程。再者少部分CS专业的学生在学习CS1之前会先学习CS0特别是那些之前没有任何编程经验的学生。所以对学生来说CS0课程作为通往计算世界的大门起着极其重要的作用没有这门课程他们可能都不会知道自己在这方面有着如此巨大的热情。 研究结果
下面这张表展示了七种最受欢迎的语言在Top39高校中的使用情况。将每个柱形代表的数字加起来和大于39这是因为许多学校同时提供了CS0和CS1的课程。 继续探讨
尽管我是一个Python语言的拥护者但我会尽我最大的努力去不带评价地陈述事实。在这个表格中Python是最受欢迎的语言Java排第二。Java语言在过去的十年中在入门课程教学中一直占有主宰地位。但是现在一些学校完全摒弃了Java全部使用Python还有一些学校采取了一个混合的方法在CS0中使用Python而在CS1的教学中使用Java。在高中APAdvanced Placement课程中使用的仍然是Java语言。
排在Python和Java之后的语言是MATLABMATLAB经常在CS0课程中使用。跟在MATLAB之后是C在过去十年中C的重要地位被Java完全取代。在2003年高中的AP课程甚至都用Java取代了C。从这个表格来看C语言和C语言受欢迎的程度一致。一些学校在使用C语言教授入门课程的时候将C语言和其他的语言结合起来使用比如说哈佛大学。
Scheme-based 语言在一部分教育工作者和编程语言研究者中相当受欢迎。最引人注意的是两个哲学校园SICP 和 HtDP已经围绕Scheme生态系统建立了广受好评的教科书和相应课程。但是最近几年比如在MIT和UC BerkeleyPython已经取代了Scheme的地位。表格显示Scheme仅仅只在四所学校中使用。
表格中列出来的七种语言中Scratch是唯一的一种可视化的、基于块的编程语言Scratch是这种类型的语言中最受欢迎的一种使用Scratch完成的项目有Alice、App Inventor、Etoys、Kodu、StarLogo 和 TouchDevelop 等等。这种类型语言的创造者将精力主要放在K-12教育上这或许能够解释为什么这种类型的语言没有在大学中获得广泛的使用。 写在最后
最后 注意到三个有趣的语言集合没有出现在这个表中因为这些语言仅仅只被一所学校选用或者根本没有学校选用
静态类型的功能性语言比如说 Haskell 和 OCaml这些语言在PL研究者中非常受欢迎。动态类型的语言比如说JavaScriptRuby和PHP这些语言在网络编程者中非常受欢迎。广泛使用的工业语言这些语言一般和特定的平台相关联包括苹果的 Objective-C和微软的C#/Visual Basic。
如果我们在五年十年或者二十年以后再回顾这篇文章届时哪一种语言会是时代的宠儿 英文来自
ACM本文由
moqiguzhu编译项目地址
CODE。