APP下载

落实计算思维培养的大学计算机基础课程改革实践

2020-04-03周海芳周竞文毛晓光

计算机教育 2020年3期
关键词:计算机教学内容改革

周海芳,周竞文,毛晓光,李 暾

(国防科技大学 计算机学院,湖南 长沙 410073)

0 引 言

2006 年,美国计算机科学家Jeannette M.Wing 正式提出了计算思维的概念和体系[1],受到教育界和学术界的广泛认可,被认为是近十几年来产生的最具有基础性和长期性的学术思想。而大学计算机基础作为高等教育的第一门信息类课程,肩负着使学生逐步建立计算思维的重任。因此,近十年来,国内掀起了大学计算机基础课程的教育教学改革大潮,从早期的计算机扫盲式的技能训练目标逐步向思维培养目标过渡。

通过对国内外相关高校目前大学计算机基础或类似课程开设情况的调研,并认真审视国内近十年的改革成效可知,我国高等教育界对计算思维培养的认知层次提高了、教学内容扩展更新了、实践范围拓宽了,但对于如何落实计算思维的培养尚未获得突破性的进展,相关课程体系和施教方案虽然百花齐放,但有成效的实践却凤毛麟角,与国际一流高校的差距还比较大。

1 国内外课程建设情况调研

经过十几年的普及与推广,计算思维的概念已受到国内外教育界的普遍关注和广泛认可,总体上看,国际一流高校已经建立了较为先进和完善的课程内容及实践体系,且各学校的特色十分鲜明。而国内的改革则呈现出百花齐放的现象,但也存在良莠不齐的问题。

1.1 国外发展现状

自计算思维概念提出以来,国际著名高校都开始重新审视本科计算机相关课程的设置,很多高校对本科第一门计算机课程进行了改革,教学内容从过去的认识计算机泛化到计算理论、方法、评价等更高思维层次的内容,普遍通过程序设计实践帮助学习者理解计算机科学中的基本概念和原理,初步形成计算思维。例如,美国斯坦福大学的“计算机科学”课程[2]基于JavaScript开发了实验平台,在介绍计算机基础知识的过程中,让学生通过编写和运行简短的代码来生动体验计算机的作用和局限性。美国麻省理工学院的“计算机科学和Python 编程导论”课程[3]的主要目标是使学生理解计算机在问题求解中的作用,使不同专业的学生学会编写小型程序以解决实际问题,主要教学内容包括计算概念、Python 编程语言、一些简单算法、测试和调试、算法复杂性等。美国加州大学伯克利分校的“计算的乐与美”课程[4]借助自研的Snap 平台介绍计算原理,把对学生与社会的联系的关注贯穿课程始终,其中重点关注7 方面的内容(创造力、抽象、数据与信息、算法、编程、网络、全球影响)和6 种关键计算实践(连接计算、创造计算科学产品、抽象、分析问题及产品、交流与合作)。美国卡耐基·梅隆大学的“计算原理”课程[5]在介绍计算机相关知识的同时,还引入Python 编程,希望学生学会编写、测试和调试代码,以解决生活和学习中的一些实际问题。

除教育界之外,计算思维也引起了专业组织、政府、学术界、工业界的广泛兴趣和关注。例如,在美国自然科学基金(NSF)资助下,美国大学理事会牵头设计了新的进阶课程以强调计算和计算思维的能力培养,多所高校分别给出了示范课程[6]。为推动计算思维培养向中小学延伸,NSF 还资助了“21 世纪的计算机教育”项目[7],规划新的计算机科学进阶课程,以发掘中小学教师和学生的计算思维竞争力。在计算思维教学方法研究方面,由Tim Bell 等主持的Computer Science Unplugged 项目[8]倡导不使用计算机来教授计算机科学,来自不同国家的同行为该项目的网站贡献了大量资源。谷歌、微软等工业界知名企业也通过资助、合作、共建等方式大力支持计算思维教育教学改革,产生了较大的社会影响。

