学文科的优势_当文科生遇上编程

文/李润泽 杨春序 周玉鑫 赫一诺 董佳晨 王筱蔓(北京大学)

97f80e0ad2c54c1c7436c1cf0438267d.png

点击了Run程序中的运行键后,谢云腾带着疲惫爬上床,留下电脑在黑暗中飞速运行。这已经是他写这次文科计算机基础实验班课程作业的第三个晚上。

这是一次网络爬虫作业,要求爬取“新浪每日热点新闻”版面连续31天的新闻内容,并对字数、图片等信息进行分析。由于数据量庞大,程序运行耗时长,再加上校园网不稳定,经常导致程序报错,停止运行,没有点好运气,程序很难执行成功。第二天早上醒来,谢云腾终于看到了“Process finished with exit code 0”(程序执行成功,正常退出)。

谢云腾的困扰在北大并非个例。自从程序设计被全面纳入文科计算机教学,许多文科生都不得不面对这个陌生的领域。随之而来的是种种不适应:老师讲得太快,难以跟上;作业得不到细致讲解,答案很难看懂;上课听得明明白白,自己操作却总是失败……一时间,文科生学编程被推上了风口浪尖。

288ae274fec303b3c5081a379af33eab.png

编程归来

实际上,编程并不是在2018年秋季学期第一次进入文科计算机课程。

早期的教学计划要求文科生必选两个学期的文科计算机课程,第一学期教授计算机基础知识和办公自动化,第二学期教授程序设计。2000年后,随着Office的普及,第一学期的内容变为计算机基础知识和Office,第二学期则提供多个专题供学生自主选择学习,其中包括程序设计。2015年前后,随着毕业学分调整,文科计算机课程被压缩成一学期;同时,信息科学技术学院也开始了让编程回归文科计算机必修课程的探索。

2018年是试验的第3年,也是最后一年。此后,不管是在实验班还是基础班,编程都成为了必修内容。

编程的回归也引发了不少争论。

教学方式是争论的焦点。“老师没有操作代码,直接把例子放在课件上展示,当我们还在看代码是什么意思的时候,已经放过去很多张幻灯片了。”国际关系学院2018级本科生张宸赫说。他认为编程教学进度过快,效果不好,不如把课程分为两个学期,第一学期详细学习Office,第二学期慢慢学Python。“就像学语言一样,从学音标开始。”

“培养科学家和培养实际使用者,这两个是有区别的。”负责文科计算机基础实验班教学的邓习峰老师猜测,第一次讲Python的老师可能采用了培养专业“码农”的方式,转换成适合文科生的教学方式需要一个过程。“另一个问题在于时间太短,”邓习峰分析,“现在的文科计算机课程由原来双学期的课变成单学期,时间缩短导致内容讲不完,不够精细,学生容易处于半生不熟的状态。这是课程建设过程中要继续优化的内容。”

但他也表示,课程开设之初,学院就制定了针对文科生的教学计划,编程语言的选择就是特点之一。

“这次选择经过了复杂的决策,但后来我们都选了Python。”邓习峰说。相比其他编程语言,Python具有跨平台、入门简单、数据处理能力强、功能库丰富等优势。也正因此,近年它的流行程度上升很快,并成为2018年TIOBE编程语言排行榜年度语言。

由于处在过渡期,2018年秋季学期的编程教学没有设立统一大纲,不同班的教师自主选择授课方式和内容。“但只要是程序设计,内容基本是差不多的。”邓习峰说,“可能每个老师对难度的把控是不一致的,但到了2019年秋季学期就会相对统一。”同样,试卷也由各班教师自主命题,但均包括笔试与上机测试,按不同比例计入总成绩。

c61b251f46a715b7fd060e9d35d72456.png

文科与编程

在邓习峰看来,“自用程序设计”是文科生学习编程的主要目的。相对于“公用程序设计”,后者目的在于给别人使用,而前者注重满足自己的需求。

“比如处理研究数据时,如果Excel解决不了,就可以先用Python解决,再交给Excel做可视化。”他以自己研究的北京交通大数据举例:北京一天的交通数据约有1600万条,Excel完全无法处理,其他软件的效果也不好。但用Python处理只需要很短时间,就可以得出每个车站的客流量、乘客上下车时间、不同地区乘客的乘车偏好等信息。再将数据进行拓展,加入每个站的经纬度,结合地图后就可以分析哪些地方人最多、人群的流向是哪里。这就为国民经济的决策提供了保证。

而在人文学科中,中国历代人物传记数据库(CBDB)也为历史学研究提供了更多角度。CBDB依托程序设计与数据库技术,收录中国历代40余万人物的传记和谱系。借此,研究者可以查询某地在科举和出仕方面的表现,或将某特定时空下的个人创作连接起来进行分析。

“这样的技术应用到了历史学,很多概念的呈现会更加可视化、更加直观。”邓习峰认为,相比于定性研究,编程更多是在用数与算的概念去衡量我们所面对的世界。这在一定程度上弥补了中国传统思维的欠缺。

对2015级元培学院光华方向本科生韦铭杰而言,编程属于专业的一部分。在他学习的量化金融领域,编程的地位举足轻重。他表示,国外有些面试地点就有计算机,要求面试者现场编程。一次量化金融行业的实习面试中,面试官当场提出一个问题让应聘者写程序,并现场对程序进行点评。

由于当时的文科计算机教学不包含程序设计,韦铭杰特意选择了计算概论B。在他看来,学校学的和工作用的编程是有差异的,实际用的编程一定比学校学的复杂,但如果没有课程内容做基础,是做不到实际运用的。

2012级经济学院本科生唐奕波在大四时尝试过自学编程,因为感到投入产出比太低而放弃。他认为编程不能只依赖于效率较低的自学,更希望能有比较熟练的人引导,这样有问题可以直接问他们。

文章节选自《大学生》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值