摘要

截止到目前,Python 已经成为目前美国顶尖大学里最受欢迎的计算机编程入门语言。计算机排名前 10 的学校里,有 8 所学校(80%)使用 Python 作为编程入门语言。在计算机排名前 39 的学校里,有 27 个学校(69%)使用 Python 作为编程入门语言。

研究背景

Python 已经成为越来越多美国顶级大学的计算机编程入门语言了。三年前,Mark Guzdial 曾撰写博客,预测 Python 在未来将成为主流的计算机编程入门语言。而现在,这个预言基本已经实现了。美国计算机排名顶尖的麻省理工大学和加州大学伯克利分校最近已经将他们的计算机编程入门教学语言改为了 Python。三大 MOOC 提供商(edX、Cousera、Udacity)都提供使用 Python 教学的计算机编程入门课程。同时,不同专业领域的教授,比如 Lorena Barba,也都倡导使用 Python 作为入门语言进行教学。

就我个人来说,由于 Python 的逐渐普及,我这四年一直在完善的教学工具 Onlie Python Tutorial 的访问也得到了迅猛的增长。

然而虽然大家都在说 Python 的使用正在逐步扩大,我却没找到什么具体的数字表明 Python 有多么的受欢迎。因此我试图从美国计算机排名顶尖的大学的教学课程里寻找一些答案。

我为什么要写这篇文章呢?因为计算机学院使用什么语言作为教学语言实际上反映了每个学校不同的教学逻辑,同时也能反映出许多学生对于计算机科学的第一印象。同时,美国计算机顶尖大学的教学语言选择实际上也能反映出剩下学校的教学语言选择趋势。

研究方法

我依照 2014 年 U.S. News 提供的学校排名,选出了计算机排名前 39 的学校。你当然可以说我选择的学校不够科学,不过所有的排名都不能保证完全的公平公正。因此我们就以这 39 个学校作为样本进行研究。至少它在某种程度上能反应一定的结果。

我找到了每个学校计算机系、计算机工程系和电子工程系的课程,并着重研究标号为 CS0 和 CS1 的课程。一般情况下课程编号开头为 CS1 的是计算机专业的基础先修课,而 CS0 开头的课程是介绍课程。当然有些学校的课程编号并不是以这种方式进行的,因此二手手游账号购买平台也稍微筛选了一下课程,选出了符合上述 CS1 以及 CS0 编号要求的课程。

研究结果

下面的图表展示了这 39 个学校的编程基础课程使用语言的状况。

讨论

从图表可以很明显地看出来,Python 是最受欢迎的入门语言。紧随其后的是 Java,Java 是过去的十年里的主要编程入门语言。有些学校完全将教学重点转到了 Python 上,另一些学校将用 Python 教的课程作为 CS0 级别的课程,同时仍旧将用 Java 教学的课程作为 CS1 级别的课程。而高中的高级课程中仍旧主要使用 Java 教学。

下一个受欢迎的教学语言为 MATLAB。MATLAB 主要在 CS0 级别的课程中出现,主要用来教科学家以及工程师如何编程。再次是 C++。不过 C++在过去的十年里已经已经基本被 Java 替代了。高中提供的高级课程早在 2003 年就已经用 Java 全面替代了 C++。C 和 C++的受欢迎程度是一样的,不过许多用 C 语言教的入门课程(比如哈佛大学的 CS50)在使用 C 的同时也使用其他语言进行教学。几乎没有学校单独使用 C 进行编程入门教学。

基于 Scheme 的语言也很受欢迎。值得一提的是,有人曾专门撰写了教科书、开设相应课程专门介绍基于 Scheme 的编程语言生态系统。但是最近几年,很多学校(比如麻省理工大学、加州大学伯恩利分校)也用 Python 替代了 Scheme。现在在这排名前 39 的学校里仅有四所学校还使用 Scheme 进行教学。

Scratch 是唯一上榜的视觉化程序设计语言。Scratch 相较于 Alice、App Inventor、Etoys、Kodu、StarLogo 和 TouchDevelop 而言,也是最受欢迎的视觉化程序设计语言。这些视觉化程序设计语言主要面向没有接受过大学级别教育的人,向他们介绍如何编程并介绍基本的编程思想。

尽管我在统计时没有列出,不过还有几个需要提到的语言。

  • 诸如 Haskell、OCaml 这样的静态函数化编程语言在 PL 研究者中非常受欢迎。
  • 诸如 JavaScript、Ruby 和 PHP 这样的动态类型的程序语言在网络工程师里很受欢迎。
  • 行业内常用的语言则与特定的平台关系紧密。比如着重做苹果软件和应用开发的主要用 Objective-C,而着重做微软程序开发的则用 C# 和 Visual Basic。

