浅谈大学计算机基础教学中计算思维的培养

2013-08-15 00:54
湖北科技学院学报 2013年7期
关键词:程序设计讲授语句

原 虹

(晋中学院 计算机科学与技术学院,山西 晋中 030600)

目前,自然科学领域公认有三大科学方法:理论方法、实验方法与计算方法。与这三大科学方法对应有三大科学思维,即理论思维、实验思维与计算思维。理论思维又叫推理思维,主要通过对理论的推理练习获得,可以在数学学习中获得和提高。实验思维也叫实证思维,主要通过实验中的观察和总结获得,可以在物理实验的操作与学习中获得和提高。实证思维和推理思维,我们在初高中的学习中已经得到了很好的培养。计算思维是2006年由周以真教授提出的。虽然计算机已经深入到我们生活中的方方面面,许多问题都需要计算机的辅助才能解决。如:数据的大量存储、排序、筛选等。计算思维在生活中越来越重要,却不被人们所熟知,甚至很多人认为计算思维就是数学思维。因此明确计算思维的概念,系统的培养计算思维在现在的教育中显得尤为重要。计算思维的获得可以通过相关计算机课程的学习来获得,对于非计算机专业的学生来说,大学计算机基础的学习是获得计算思维的主要途径之一。本文将从基本概念着手,结合具体的教学实践和经验,浅谈在大学计算机基础教学中如何来提高学生的计算思维能力。

一、计算机思维的概念

2006年3月,美国卡内基·梅隆Jeannette M.Wing教授在美国著名期刊Communications of the ACM上发表了题为《eannette M.Wing.Computational Thinking》的论文,在文中第一次明确指出了计算思维的概念,计算思维(Computational Thinking)是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。这个定义是高度概括,比较晦涩难懂的。之后Jeannette M.Wing教授又对计算思维进行了具体的描述,把计算思维概括为七大类具体的实现方法。总结来说就是通过计算机技术的快速发展,计算方法的改进和模型的构造使我们敢于并且能够处理一些原本个人无法独立完成的问题和设计。

二、大学计算机基础教学现状

大学计算机基础是必修课程,课程分两个阶段讲授和学习。第一学期主要讲授计算机的系统构成,Windowsxp或Windows 7操作系统,Office2003或 Office2007等内容。第二学期文科专业主要讲授计算机网络相关的基础知识,Flash动画制作等多媒体相关知识和Internet基本操作等。理科专业讲授一门高级程序设计语言,具体内容主要包括开发环境、编程基础、程序设计结构、文件操作及解决实际问题。

大学计算机基础的教学内容包含了大量的基本概念和具体的实例,这些定义和实例中很多都含有比较明确的计算思维。教师在课程内容的讲授中对计算思维也有初步的涉及。但是,由于计算思维定义的提出较晚,很多教师不了解计算思维的具体概念和培养计算思维的具体方法,因此在实际教学中关于计算思维的传递具有以下几个误区:

(1)计算思维的传递是盲目的,不系统的。

(2)在传递中过于注重程序设计语言的语法,忽视了算法及解决方法的传递,导致学生不能举一反三。不同的程序设计语言语法虽然不同,但其中所包含的算法很多是大体一致的,掌握一种程序设计语言后,其他的语言学起来应该就简单多了。在实际的学习中,大部分学生不会变通,只注重课程本身的内容,没有学到程序设计语言共同的精髓算法,因而计算思维方法没有得到提高。

(3)教师没有充分认识计算思维的重要性。在未来,计算思维将像阅读、写字一样成为人类生活中最基本的不可或缺的思维方式。

三、大学计算机基础教学中计算思维的培养

在教学大纲中,大学计算机基础的第二阶段理科学生学习的是VisualBasic程序设计(以下简称VB)或C程序设计语言。笔者有多年的VB程序教学经验,因此以下将以VB为例来说明如何培养和提高计算思维。

1.好的教材有助于学生计算机思维的培养

程序设计语言的教材各个出版社都有,甚至有些出版社还会有好几个不同的版本。有些教材会在前面的章节讲解算法的概念以及算法在计算机解决实际问题中的作用。有些教材一开始就直接介绍程序设计语言的具体工作环境、语句、语法等,忽略了算法的重要性。有些教材在介绍知识点之前,都会以一个贴合实际的具体实例作为引例。在学习之初,学生通过对例子的分析,列出自己的算法。但由于理论知识的欠缺,算法中的有些步骤现有知识解决不了,促使学生进一步学习新的知识,同时计算思维也得到培养。如:讲解DO循环之前,先给出一个问题:我国人口13亿,增长率为0.8%,多少年后我国人口将翻一番。学生在遇到问题时先进行算法分析:

第一步:设两个变量x和y,分别用于存放现有人数和增长率。同时给x和y赋初值13和0.008.

第二步:设一个变量n用于存放年数,并赋初值为0.

第三步:计算一年后新人口数量并且年数加一。

第四步:如此循环直到人口超出26.

第五步:输出变量n的值。

算法确定之后,开始写出具体的实现过程时会发现,以前学习的循环语句解决不了这类问题,于是引入新的循环语句。学生对算法和具体实现过程的思考是计算思维最好的培养方法。

所以,在课程中培养学生的计算思维要从选择教材做起。在选择教材时,一定要多比较,尽量选择内容全面,编排合理的教材。

2.合理的讲授有助于学生计算思维的提高

