以计算思维为切入点的计算机基础课程联动改革与实践
2015-12-25龚沛曾杨志强朱君波高枚
龚沛曾+杨志强+朱君波+高枚
摘 要:如何有效地在计算机基础课程中贯彻以计算思维为切入点的教学改革,是当前计算机基础教学改革研究的内容之一。本文提出了计算思维的三个层次和课程体系的关系,并实施了两门基础课程联动改革,更新课程内容体系,精选案例和实验方案,增加了“专题”模块,采用多元化教学模式,使得计算思维教学改革有效落地,培养了学生的计算思维能力和解决问题的能力。
关键词:计算思维;大学计算机基础;MOOC
计算技术的发展日新月异,已经渗透各个学科,创新人才的培养对高校计算机基础教育提出了更高的要求。但随着教学改革的深入,显现出共性问题:高校计算机基础的第一门课程主要教学内容是计算机学科知识的一个“压缩饼干”,样样多讲,但没有突出主题思想;在实践环节强调了工具的使用,导致了“狭义工具论”的说法,使很多人认为教计算机基础就是教些计算机工具及其使用方法。
为了改变现状,2010年教育部高等学校计算机基础课程教学指导委员会主任陈国良院士根据国外计算机教育的研究成果,提出了将计算思维引入大学计算机基础教学的创议,这对于培养具有创新复合型人才具有着重要的战略意义。计算思维得到了国内计算机基础教育界的广泛重视,教育部高教司为此设立了专项课题,开展了各有重点、特色的教学研究和实践。
一、提出计算思维三个层次培养目标和修订相应课程体系
计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
通过深入学习、研究、分析,我们提出了计算思维由意识、方法和能力三个层次的内容组成,并确定了相对应的计算思维三个层次培养目标,最后修订了相应课程体系。
1.计算思维三层次培养目标
(1)计算思维意识。计算思维并不是一种新的发明,而是早已存在的思维活动,是每一个人都具有的一种技能。在大学计算机课程中,计算思维的案例也是处处存在。问题是人们的计算思维活动是无意识的,关键是要将无意识的计算思维变成有意识的计算思维,主动地用计算思维去思考问题。
(2)计算思维方法。计算思维方法是计算思维的核心。计算思维方法很多,主要有两大类:一类是来自数学和工程的方法,另一类是计算机科学独有的方法。在程序设计课程中,各种常用算法以及各类问题的求解方法,如迭代法、递归法等,都是典型的计算思维方法。
(3)计算思维能力。计算思维的根本目的是解决问题,即问题求解、系统设计以及人类行为理解。从计算机应用的角度来说,解决问题就是计算机的应用问题。培养计算思维能力需要有一系列应用课程的支撑和拓展,如数据技术与应用、多媒体技术与应用等课程。这些课程引导学生应用计算思维解决各种专业的问题。
2.修订课程体系
根据计算思维的内涵,计算思维的培养不是靠1门课程能够解决的,而是一项系统工程,各门课程应该统筹考虑、联动改革。将计算思维的三层次内容分别赋予原有的“2+X”课程体系,即计算思维意识由大学计算机课程培养,计算思维方法由程序设计课程培养,计算思维能力由“X”课程培养。为此,调整各层次课程的培养,如图1所示。
二、统筹规划、联动改革,确立新课程内容体系
如何有效地在第一门课程中培养学生的计算思维意识?讲述相关概念、算法思想,对于新生来说是比较困难;而在程序设计课程中2学时的教学也很难把计算思维中的经典算法讲清楚。为此我们率先提出了将两门课程联动改革的思路,并于2012年起实施。
1.“大学计算机”课程内容体系
对“大学计算机”课程的原有内容进行梳理、优化、提升,在不弱化原基本知识、实践能力的培养基础上,腾出6周时间,开展计算思维基础、程序设计和算法初步的教学,促进对基本计算思想方法的理解,如图2所示。
新编的《大学计算机(第6版)》教材构建了以信息处理为主线的知识体系,包括信息的表示、存储与组织、计算处理和展示等各环节;增加了计算思维概念、算法和程序设计初步内容,在计算思维概念中突出计算、抽象、自动化等方面的概念与方法,通过引导性案例使之通俗易懂;程序设计初步以“基本知识”+“控制结构”为主体,同时加强算法流程设计训练,帮助学生理解计算机解决问题的思想和方法。
2.“程序设计”课程内容体系
“程序设计”课程在程序设计初步内容前置到“大学计算机”课程中后,腾出了6周时间,根据不同类别的程序设计科目,以“专题”形式增加各具特色的扩展内容,如递归函数、问题求解方法、文件系统和链表、图形应用、数据库访问、简单Web应用程序等,如图3所示。
递归是计算思维经典方法的精髓,因此增加了“递归”专题。通过教学方法改革,让学生理解了递归的核心思想是将大问题分解成同质小问题即分而治之,关键是掌握如何将求解的问题抽象出递归模式,递归算法的实现就迎刃而解了,体现了计算思维的本质“抽象”和“自动化”。通过将传统用迭代解决的问题或经典问题用递归来实现的实验训练,使得学生深刻地体会到递归解决问题的魅力,进一步理解计算思维的内涵。
在“C/C++程序设计”中通过“问题求解方法”和“文件管理系统和链表”专题教学,不但将C语言的各重要知识点串起来综合应用,更重要的是通过问题驱动引导学生学会用计算思维的思想解决问题,使学生不局限于用某个知识点解决简单问题,而是具备对复杂问题自顶向下进行全局把握的能力。
在“VB.NET程序设计”和“C#程序设计”课程中增加了对与专业相结合的“图形编程”、数据处理核心的“数据库访问”和当前流行的“简单Web应用程序”等专题,很好调动了学生学习的兴趣,启迪了计算思维的潜能,拓展了解决实际问题的思路和能力。
这一联动改革方案从2012年开始试点,2013年全面实施,既有效解决了计算思维教学落地的问题,又使得程序设计基本功的训练更为扎实。endprint
三、探索多元化教学模式,开展MOOC实践,提高学生自主学习能力
为了解决教学内容更新与教学学时压缩之间的矛盾,必须提高教学实效,探索多元化教学模式。
1.将知识教学升华为思想和方法的教学改革
在教学过程中,注重培养学生运用计算思维去思考和解决问题的能力,主要体现在以下几点。
(1)问题驱动的教学改革。精选教学案例,实施以“发现问题-分析问题-寻求多种解决方案-比较各种方案的优劣”的问题求解驱动式的方法进行教学,尽可能逼近解决实际问题的模式,引导和训练学生以正确的思维方式思考问题、解决问题。
(2)将程序设计的语言与问题求解的过程分开。先讲解决问题的思路、实现的算法描述,学生理解了算法的基本思想后,再引入程序设计语言来实现这一算法,编写代码并调试执行。这一方法加强和促进了算法的构建,训练了学生的程序设计水平,从而简化了对程序语言的复杂性的理解。
2.探索和实施MOOC教学,提高学生自主学习能力
随着2013年开始执行新的教学计划,学时由原来的周学时“2(上课)+2(上机)”减少为“2+1”,如何保证教学质量和以计算思维为切入点的教学改革的深入?MOOC教学是很好解决的途径。
2012年起我们分别在“中国大学MOOC” “上海课程中心”等平台建设了“大学计算机”和“VB.NET程序设计”MOOC和SPOC课程,已在多个学院的两届学生中进行试点。采取的措施为:
(1)采取“三不变”和“三变”。“三不变”为实验内容和要求不变、提交形式和时间要求不变;面向过程考核方式不变,包括期中、期末考核;平时答疑不变。“三变”是课堂教学从每周一次变成每两周一次;将MOOC平台成绩作为平时成绩一部分;增加了线上答疑和讨论。
(2)抓住MOOC教学的关键问题。实现翻转课堂和碎片化时间学习。翻转课堂的理想形式是线上学习、线下讨论,但是基础课班级较大,难以做到,目前的课堂教学是讲解重点、难点、常见错误、典型问题,引导学习。
实验是关键。特别是程序设计,在实验要求、强化实验管理更显重要,是确保MOOC教学质量很重要的环节。
需要监督、了解学生学习情况。这是MOOC不足的,现在正在改进。
(3)采取MOOC教学后学生的反馈。通过网络对参加MOOC教学模式的近600名学生进行学习效果调查,统计如下:
①比传统课堂好,时间自由,效率增强,57%的学生选择;
②不如传统课堂直接监督,逐步推进,27%的学生选择;
③差不多,16%的学生选择。
说明大部分学生欢迎MOOC教学模式,可促进学生自主学习。
四、多管齐下强化实践能力培养
我校计算机基础课程历来重视实践能力培养,从实验方案设计到实验过程管理再到考核方式的导向等多方面入手,主要措施如下:
(1)设计两门课程联动实验方案,精选实验案例;强调解决问题的思路,训练计算思维方法。
(2)强化实验管理,实现“三定”举措。实验课采用了限定实验项目、固定机位、限时提交的过程化管理方式,保证了出勤率和效果。
(3)强调面向过程的考核。以考促练、重在平时,进一步加大了对学生编写、调试程序能力的考核,如图4所示。
经过三年的以计算思维为导向的两门课联动改革,明确了计算思维培养的目标和途径,培养了学生计算思维意识、训练了计算思维方法,提升了计算思维能力,成效明显。
(1)我校学生参加上海市计算机程序设计科目(C、VB.NET、C#)等级考试成绩名列前茅。
(2)2015年在教指委组织的“大学计算机课程教学成效评测”中,评测成绩居参试高校前列。
(3)为学生后继“X”门计算机应用课程的学习打下了扎实的基础,计算思维方法和分析问题解决问题的能力得到提升,参加上海市及全国计算机应用设计大赛,取得丰硕成果。
(4)两门课联动举措对以计算思维为导向的教学改革有着很好的示范效应,在多所学校得到了推广。
[责任编辑:余大品]endprint