Python,美国顶尖大学里最受欢迎的编程入门语言相关推荐

  1. 美国顶尖大学特别的感恩节传统……

    感恩节通常学生和家人和朋友度过时光的机会,但许多大学有自己的感恩节传统,旨在帮助国内外的学生开展庆祝活动,享受一个假期一样美国苹果或南瓜派.下面51访学网小编带大家去发现美国顶尖大学里一些最棒的感恩节 ...

  2. 为什么选择Python作为编程入门语言

    大家好,欢迎来到 Crossin的编程教室 ! 很多刚接触编程的新手会有类似这些疑问: 我该选择什么语言作为第一门语言学习? 为什么用Python作为编程入门语言? Python是否适合零基础新手学习 ...

  3. Python已成美国顶尖高校中最受欢迎的入门编程语言

    在最近的一份调查中显示,美国top高校中,Python已经成为教授计算机科学入门课程方面最受欢迎的语言.其中Top10 CS系中有8所使用Python,Top39 CS系中有24所,在入门课程中教授P ...

  4. 美国顶尖大学的博士是怎样练成的?

    就是在名字面前加上"Dr"两个字母! >>>> 就读期间,对于"你在忙些什么"这样的问候,回答经常就是"在忙着往名字前加两个字 ...

  5. 大学里应该重点学习哪门技术语言

    别的不多说,来点干货,毕竟本人不善于说废话 ! 看了多所大学计算机专业课后,总结出大部分大学会有如下课程: <计算机组成与结构>.<计算机网络>.<数据结构与算法> ...

  6. 读书印记 - 《大学潜规则:谁能优先进入美国顶尖大学》

    这本书的出版来源于2002年底作者开始的系列报道,作者也因此获得2004年普利策奖.首先我很佩服作者的品格,作为有一定社会地位的哈佛毕业生,他的子女完全可以享受其所揭露和反对的校友优先录取政策,但是他 ...

  7. 26岁的他,任中国科大特任教授!2年前已在美国顶尖大学担任博士生导师!

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源:澎湃新闻 编辑:双一流高校 1994年出生,今年26岁的威斯康星大学麦迪逊分校原助理教授陈杲,已 ...

  8. python循环五要素_python常见单词在手,编程入门不愁

    点击蓝字"python教程"关注我们哟! 前言: 人工智能时代,python编程语言站在风口起飞,2018年7月的世界编程语言排行榜跃居于编程语言前三,2018年的IEEE顶级编程 ...

  9. Python能成为通用编程开发语言的10大原因

    世界上只有几种编程语言提供多种功能. 在当今世界,开发人员必须能去构建各种类型的应用程序,所以多学习一种多功能开发语言是有必要的. 虽说php是世界上最好的语言,但这也不妨碍Python成为通用编程开 ...

最新文章

  1. String转XML
  2. 《系统集成项目管理工程师》必背100个知识点-09初步可行性研究可能出现的结果...
  3. Android mediaRecorder框架简述(二)
  4. VS2013 C#中调用DLL
  5. Oracle备份standby,Oracle 11g 利用泠备份恢复standby库
  6. 【java】分布式一致性hash算法
  7. python将空格变成换行_Python基础之PEP8规范(代码写作规范)
  8. Flink 状态管理
  9. Linux 系统下 /etc/group 档案结构
  10. gpt2 代码自动补全_如果您认为GPT-3使编码器过时,则您可能不编写代码
  11. IOS 手写控件 简单播放器 AVFoundation音乐播放
  12. 【visio】visio软件安装
  13. 在线Cron表达生成器(定时任务时间控制)
  14. Java Web程序设计
  15. 辛格函数sinc(x)和抽样函数Sa(t)
  16. 车牌识别ocr为何物—科技普及大讲堂1
  17. 【verbs】ibv_get_device_name()|ibv_get_device_list()
  18. 自我介绍到底有多重要?如何做好自我介绍?
  19. Java调用第三方天气预报接口示范
  20. 【MySQL】DML,DQL

热门文章

  1. 数据分析师最终都会代码化的3点原因?!
  2. matlab的yalmip为什么这么慢,Yalmip问题请教
  3. 四位共阳极数码管显示函数_新手求助四位共阳数码管显示函数
  4. cesium鼠标左键获取经纬度_效率达人们怎么充分利用鼠标提高效率?
  5. js json制表符报错_JS自学_常见错误复盘
  6. 机器学习:使用numpy实现数据增强(Data Augmentation)
  7. vue 打包体积过大 实现懒加载 ????
  8. PHP版本号--phpversion(),PHP_VERSION,PHP_VERSION_ID
  9. -webkit-scrollbar
  10. 学习日记-类继承中的上下转换