在对VB课程的实施中,教师倾向于系统地进行讲授。从数据类型、表达式、函数开始,到语法、控件、过程、数组,再到顺序、选择、循环结构,最后举例说明讲解的内容。经过这样传授后,学生的基本功比较扎实,但是掌握的知识与实践结合不紧密,计算思维得不到提高。解决实际问题时,最重要是使用什么算法,怎样用语句来实现算法。要想提高学生的计算思维,在讲授时就需要注意使用合适的教学方法开发学生,让学生的思维活跃起来,积极参与到其中。组织课堂活动时积极引导并鼓励学生提出可行的算法,然后对这些算法进行讨论,详细分析其优缺点,从中找出最佳算法。比如:要做到两个变量的值互换。学生会提出很多算法。直接交换赋值即a=b;b=a;引入第三个变量即c=a;a=b;b=c;借助某个控件的属性即form1.caption=a;a=b;b=form1.caption等等。先对学生的思考给出肯定,然后分析其正确与否。直接交换赋值是不能实现的,类似两个杯子里装满饮料要互换,如若直接倒,最后必有一个杯子为空。借助某个控件的属性,实现时有条件限制,若变量的数据类型与该属性的数据类型一致,则能实现操作。如果不同,则可能出错。最适合的方法是引入第三个变量,并且变量类型为变体型,这样就能实现题目的要求。在确定有效的实施算法之后,对实现算法中需要用到的语法和语句一一进行讲解并鼓励学生自己写出语句,最后教师对这些语句进行分析,指出其中不合理或者不合适的地方,给出最简洁的实现语句。如上面所述的两个变量互换,要用到的语句就是赋值语句。需要详细讲解赋值语句的结构与功能。直接赋值不能实现时如果对一个变量多次赋值,变量将保留最后一次的值,以前的值将丢失。借助控件的属性不能实现,是因为不同的数据类型在赋值时,有的可以兼容,有的就会出错。这样讲授不仅调动了学生的积极性,更主要的是让学生的思维随着课堂的进度逐步活跃起来。让学生参与解决问题的整个过程,而不是被动的听教师的枯燥讲解,是提高计算思维的主要途径之一。

3.循序渐进的上机实验练习有助于学生计算思维的增强

程序设计课程都有大量的上机实验练习,合理的贴合实际的实验练习有助于学生学习思维的增强。在上机练习时,应该分三个步骤布置实验内容。

首先,要求学生对理论课时的例子进行实际操作。

理论课上已经讨论好算法和具体的实现步骤,这样的程序写起来就变得比较容易,成功率也会提高很多。通过熟悉示例的成功解决,可以增加学生解决问题的自信心。

其次,提供和前面实例相类似的问题,要求学生写出算法和具体的实现步骤,使学生能做到举一反三。

布置和理论课的实例具有共同主要特征的实验题,让学生通过实际上机操作完成对实际问题的解决。实验内容最好是基本算法变化不大,让学生在有了前面的解题经验时能对新的内容作出基本框架的编写,详细的书写过程可以有区别。这样学生在做这些实验时,不会感到吃力也不会觉得太简单而失去兴趣。

最后,布置添加了适量新内容的实验,让学生自己利用课余时间研究算法,然后在下次课时讨论具体的算法和编程语句。

在布置新实验时要注意新增加内容的比例,应该在30%左右。同时注意实验内容尽可能地贴近实际生活,注重实用性。比如:在讲解了IF语句之后,SELECT语句之前,可以布置相关成绩界定的实验内容。输入某课程的成绩,要求在窗体上显示对应的评价结果。评定条件为:成绩≥90为优,成绩≥80且<90为良,成绩≥70且<80为中等,成绩≥60且<70为及格,成绩<60不及格。成绩的界定与学生的实际学习息息相关,且本题用以前学过的IF语句也能解决,只是解决起来较复杂。学生自己研究了算法,编写了语句解决了问题,同时也会发现书写非常繁杂。这时引入新的知识内容,如果用SELECT语句来完成此问题就容易多了,大大减少语句的数量,同时书写也简单很多。学生在经过思考和实践之后,既对原有的知识进行了巩固,也有学习新知识的渴望。经过自己的仔细思考后,在以后教师讲解时可以达到对新知识更加关注的目的。

通过这三个步骤的实验练习,让学生从自身的实践中总结计算机解决问题的要点及主要步骤,体验计算机解决问题的主要方法。同时让学生在学习知识的过程中,计算思维得以增强。

四、结 语

2010年的C9研讨会上形成了决议,在大学计算机基础教学中要以培养学生计算思维能力为教学核心。在实际教学中也要以培养学生计算思维为指导,通过对计算机基础的学习使学生的计算思维得以提高,为以后的学习生活带来便利。

[1]陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011,(1).

[2]李廉.计算思维——概念与挑战[J].中国大学教学,2012,(1).

[3]何钦铭,陆汉权,冯博琴.计算机基础教学的核心任务是计算思维能力的培养[J].中国大学教学,2010,(9).

[3]陈杰华.程序设计课程中强化计算思维训练的实践探索[J].计算机教育,2009,(20).

猜你喜欢
程序设计讲授语句
重点:语句衔接
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
我学习和讲授世界民族音乐课程的经验和体会
思政课教学中如何做到讲授“活”?
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用
如何搞定语句衔接题
注重有效讲授 打造高效课堂
作文语句实录