1.2 国内教改现状

在国内,陈国良院士率先提出了“在计算机基础教育中要加强学生计算思维能力的培养”的号召。教育部高等学校计算机基础课程教学指导委员会于2010 年7 月发布了《九校联盟(C9)计算机基础教学发展战略联合声明》[9],确定了以计算思维为核心的计算机基础课程的教学改革。在此背景下,国内高校纷纷开始了对计算机基础课程的改革。

通过对中国大学MOOC 和学堂在线上数十门来自不同层次高校的相关课程进行调研,我们认为,国内改革可大致分为3 个流派。一是“激进派”,改革方式是对课程内容推倒重来,具体做法是围绕计算思维理论,从抽象、计算系统、算法、数据化和网络化等角度诠释计算思维的内涵,并用案例加深理解,或者取消原课程,用程序与算法代替,这种流派效果较好,但改革难度和阻力较大,采用这种方法的院校数量不多;二是“取巧派”,在原有计算机核心知识概论的基础上增加计算思维简介和练习的内容,或者裁剪计算机核心知识概论的部分内容,而加入程序设计、算法初步等内容,这种知识组合的改革方式相对简单易行,是一些985、211 大学的普遍做法;三是“保守派”,保持课程原有知识点和技能培训内容不变,仅在课程简介里加入“计算思维”的名头,并没有实质性的改革。

因此,从前期改革情况看,真正进行较为彻底改革且取得了良好效果的高校并不多,大部分院校在改革过程中还存在诸多不足,与美国等发达国家还有着较为明显的差距。为此,教育部高等学校大学计算机课程教学指导委员会于2016年再次出台了《大学计算机基础课程教学基本要求》[10],指出了前期改革的局限性,从教学目标、内容体系、教学资源建设、教学模式与方法、质量评价等方面提出了新的要求,进一步强调了能力建设。以此为风向标,国内各高校也开始对本校的计算机基础教学进行新一轮的调整与改进。

2 由“知识输出”向“能力导向”的课程转型实践

在前期研究和实践中发现,为了更好地完成培养计算思维“第一课”的重任,大学计算机基础课程的改革不应定位于对原有体系的补充和完善,而是要通过系统规划课程目标、凝练教学内容、探索新型教学方法和手段来实现从传统的“知识输出”到“能力导向”的课程转型,这一转型将对我国高校未来的计算机基础教育具有里程碑意义。国防科技大学于2017 年全面修订了大学计算机基础课程的教学大纲,实践了以计算思维培养为核心目标的课程改革,通过两轮教学实践,逐步实现了“能力导向”的课程转型。

2.1 课程定位与教学内容的重塑

在课程定位方面,主要思路是将传统的“以教师为主体”讲授基本概念和原理的模式改变为“以学生为主体”进行问题求解的过程。具体来说,是将计算机领域广泛认可的知识模块(包括基本信息、多媒体信息表示与处理、计算机软硬件系统、计算机网络和数据库技术等)设计成一个个具体的问题,课堂上通过学生探索为主、教师引导为辅的形式对这些问题进行求解。

在明确定位的基础上,从计算的本质、计算产物、计算效益等方面明确计算思维的内涵,并研究了抽象、建模、分析、交互及协作等基本要素在计算思维建立过程中发挥的作用,由此可系统地描绘学生建立计算思维应具备的核心知识结构和基本能力,进而重新梳理了大学计算机基础课程的教学内容和知识体系。按照“产出牵引、能力导向”的倒推模式,给出按研究对象划分的问题式教学内容框架(见表1)。该框架并没有摒弃传统意义上的计算机基础知识结构的构建,而是围绕建立计算思维的教学目标在不断深入接触和运用计算机的实践中自然而然地将这些知识性的内容纳入学生的学习过程中。

表1 问题式教学内容框架

2.2 “问题引导、知识植入、增量设计”的教学方法

为了切实落实上述教学目标与内容,在教学方法上全面摈弃传统的以教师为中心的“满堂灌”教学模式,大幅压缩基础理论知识的课堂讲授时间,增加学生动手实践时间,选择Python语言作为实验基础,探索以学生为中心的参与式教学形式,提出“问题引导、知识植入、增量设计”的教学方法。

由表1 可知,教学内容主要由一些具有一定复杂度的应用问题组成。基于由浅入深、循序渐进的“增量式”设计原则,将这些问题的求解过程拆解为若干阶梯形的任务步骤,在引导学生一步步完成这些进阶任务的过程中适时植入所涉及的计算机领域相关概念和原理。这种教学方式从根本上改变了原有的由教师端向学生端的“知识输出”模式,变成学生为了达成任务目标而自发去探究背景知识的主动学习行为,再辅以课后“举一反三”的拓展练习,使学生切实具备运用计算机知识和工具解决具有一定复杂度问题的能力。下面以计算机网络部分的问题为例,给出具体的教学设计示例,其他案例的具体设计可参考文献[11]。

计算机网络部分要解决的问题是“网页数据获取与分析”,具体来说,是要利用Python 程序从国防科技大学本科招生信息网(网址:http://www.gotonudt.cn/)上抓取国防科技大学历年各省的录取分数数据,对数据进行清洗后存入文本文件,再对文本文件中的数据进行查询分析和图形化展示(见图1)。

图1 “网页数据获取与分析”部分问题描述

我们把该问题的求解过程分解成5 个步骤,安排在3 次课中完成(见表2)。第1 次课是对目录页进行抓取和分析,以提取历年录取分数数据所在网页的网址;第2 次课抓取录取分数数据所在网页,利用正则表达式提取网页表格中的数据并存入文本文件;第3 次课对文本文件中的数据进行查询分析,并对结果进行图形化展示。通过这种渐进式的设计,由教师引导学生由浅入深、逐步实现最终目标。在求解问题的过程中,根据需要植入计算机网络方面的相关知识,如在抓取分数线目录页时,会引导学生思考网页文件存在哪、如何标识网络上的某个网页、网页文件是如何到达本地计算机等问题,从而自然地引申出Web、URL、路由等知识。另外,为保证教学效果,要求学生带电脑进课堂,课堂上边讲边练,教师讲和学生练的比例大概为1:1;为使学生切实理解课堂内容,在课堂上会安排一些配套练习,如要求学生利用HTML 编写简单网页以了解HTML 语言;为保证教学进度,会布置课前作业、安排教辅跟课等。

表2 “网页数据获取与分析”部分课堂设计

2.3 以能力评估为核心的全过程考核方式

计算思维和能力的形成需要一个过程,为客观考查学生在课程学习过程中的效果,我们对课程成绩评价体系进行了调整,提出了一套以能力评估为核心的全过程考核方案,主要包括以下两个方面。

一方面,对形成性成绩的占比和构成进行了较大幅度的调整。形成性成绩所占比例由过去的30%提高到60%,而期末考试所占比例降低为40%。形成性成绩的构成尽量覆盖学习过程的各个环节,除传统的课后作业外,还将期中考试、单元测试、专题实训、课堂表现、课内竞赛、小组研讨等纳入到考查范围。为兼顾各教学班的专业区别和教师的教学特点,课程组将形成性成绩分为统一规定部分和自主规定部分,各教学班级的教师在满足统一规定部分的基础上,可灵活设置自主规定部分的成绩构成。另外,为支撑上述评价体系有效实施,课程组在EduCoder 网络实训平台(网址:https://www.educoder.net/)上建设了一套适用于本课程的单元测试和网络实训项目。基于该平台的自动检查机制和分析统计功能,还可以有效减轻教师负担并有效帮助教师进行过程跟踪。

另一方面,我们对期中考试和期末考试的考核方式及内容进行了较大幅度的改革。考试内容包括基础知识运用、Office 技能、Python 问题求解3 个部分,其中,Python 问题求解部分的分值比例大于50%。表3 给出了2017 年和2018 年期中考试和期末考试中一部分Python 问题求解题,这些题目不仅较好覆盖了课程教学内容,又能较好面向实际,同时也兼顾了同期开设的高等数学、线性代数等课程,能有效考查学生的综合能力。在考试方式上,考试全程开卷,利用应用型客观题和编程题取代传统的知识型问答题,全面摒弃记忆型考题,强调对能力的考察。同时,采用上机考试形式,通过使用全自动考试系统和完善试题库,保证考试成绩的客观性,省去了试卷批改的工作量。

总体上看,考核的着眼点发生了根本性的变化,考核内容覆盖面更广、难度更大,对学生提出了更高的要求。但是,这种面向能力评估的考核改革是落实计算思维培养的重要保障。

3 改革成效与思考

本次改革方案从2017 年秋季学期开始正式面向我校所有一年级学生开始实施,教师和学生都碰到了前所未有的挑战和考验,但经过第一轮改革过渡后,2018 年秋季学期情况有了明显改善。从课程期末考试成绩来看,2018 年秋季学期的成绩更趋于正态分布,且平均分和及格率均较2017年秋季学期有了较大幅度提升(图2),反映出教师授课更有经验,学生学习效果更加显著。

表3 期中考试和期末考试Python 问题求解题目示例

图2 2017 年和2018 年课程期末考试成绩分布

从学习效果来看,两届学生较往届同期学生的计算机应用能力有很大提高。例如,在第二学期的计算机程序设计课程中,这两届学生表现出明显优势,在考试难度有所提升的情况下及格率和平均分不降反升。我校ACM 集训队首次出现大一新生组队获得全国赛金牌的成绩,涌现出大量将知识内化为计算意识和能力的事例,如利用Python 程序对Word、Excel 文件进行批量修改,通过操作底层数据库恢复管理信息系统中丢失的数据,编写游戏外挂等。这些现象都充分验证了以计算思维培养为导向的大学计算机基础课程转型的必要性和有效性。

另外,在分析考试数据的过程中,我们还发现了一个现象。在教学过程中,传统的计算机技能和基础理论知识很多都设置为自学方式完成,教师干预较少,但这部分内容的考试成绩平均分大多在良好以上,不及格率低于1%;而用计算的方式来解决实际问题是课程改革后的重点,这部分内容的考试成绩却并不理想,仅达到及格线。这个现象也验证了我们改革的初衷,即传统的“知识输出”效率是低下的,学生不需要教师的课堂灌输也能较好地掌握理论知识,而让知识内化为能力是困难的,课堂的有效时间应该让位于以计算思维培养为导向的教学内容,而这些内容的掌握才能真正使学生在各自的专业领域更好地发挥计算机的作用。

4 结 语

为有效落实计算思维培养目标,我校从教学内容、教学方法、考核方式等多个方面对大学计算机基础课程进行了全面改革,实践了由“知识输出”向“能力导向”的课程转型,取得了一定的成效,可为其他学校同类课程的实施和改革提供参考。

但也应看到,我校在改革过程中也面临着一些问题,例如,如何进一步有效利用有限的课堂学时,如何适应不同专业的特点,如何与后续相关课程衔接以保证计算思维培养的持续性等,这些问题是我们下一步改革的方向和重点。

猜你喜欢

计算机教学内容改革
综合利用单元教学内容进行整体单元复习
基于计算机自然语言处理的机器翻译技术应用与简介
计算机多媒体技术应用初探
改革之路
中国计算机报2019年48、49期合刊
中国古代的“计算机”
改革备忘
等差数列教学内容的深化探究
改革创新(二)
瞧,那些改革推手