首页 > 文章中心 > 计算机思维如何培养

计算机思维如何培养

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇计算机思维如何培养范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

计算机思维如何培养

计算机思维如何培养范文第1篇

关键词:计算机应用技术专业;大学生;创新思维

一、计算机应用技术专业教学中培养大学生创新思维的重要性

计算机应用技术专业教学中培养大学生创新思维至关重要,且主要表现为:首先,可促进学生形成创造性的学习意识。计算机应用技术专业教学中通过对大学生创新思维的培养,可使学生在培养期间自主开展问题思考,形成更多自身的观点、认识,提高学生思维能力,进而形成在学习中可带着创新的思维去思考问题。其次,可促进提高学生的适应能力及竞争力。当前时代背景下,创新对于计算机技术的发展至关重要,同时是计算机领域中要想实现发展突破所必须拥有的一项条件,因此越来越多企业对学生的创新思维、创新能力提供了极大要求,所以培养学生的创新思维可促进学生在今后工作岗位上形成更好的适应能力及竞争能力。

二、计算机应用技术专业教学中大学生创新思维的培养策略

(一)营造良好教学情境,正确引导学生形成创新思维

要想提升计算机应用技术专业教学质量、效率,充分发挥专业教学的创新思维培养作用,应当在良好教学情境下调动学生学习主观能动性,有效培养学生的创新思维,弥补学生对教师计算机操作进行简单模仿及机械思考问题的不足。教师应当结合课堂教学内容营造良好的教学情境,为学生提供大量观察、探究、实验操作的平台与机会。例如,在《图文混排海报的制作》教学过程中,首先,引导学生发挥自身想象力,建立开放性的教学设计活动场景,紧扣某一主题由学生自由发挥,要求学生自主运用各种操作工具来开展多样的实践思考,基于主题性教学情境,开拓学生联想及想象空间[2]。其次,组织学生运用各式各样的计算机技巧来表达自身的主题创意,依托实践活动实现自身知识、技能的有效转化,实现对海报设计的初步优化,并达到培养学生创新思维的目的。

(二)优化计算机操作教学方法,培养学生创新思维

计算机应用技术专业表现出极强的操作性,教师通常会借助实际操作向学生相关的专业知识,该种操作教学对提高专业教学成效有着至关重要的作用,并且有助于提升学生在计算机上的实践能力。然而,要想进一步实现对学生创新思维的培养,教师则应当增强操作教学的设计性、探索性,如此一来,学生便可在有效专业知识及操作技能的基础上,形成相应的创新能力。在传统计算机应用技术专业教学中,教师往往会为学生演示计算机操作流程,便讲述相关的专业知识,然而要求学生循规蹈矩地对教师操作步骤进行模仿,该种教学模式不仅显得单一,长此以往,还会使得学生产生厌学、倦怠等不良心理,进而削弱学生学习积极性。因此,教师应当革新教师观念,且还是优化计算机操作教学方法,注重推进校园文化与专业教学的有机融合,以此提升教学课堂趣味性,营造良好的学习氛围,调动学生学习的主观能动性,培养学生创新思维[3]。

(三)组织社团活动及小型科技活动,促进学生形成创新思维

组织创新活动是培养学生创新思维的一条重要途径,所以,教师在日常教学中应积极组织各式各样有创新意义的活动,诸如计算机兴趣小组活动、创新实践课、课外小型科技活动等。通过这些多样丰富的活动,不仅有助于巩固学生自身所学的专业知识,还可培养学生的计算机实践操作能力,并且,学生在活动还可进行探究思考,通过相互间的交流互动,以此形成创新思维。又如,在学生开展实践活动过程中,教师可向引导学生结合教学内容开展相关的计算机操作,然而开拓教学资源,要求学生借助互联网或图书馆查阅等方式采集相关学习资源,使学生掌握更丰富的计算机操作知识,最后引导学生以查阅学习资源为依据,开展探究实践实验,并鼓励学生实验结果进行交流讨论,进而在相互的交流中形成创新思维。

计算机思维如何培养范文第2篇

关键词:信息技术 小学教学 计算思维

中图分类号:G622 文献标识码:C 文章编号:1672-1578(2017)01-0218-01

小学生的抽象思维能力还存在一定的不足,特别是在信息技术教学的过程中,很多编程程序的学习都需要学生发挥抽象思维能力,所以有的学生在信息技术课程中的学习存在一定的问题,而且对这门课程的学习丧失乐趣和信心,但是Scratch编程的进入标准比较低,便于操作。

1 通过Scratch教学培养计算思维的学习和设计自动化

Scratch不需要像传统编程软件那样逐行地“敲”代码,而是通过拖拽已经定义好的程序模块,采用搭积木的方式快速实现程序的编写。图形化的编程减少了识忆性的要求,将学生从死记命令及命令的使用参数中解放出来。学生学习Scratch编程的过程不再是枯燥的命令组合的集成,整个编程就像儿童在搭有趣的积木玩具,同时在Scratch的舞台区,会对学生的积木式程序自动进行演示,学生可以很直观地看到各种脚本设计所呈现出来的实际效果,这种借助Scratch进行编程学习的方式就是一种自动化的计算机科学方式。

比如,老师在讲解“遥控直升机――角色的控制与停止指令”的时候,为了让学生深入理解直升机上升、下降和停止的状态,就需要构建精彩的故事环境。第一,老师可以让两个学生在头上戴上电脑小博士和直升机的头饰。然后老师说“开始”,电脑小博士就呈现出指令要求,直升机得到指令后及时做出相应的动作。在发出“前进”指令的时候,“直升机”就向前移动;在下达后退指令的时候,“直升机”也会向后运动。如果是“上升”,“直升机”可以做跳跃的动作;如果是“下降”,“直升机”可以做蹲下的动作;发出“停止”指令的时候,“直升机”就会停止运动。而且,老师可以让学生进行角色演练,让五个学生分别来扮演直升机相应的指令动作,让学生身临其境的学习知识。利用多种角色扮演,学生能够真切的感受到多个动作指令的不同,随后老师也会教学生根据课本中的内容设计遥控直升机的编程程序,学生能够有效的设计出程序,教学质量比较显著。通过这种情境模拟的方式来引入新课教学,能够有效的调动学生的学习乐趣,让学生在活动的过程中认清各个对象之间的关系,并且掌握操作方式。

2 通过Scratch教学培养计算思维的任务分析和设计

Scratch中的每一项任务,都需要学生先进行分析,而后再根据各个任务和要求思考问题解决的方式方法,最终选择和设计出各类符合自己需求的指令算法。主要是对学习环境、变量、运算符号和链表资料概念以及调试计算实践Scratch中的选择条件概念进行全面的分析,使得学生深入理解程序,并且能够根据所给出的条件进行准确的判断。在Scratch中加强对于运算符概念的理解,可以让学生对计算机整体的运算模式进行充分的把握。Scratch中的数据概念可以让学生理解链表和变量的实际含义。老师引导学生进行游戏活动的时候,第一要让学生研究游戏模式和技术,让学生找到游戏活动的相同因素,这就是游戏的主要特点。在游戏设计的时候,学生可以根据重复和不断增加的准则,逐渐深入,不断尝试使用交互和多场景交换的模式,从而熟练的掌握广播、链表和变量等相关内容。

比如,老师给学生安排游戏设计任务“迷宫游戏”,通过老师的指导,学生先选择两个,分别是猫和老鼠,可以先设计最终任务,对迷宫的状况先不进行设计,根据你的设计过程,猫能够抓住老鼠,不断进行测试,学生对于条件计算的内容有了大体的了解。在控制“小猫”方面,学生可以根据自己的兴趣爱好使用传感器、键盘或是鼠标进行操作。紧接着,老师引导学生构建迷宫模型,不断添加游戏规则,猫可以穿越墙壁等,老师可以有效的开发学生的思考能力,最后使用前进语句和条件判断来解决相关的问题。

3 通过Scratch教学培养计算思维的程序优化处理

在Scratch的脚本设计过程中,我们经常会发现同一个效果可以有多种途径或方法来完成。在许多方式方法中,我们找出一种最好的或者最合理的方式,这个过程就是计算思维的优化过程。老师要引导学生加强设计能力,敢于创新和思考,从而逐渐发展成为计算创造者和研发者。在课堂教学的过程中,老师为了加强学生实践动手能力,相应的教学安排、课时安排、优秀作品展示、微视频等教学资源都要进行认真的设计和安排,让学生感受到其中的乐趣。通过多次项目研究训练,加强使用Scratch的操作能力,可以在所掌握的知识上进一步完成现阶段的学习任务,并且理解指令集程序,再传递给角色,这时角色收到指令信息后及时做出反应。

4 结语

在小学信息技术教学中,Scratch作为可视化图块式编程工具受到了学生的喜爱,操作比较便捷、内容多种多样,指导学生在处理问题的过程中,不断的加强创造思维能力,在计算机演示和测试的时候,能够完成自己喜爱的作品,加强学生的计算思维能力。

参考文献:

[1] 黄伟.在Scratch教学中培养小学生信息素养的尝试与思考[J].新课程・中旬,2016,(4):395.

计算机思维如何培养范文第3篇

关键词:计算思维;程序设计;语言;计算;新生

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2015)49-0276-03

一、《程序设计》课程简介

《程序设计》是高等学校理工科专业普遍开设的系列必修课程。这门课主要讲授用高级语言如C/C++及Java等开发计算机程序的基本知识,培养学生用计算机分析并解决问题的能力,使学生掌握软件设计的基本方法,为后续课程奠定基础。

国内高校普遍将《程序设计》课程按照语言的不同分为多个系列:C语言、C++语言及Java语言等。不同学校及专业根据各自的培养方案为学生开设其中几种,至少有一种语言(一般是C语言)为必修,开设于大一及大二学年,理论课与实验课共60~100课时,持续1~2个学期。各高校也普遍为计算机相关专业高年级学生开设其他流行编程语言如Visual Basic以及更专业化编程语言如Matlab、SQL及HTML等等。这些语言的基本语法与C语言相似甚至是高度相似,程序设计思想相通,因而其教学也高度依赖于低年级程序设计课程的教学效果。

二、面向新生的《程序设计》课程

对计算机及软件等专业的学生而言,《程序设计》是一门专业基础课,这门课程一般开设于本科一年级,因而授课对象主要是本科新生。一方面,大多数计算机相关课程如《数据结构》、《操作系统》及《数据库》等都需要编程语言的基础知识,学生在这门课收获的学习成果对高层次的学习乃至工作都具有非常重要的意义;另一方面,编程语言课程的教学能够直接训练学生的计算思维[1],计算思维的形成和培养,是目前高等院校计算机教学,甚至包括非计算机专业的计算机基础教学所追求的一个重要目标。在学生刚刚升入本科阶段,而几乎不曾开始学习专业课,专业思维模式尚未形成之前,就逐渐培养其计算思维,又显然是这项任务的重中之重。

高中信息技术课程一般包括Visual Basic等编程语言的知识,但长期以来,受高考指挥棒的影响,全国各省市的小学、初中与高中教育普遍对计算机(信息技术)课程的重视程度不够。在程序设计不作为会考要求内容的省份,一些学校甚至没有开设编程语言课程,或者要不做任何要求,导致在高中阶段,教师与学生的教学兴趣度极低。一个最直接的后果是,即使是计算机相关专业的学生,刚进入大学时,也普遍对程序设计这类课程既陌生又恐惧。

由于这类课程本身的深度与难度,本科新生,特别是在高中阶段没有学过程序设计,甚至几乎不曾接触过计算机的新生,往往承受较大的学习压力,如果不能很好地掌握程序设计的思维与方法,学生很容易丧失学习计算机相关课程的兴趣与信心,从而影响整个大学阶段的专业学习,因而承担大一新生程序设计课程的教师也同样承受较大的教学压力。如前所述,这个问题产生的直接原因固然是高中信息科学知识储备的不足,但根本原因还是学生在从多年来已经习惯的数理化式的定义与公式学习模式转变为以计算机学科为代表的设计与实验的学习模式时产生了障碍,或者说学生没有能够形成学习计算科学应具有的思维模式。因而解决这个问题的关键即是,要通过程序设计课程的教学使学生形成并逐渐强化计算思维。

三、计算思维的内涵及重要性

按照卡内基・梅隆大学Jeannette M. Wing教授提出的广义概念[1],计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。而具体到程序设计这门课,计算思维可以理解为编写高级语言程序的方式解决问题的思维活动。由此可以看出,程序设计课程是培养学生的计算思维最重要的方式之一,而培养学生的计算思维也是程序设计课程最重要的目的之一。

计算思维这一重要概念被提出后,引起高等教育界的广泛注意。关于如何在程序设计课中培养本科生的计算思维能力这一问题也成为高校计算机教学中普遍关注的问题。文献[2-4]讨论了如何通过计算机基础教学培养计算思维,文献[5-7]讨论了通过程序设计课程培养计算思维,文献[8]讨论了如何通过程序设计培养学生的多种思维能力,文献[9;10]提出以计算思维为导向开展程序设计教学,文献[11-13]提出了基于计算思维的程序设计教学改革方式,文献[14;15]讨论了通过程序设计课程培养计算思维的具体实践方式,文献[16]探讨了如何以计算思维为训练目标设计程序设计案例,文献[17]讨论了如何通过非计算机专业的程序设计课程培养计算思维。但围绕如何针对新生开展高效程序设计课程教学[18],以及如何培养新生的计算思维这些方面的研究却还很少。

计算思维,顾名思义,即“一切皆为计算的思维”,可以把它理解为一种将复杂的实际问题都转换为可以用计算机解决的思维模式,而计算机解决任何问题的本质,显然都是通过各种计算来完成的。掌握用计算机解决问题的方法,是当今社会中最重要也是最基本的技能之一。要实现这一目标,就要靠计算思维的长期渐进式培养与发展,这主要涉及两个方面的任务:(1)需要了解计算机求解问题所使用的计算方式。只有了解计算机计算的方式,才能判断一个问题是否可以直接被计算机求解,也才能将待求解的问题转换为计算机可以求解的形式;(2)需要掌握用计算机求解问题的设计方法。只有能够设计出让计算机求解问题的计算方法,即算法,才算真正掌握了计算机科学。在众多计算机相关课程中,程序设计是能够实现以上两个任务的重要载体课程,而计算,作为计算机解决问题的终极形式,又显然应该是实现培养计算思维这一目标的核心训练手段。

四、以《程序设计》培养计算思维的实践策略

本人所在基础教学部承担上海电机学院全校非计算机专业及计算机专业本科一年级学生的程序设计课程教学任务,包括C/C++语言及Java语言,分两个学期授课,理论课共64学时,实验课共32学时。从字面意义就不难看出,“计算思维”的核心思想是计算的能力和技巧。在教学中,我们以计算作为最重要的训练方式,贯穿于整个教学环境中,尝试以计算促进计算思维的形成。具体地,我们主要采取以下方法:

1.用计算问题让学生快速开始程序设计。学生都经过从小学到高中的数学训练,普遍对各种基本数学问题非常熟悉。用一些最简单的计算问题例如“从键盘输入数值,计算其和差积商”可以使学生迅速上手,开始学习编写程序。一方面,这样可以避免在学习初就因受困于复杂的问题本身而影响编程语言语法规则的学习;另外一方面,也使学生通过解决简单的计算问题获得学习新课的成功感和自信心,提高对后续课程学习的兴趣。

2.用计算问题使学生了解程序设计实现计算的规则。在讲授选择结构程序设计时,我们使用了“数学年份,输出各月天数”的例子。一年中的各个月份天数不同,仅需分为三种情况;二月份的天数需要根据该年是否是闰年来判断,而闰年的判断是小学生都非常熟悉的:即年份能被400整除;或能被4整除但不能被100整除。为了用编程语言描述这种判定规则,就需要引入逻辑运算符表示“与”和“或”的关系并且要准确理解运算符的优先级。这样就可以通过一个例子充分了解分支结构程序的设计规则和逻辑计算的规则。

3.用计算问题使学生了解用计算机解决问题所需要考虑的额外因素。在进行一般的数学计算时,除了有些情况要求数值只能是整数,我们一般不必考虑一个数是整数还是小数。但是用高级语言处理数据,除了比较特殊的Python等语言不区分数据类型,一般的高级语言如C和Java都是严格区分数据类型的。在数学上,我们可以很自然地书写x=1,y=0.5,但是在编程语言中,如果x被定义为浮点型,那么整数转换为浮点数,涉及表示方式的转换,可能会丢失精度;如果y是整数,将浮点数转换为整数会丢失小数部分。而后者,在类型严格的语言如Java语言中甚至是不允许的。虽然单纯的数学计算几乎不涉及整数和浮点数类型转换的问题,但数据的类型转换却是程序设计中最容易出错的。通过编写测试性程序验证0.1+0.2不等于0.3,学生的印象会非常深刻,并且能够更直观地了解在用计算机计算时,数据类型精度是一个必须要考虑的因素,从而形成一种思维模式,在设计计算方法时能够处处考虑类型与精度的相关问题。

4.通过计算加深对计算殊规则的理解,强化计算思维。在教学中,我们会让学生编程练习求“3斤2元的蔬菜,6斤多少钱”这样看似极其容易的问题。大多数学生会因为按照数学的习惯书写2/3*6这样的表达式而得到看似荒谬的答案0,这样的错误在程序设计中非常普遍地存在,并且在调试代码时这类错误隐蔽性极大,不容易被发现。只有通过大量这类的计算练习,才能让学生充分理解程高级语言(C/C++/Java等)中/的特殊运算规则,即整数除法的结果还是整数,如果要得到比较准确的结果,至少要把被除数和除数中的一个转换为浮点数,对于变量需要使用强制类型转换,对于常量,除了强制类型转换,还可以在后边添加.0,及2和2.0在计算中是截然不同的两个数,产生的计算结果也是全然不同的。由此可以进一步强化对数据类型转换的理解。

5.用计算问题使学生了解纯粹的数学思维和计算思维的差别。在讲解循环结构时,我们让学生编程计算两个数的最大公约数和最小公倍数。大多数学生会受困于小学数学中学过的短除法方法:用一个一个公因子依次去除两个数,直到商是互质的。对于手工计算,这种方法当两个数都不太大,公因子比较容易找且不都太大的情况是非常容易且直观的。但是用计算机套用这种思路编程时就会遇到麻烦:手工计算式公因子是直观“看”出来的,而计算机是没有办法一下子猜到一个公因子的。但是利用循环,这个问题就迎刃而解。按照定义,最大公约数,就是最大的可以整除两个数的数,最大不会超过两个数中较小的一个,只要用循环,从两个数的最小值开始,一个一个尝试,每次减1,找到一个能够同时整除两个数的数,就是答案而不必继续找,而各种高级语言普遍都提供了求余的运算符。当两个数变得很大时,这种方法的效率很低,于是可以利用循环实现更快寻找最大公约数的辗转相除法;对最小公倍数的练习,也同样可以强化循环的学习效果。通过这些例子可以使学生清楚地意识到,数学中的计算方式转换为计算机的求解过程需要一定的转换,而这种转换正是计算思维的关键所在。

对以上几种计算训练模式,一个重要的环节是让学生在实验时犯错误,通过在计算中发生看似怪异的错误,而运算过程在数学上看来又无懈可击,才能通过仔细的错误分析与代码调试,发现按照一般思维无法发现的,由于计算机编程语言处理问题的特殊性而导致的错误,这样才能使学生对这类错误的印象更深刻,从而尽可能减少今后出现同类错误的可能。

五、结语

在程序设计的教学中,我们利用学生普遍具有长期打下的良好的数学基础这一特点,通过采取以上几种方法,让学生在解决计算问题时学会设计计算方法,逐步形成计算思维模式、加强计算思维方法,最终培养其计算思维能力。目前,课程教学改革正在持续进行阶段,已初步取得一定成果,但还缺乏更久更大范围的理论研究和实践论证。我们希望能够以这些改革措施改进理工科《程序设计》课程的教学效果,为大一学生学习后续课程打下良好的基础,使他们受到全面的计算思维训练,具有良好的信息素养,最终提升他们在走出校园进入当今信息社会时的核心竞争力。

参考文献:

[1]Wing J M. Computational thinking[J].Commun. ACM,2006,49(3):33-35.

[2]朱鸣华,赵铭伟,赵晶,et al.计算机基础教学中计算思维能力培养的探讨[J].中国大学教学,2012,(03):33-35.

[3]陆汉权,何钦铭,徐镜春.基于计算思维的“大学计算机基础”课程教学内容设计[J].中国大学教学,2012,(09):55-58.

[4]李波.计算思维与大学计算机基础[J].中国大学教学,2012,(07):43-45.

[5]冯惠妍,陈争光,邰建华,et al.程序设计中“计算思维”的教学研究[J].农业网络信息,2013,(04):120-122.

[6]王卫华.在程序设计类课程中培养学生计算思维能力的思考[J].武警学院学报,2013,(07):51-53.

[7]王先超,王春生,胡业刚,et al.以培养计算思维为核心的C程序设计探讨[J].计算机教育,2013,(13):44-47.

[8]卜晨月.程序设计与学生思维能力培养的探讨[J].林区教学,2013,(03):72-73.

[9]董卫军,邢为民,索琦.以计算思维为导向的程序设计课程改革与实践[J].工业和信息化教育,2013,(06):60-64.

[10]刘光蓉.以计算思维能力培养为导向的C程序设计实验教学[J].实验技术与管理,2013,(01):154-156+191.

[11]刘晓璐.基于计算思维的Java程序设计教学改革[J].广东技术师范学院学报,2013,(05):108-110.

[12]孙丽君,杨志强,高枚.围绕计算思维培养的程序设计课程改革[J].计算机教育,2013,(05):29-31+38.

[13]徐燕,潘亚平.计算思维与计算思维能力培养――谈大学计算机基础教学改革[J].江苏技术师范学院学报,2013,(02):92-95.

[14]商书元.计算思维培养在程序设计课程中的实践[J].教育教学论坛,2013,(39):203-205.

[15]张雪伍,常晋义.计算思维在C++程序设计教学中的应用[J].计算机教育,2013,(13):52-56.

[16]杨俊生,张润.基于计算思维的“C程序设计”案例设计初探[J].工业和信息化教育,2013,(06):65-69+64.

计算机思维如何培养范文第4篇

关键词:计算思维;大学计算机;计算系统;非计算机专业

从20世纪90年代末期教育部倡议在大学开展“计算机文化”教育开始,经历了以流行软件学习与掌握为主的“计算机文化基础”教育阶段,以素养与应用驱动的计算机共性知识讲授为主的“计算机应用基础”教育阶段。随着认识的不断深入,一些问题和矛盾也困惑着人们,如面对专业教育与计算机教育平衡的学时数问题、面对快速发展的计算机技术的教学内容取舍问题、理论内容与应用技能的教学与训练平衡问题等。在这样的背景下,陈国良院士和李廉教授发起并组织了若干次关于“计算思维”的研讨会,对什么是“计算思维”及计算思维与理论思维、实验思维的关系作出了科学的论述。教育部高等学校计算机基础课程教学指导委员会和高等教育出版社等组织了若干次大学计算机论坛,探讨了“计算思维”的形式和内涵等。以哈尔滨工业大学、浙江大学等为代表的高等院校已经对“大学计算机”的计算思维教学做了若干年的改革实践,积累了很多经验,C9院校联合发表了关于以计算思维改造大学计算机课程的联合声明,这些都为大学计算机面向计算思维教育的改革奠定了很好的基础。可以说大家已经形成了“大学计算机”课程的核心价值就是培养学生的“计算思维”、应该以计算思维为导向进行大学计算机课程改革的共识,面向“计算思维”的大学计算机教育的基本思路已经深入人心。但怎样培养计算思维,大学计算机课程究竟讲授什么内容才是培养计算思维,非计算机专业学生对计算思维的需求究竟是什么?针对这些问题,本文试图给出一个解决方案。

一、从计算技术与计算系统的发展看计算思维

大学计算机课程究竟讲授什么内容才是培养“计算思维”呢?计算(机)学科存在着哪些“核心的”计算思维?哪些计算思维对非计算机专业学生可能会产生影响和借鉴呢?对这些问题的探讨将有助于大学计算机课程教学内容的选取和确定。我们先从计算技术与计算系统的发展看“核心”的计算思维,即大学计算机所面对的“知识空间”。

自20世纪40年代出现电子计算机以来,计算技术与计算系统的发展好比一棵枝繁叶茂的大树,不断地成长与发展。为此本文将计算技术与计算系统的发展绘制成一棵树,如图1所示,我们称其为“计算之树”。

1.“计算之树”的树根――计算技术与计算系统的奠基性思维

计算之树的树根体现的是计算技术与计算系统的最基础、最核心的或者说奠基性的技术或思想,这些思想对于今天乃至未来研究各种计算手段仍有着重要的影响。仔细分析这些思想,本文认为“0和1”、“程序”、“递归”三大思维最重要。

(1)“0和1”的思维。计算机本质上是以0和1为基础来实现的,现实世界的各种信息(数值性和非数值性)都可被转换成0和1,进行各种处理和变换,然后再将0和1转换成满足人们视、听、触等各种感觉的信息。0和1可将各种运算转换成逻辑运算来实现,逻辑运算又可由晶体管等元器件实现,进而组成逻辑门电路再构造复杂的电路,由硬件实现计算机的复杂功能,这种由软件到硬件的纽带是0和1。“0和1”的思维体现了语义符号化、符号0(和)1化、0(和)1计算化、计算自动化、分层构造化、构造集成化的思维,是最重要的一种计算思维。

(2)“程序”的思维。一个复杂系统是怎样实现的?系统可被认为是由基本动作(基本动作是容易实现的)以及基本动作的各种组合所构成(多变的、复杂的动作可由基本动作的各种组合来实现)。因此实现一个系统仅需实现这些基本动作以及实现一个控制基本动作组合与执行次序的机构。对基本动作的控制就是指令,而指令的各种组合及其次序就是程序。系统可以按照“程序”控制“基本动作”的执行以实现复杂的功能。计算机或者计算系统就是能够执行各种程序的机器或系统。指令与程序的思维也是最重要的一种计算思维。

(3)“递归”的思维。递归是计算技术的典型特征,递归是可以用有限的步骤描述实现近于无限功能的方法,有递归过程、递归算法、递归程序。递归过程指的是能调用自身过程的过程,递归算法指的是包含递归过程的算法,递归程序指的是直接或间接调用自身程序的程序。它是可以自身调用自身、高阶调用低阶来实现问题求解的一种思维。它借鉴的是数学上的递推法,在有限步骤内,根据特定法则或公式,对一个或多个前面的元素进行运算得到后续元素,以此确定一系列元素的方法。递归思维也是最重要的一种计算思维。

2.“计算之树”的树干――通用计算环境的进化思维

计算之树的树干体现的是通用计算环境暨计算系统的发展与进化。深入理解通用计算系统所体现出的计算思维对于理解和应用计算手段进行各学科对象的研究,尤其是应用专业化计算手段的研究有着重要的意义。这种发展,本文认为可从四个方面来看。

(1)冯・诺依曼机。简单而言,冯・诺依曼计算机由存储器、控制器、运算器、输入设备、输出设备所构成。程序和数据事先存储于存储器中,由控制器从存储器中一条条地读取指令,分析指令,并依据指令按时钟节拍产生各种电信号予以执行。它体现的是程序如何被存储、如何被CPU(控制器和运算器)执行的基本思维。理解冯・诺依曼计算机如何执行程序对于算法和程序设计有重要的意义。

(2)个人计算机。个人计算机是由CPU、内存储器、外存储器(磁盘等)及输入设备、输出设备等构成。内存、外存等构成了存储体系。随着存储体系的建立,程序被存储在永久存储器(外存)中,运行时被装入内存,它如何被存储在外存中,如何被装入内存、如何被CPU执行,如何充分地利用计算机的资源(CPU、内存和外存),这就需要操作系统――专门负责管理计算资源的一个系统软件。因此说个人计算机体现了在存储体系环境下程序如何在操作系统协助下被硬件执行的基本思维。

(3)并行与分布计算环境。并行与分布计算环境通常是由多CPU、多磁盘阵列等构成的具有较强并行处理能力的复杂的服务器环境,这种环境通常应用于局域网络/广域网络的计算系统的构建,体现了在复杂环境下(多核、多存储器)程序如何在操作系统协助下被硬件执行的基本思维。在程序执行过程中还需充分发挥多核、多存储器的性能,充分发挥C/S结构和B/S结构的性能等。

(4)云计算环境。云计算环境通常由高性能计算结点(多CPU)和大容量磁盘存储结点所构成。为充分利用计算结点和存储结点,其能够按使用者需求动态配置形成所谓的“虚拟机”和“虚拟磁盘”,而每一个虚拟机和虚拟磁盘则像一台计算机一个磁盘一样来执行程序或存储数据。一个计算/存储结点可按照使用者需求动态的配置成多个虚拟机/虚拟磁盘等。它体现的是按需索取、按需提供、按需使用的一种服务化的思维。

通用计算环境的进化思维体现了不同抽象层面的计算系统的基本思维,其核心和本质是“抽象”与“自动化”特征,即:机器层面――协议(抽象)与编码器/解码器(自动化),解决机器与机器之间的交互问题;人―机层面――语言(抽象)与编译器(自动化),解决人与机器之间的交互问题;业务层面――模型(抽象)与执行引擎(自动化),解决业务系统与计算系统之间的交互问题。

3.“计算之树”的树枝――计算与(社会/自然)环境的融合思维

计算之树的树枝体现的是计算学科的各个分支研究方向,如智能计算、普适计算、个人计算、社会计算、企业计算、服务计算等;也体现了计算学科与其他学科相互融合产生的新的研究方向,如计算物理学、计算化学、计算语言学、计算经济学等。由树干到树枝,我们可将其划分为三个层次:(1)“计算机”层次。着重于计算机器(含系统软件等)的设计、建造、开发和应用研究。(2)“计算机科学”层次。着重于计算机和可计算系统的研究。(3)“计算科学”层次。着重于面向社会各个领域以及面向各个学科融合的计算手段的研究及其应用。

由计算机到计算科学体现了计算技术与社会/自然环境的融合,体现了由狭义的计算机的研究发展为更广泛的面向社会/自然问题的计算技术的研究,体现了计算学科是由计算机学科与其他学科相互融合所形成的具有更广泛研究对象的学科。

由树干到树枝,我们还可将其划分为另外三个层次:(1)“计算机网络”层次。着重在局域网、广域网的技术及其应用,强调机器之间互联互通。(2)“互联网”层次。着重在信息互联层次,互联网被看做是拥有无限广义资源的网络,强调信息之间的互联互通。(3)“未来互联网”或“智慧网络”层次。今天的网络技术发展已由单纯的计算机网络、信息网络,发展为感知与连接各个物理对象的“物联网”、连接不同数据/知识载体的知识与数据网、连接不同服务组织所提供不同类别服务的服务网络以及连接不同组织和人员的社会/社交网络等,未来互联网将社会/自然环境变成了一个大规模网络化的环境,像水网、电网一样,网络化改变着人们的工作与生活环境,也改变着人们的思维方式。

由树枝到树干,体现了社会/自然的计算化,即社会/自然现象的计算的表达与推演,着重强调利用计算手段来推演/发现社会/自然规律。而由树干到树枝,体现了计算/求解的自然化,着重强调用社会/自然所接受的形式或者说与社会/自然相一致的形式来展现计算及求解的过程与结果。

4.“计算之树”交替促进与共同进化的问题求解思维――算法与系统

利用计算手段进行面向社会/自然的问题求解思维,主要包含交替促进与共同进化的两个方面:算法和系统。

(1)算法。算法被誉为计算系统之灵魂,算法是一个有穷规则之集合,它用规则规定了解决某一特定类型问题的运算序列,或者规定了任务执行或问题求解的一系列步骤。问题求解的关键是设计算法,设计可实现的算法,设计可在有限时间与空间内执行的算法,设计尽可能快速的算法。

(2)系统。尽管系统的灵魂是算法,但仅有算法是不够的,系统是计算与社会/自然环境融合的统一体,它对社会/自然问题,提供了泛在的、透明的、优化的综合解决方案,系统是由相互联系、相互作用的若干元素构成且具有特定结构和功能的统一整体。设计和开发计算系统(如硬件系统、软件系统、网络系统、信息系统、应用系统等)是一项综合的复杂的工作。如何对系统的复杂性进行控制,化复杂为简单?如何使系统相关人员理解一致,采用各种模型(更多的是非数学模型,用数学化的思维建立起来的非数学的模型)来刻画和理解一个系统?如何优化系统的结构(尤其是整体优化),保证可靠性、安全性、实时性等系统的各种特性?这些都需要“系统”或系统科学思维。

算法和系统就好比是:系统是“龙”,而算法是“睛”,画龙要点睛。

二、计算思维对非计算机专业人才思维的影响:一个案例剖析

前面介绍了计算思维的知识空间。接下来我们要分析一下,哪些计算思维对非计算机专业人才会产生重要影响呢?或者说非计算机专业人才对计算思维的需求是怎样的呢?我们从一个成功案例来谈。

1.John Pople――因计算机应用于化学领域而获得诺贝尔化学奖

有很多非计算机专业人才基于计算思维取得成功的案例。本文仅举一个案例,就是1998年诺贝尔化学奖的获得者波普(John Pople),他获得诺贝尔奖是因为“作为把计算机应用于化学研究的主要科学家,其建立了可用于化学各个分支的一整套量子化学方法,把量子化学发展成一种工具,并已为一般化学家所使用,以便在计算机里模拟分子赋予它们异种特性的方法,研究分子间如何相互发生作用并如何随环境而改变,从而使化学迈向用实验和理论共同研究探索分子体系各种性质的新时代”。这个工具就是“Gaussian量子化学综合软件包”,它可实现如下方面的研究:分子能量和结构,键和反应能量,分子轨道,多重矩,原子电荷和电势,振动频率,红外和拉曼光谱,核磁性质,极化率和超极化率,热力学性质,反应路径计算等。它已成为研究许多化学领域课题的重要工具,例如取代基的影响,化学反应机理,势能曲面和激发能、周期体系的能量预测,结构和分子轨道等。

2.从Gaussian工具看到的计算思维的影响

从波普所开发的Gaussian软件包,我们可以看出计算思维对其是有很大影响的。例如:

(1)符号化、计算化、可视化思维的影响。如何将分子及其特性表达为计算机可以处理、可以显示的符号,将分子及其对象转化为“计算对象”。

(2)算法思维的影响。如何计算分子轨道,如何计算密度,如何计算库仑能,如何计算分子的各种特性,这就需要算法――初始轨道猜测算法、密度拟合近似算法、库仑能算法等。

(3)系统思维的影响。如何形成完整的工具,这就需要“计算系统”的基本思维。如通过语言/模型来让研究者表达分子及其特性,表达其所要进行的研究内容,通过编译器/执行引擎,即调用计算机程序来按语言/模型表达的内容进行分析与计算等。

(4)聚集数据成“库”的思维。将信息聚集成“库”,基于“库”所聚集的大量信息进行分析与研究,可发现规律和性质。

(5)物理世界与信息世界的转换思维。这是信息处理的一般思维,即协议与编码器/解码器的思维,以采集、转换、存储、显示数据,实现物理世界与信息世界的转换。

可以看出,“0和1”、“程序”、“递归”、“算法”、“系统”以及通用计算环境等都对其产生了影响,可以说任何一种计算手段的研究都离不开一些“核心”的计算思维。

3.非计算机专业人才未来对计算思维能力的需求

波普的成功体现了计算思维对非计算机专业人才的一种影响,这种影响是深远的。进一步分析我们可看出非计算机专业学生毕业后将可能利用计算机从事两类工作。

(1)应用计算手段进行各学科研究和创新。不可否认,研究和应用本学科的理论与技术或者艺术等,是非计算机专业学生未来的主要工作内容。面对科学、技术或艺术研究的新形势,传统的手段如实验-观察手段、理论-预测手段等将会受到很大的限制,例如实验产生的大量数据其结果是很难通过观察手段获得的,此时不可避免地需要利用计算手段来辅助创新,利用计算手段来实现理论与实验的协同创新。

各学科均可应用计算手段进行学科问题的研究和创新。例如,艺术类学科可通过一些计算模型产生大量数据,通过计算、模拟与仿真等获取创新灵感,产生新的艺术品或艺术形态。再如,生物学科利用各种仪器获取大量实验数据,通过计算、模拟与比较分析等研究细胞、组织、器官等的生理、病理与药理机制,产生疾病治疗的新手段、新药物等。

著名的计算机科学家、1972年图灵奖得主Edsger Dijkstra说:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也将深刻地影响着我们的思维能力。” 利用计算手段进行相关内容的研究将成为未来各学科人才进行创新的主要手段之一。

(2)开发支持各学科研究创新的新型计算手段。虽然应用已有的计算手段进行学科研究创新很重要,然而如何将通用计算手段与各学科具体研究对象结合起来形成面向不同学科对象的新型计算手段却更为重要。换句话说,利用一条生产线生产汽车很重要,但制造能够生产汽车的新生产线却更体现了创新。因此研究支持各学科研究创新的新型计算手段,如诺贝尔化学奖获得者波普所做的工作,也将是非计算机专业学生未来的工作内容之一。

创新需要复合。这种面向不同学科创新的新型计算手段的研究尤其需要复合型人才,即一方面理解学科专业的研究对象与思维模式,另一方面理解计算思维。

4.计算思维可有效帮助非计算机专业人才跨越鸿沟

当前的非计算机专业计算机教学仅关注计算机及其通用计算手段应用知识与应用技能的教学,难以满足非计算机专业学生未来计算能力的需求,难以跨越由通用计算手段学习到未来的专业计算手段应用与研究之间的鸿沟。然而若培养的是计算思维,计算思维与其他学科的思维相互融合,便可促进各学科学生创造性思维的形成,可以说计算学科的普适思维是各学科学生创造性思维培养的重要组成部分。如图2所示。

为什么说计算思维可有效帮助非计算机专业人才跨越鸿沟呢?

思维的特性决定了它能给人以启迪,给人创造想象的空间。思维可使人具有联想性、具有推展性;思维既可概念化又可具象性,具有普适性;知识和技能具有时间性的局限,而思维则可跨越时间性,随着时间的推移,知识和技能可能被遗忘,但思维却可能潜移默化地融入未来的创新活动中。

具体而言,思维是由一系列知识所构成的完整的解决问题的思路。思维的每一个环节可能需要知识的铺垫,基于一定的知识可理解每一个环节,通过“贯通”各个环节进而理解“解决问题”的整个思维。这种贯通性的思维是“可实现的思维而非实现的细节,尽管其可抽象化、概念化,但能留在人们记忆中的可能是其可视化、形象化的表现,即应将思维以可实现、可视化的方式而不是简单化、概念化的方式传授给学生,把知识贯穿于思维的讲解与训练中。

计算机学科中体现了很多这样的思维,这些典型的计算思维对非计算机专业学生的创造性思维培养是非常有用的,尤其是对其创新能力的培养是必要的。如“0和1”“程序”有助于学生形成研究和应用自动化手段求解问题的思维模式,如“并行与分布计算”、“云计算”有助于学生形成现实空间与虚拟空间、并行分布虚拟解决社会自然问题的新型思维模式,“算法”和“系统”有助于学生形成化复杂为简单、层次化结构化对象化求解问题的思维模式,“数据化”“网络化”有助于学生形成数据聚集与分析、网络化获取数据与网络化服务的新型思维模式。借鉴通用计算系统的思维,研制支持生物技术研究的计算平台,研制支持材料技术研究的计算平台等。大学计算机就是要挖掘这样的思维,让同学不仅有“思维”,更要使学生看见并确定这种“思维”是能够实现的。

周以真教授将计算思维提升到一个新的高度,即“计算思维是运用计算科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动”,其本质就是抽象与自动化,即在不同层面进行抽象,以及将这些抽象“机器化”。其目的是希望所有人都能学会像计算机科学家一样思考,将计算技术与各学科理论、技术与艺术进行融合,实现新的创新。

三、面向计算思维的大学计算机课程改革思路

结合前述的非计算机专业的能力需求,通过合理选择可形成大学计算机课程的核心内容,包括如下:

计算技术与计算系统的奠基性思维;

通用计算环境的进化思维;

算法与系统――交替促进与共同进化的问题求解思维;

计算与(社会/自然)环境的融合思维――数据化与网络化思维。

具体内容组织可有多种形式,本文给出以下两种不同的组织方式:

(1)专题化。一些典型的计算思维,如“0和1”、“程序与过程”、“递归”、“并行与分布”、“虚拟化”、“数据抽象”等适合于以专题形式进行组织,通过典型的社会生活现象及其求解思想逐渐深入到计算系统的求解思想,围绕着专题,通过多样化的、形象化的、概念可相互映射的(注:指社会/自然中的概念与计算中的概念的映射)案例来阐述相关的思想。可使学生由浅入深地理解计算思维,并将其和社会生活现象有机地联系在一起,丰富其联想能力,促进其复合型思维的形成。

(2)系统化。为使学生对计算技术与计算系统有一个系统性的了解,也可以以系统化的方式逐层讲解计算思维。如首先介绍计算系统的基本思维(计算技术与计算系统的奠基性思维,通用计算环境的进化思维),然后介绍问题求解的框架(算法和系统),再进一步介绍一些典型的计算思维,如典型的算法思维、数据抽象与分析思维、网络化思维等。

通过以上内容的选择与组织,结合适当的教学方式以及合适的教学案例,笔者相信大学计算机课程是可以达到培养学生计算思维的目标的。但需注意:一定的“知识”是“思维”理解的前提,思维是将知识贯通起来所形成的问题求解的思路,但将思维转换成能力则还需要大量的训练。建议大学计算机第一门课程着重于通识性思维的“讲解”,而其他课程则着重于思维的“训练”,通过不同课程的合理分工来达到培养计算思维的目的。

计算机思维如何培养范文第5篇

(北京林业大学 信息学院,北京100083)

摘要:针对现今大学计算机基础教学渐渐落后于时代需求,对学生也越来越缺乏吸引力的现状,分析当今社会环境对教学的影响,提出以培养计算机思维能力为目标的大学计算机基础教学方式及教学内容。

关键词 :大学计算机基础;教学现状;计算思维;多元化

第一作者简介:徐秋红,女,副教授,研究方向为计算机科学与技术,shinestar1129@126.com。

0 引言

随着计算机技术的飞速发展,以及互联网应用的无处不在,早已将我们身边的一切事物都卷入到科技革命高速运转的车轮之中,一切都在改变,向着更精准、更智能、更快速的方向转变着。大学计算机教育也在这30多年中不断地成长和变化,无数教师在这场教育的战场上拼搏和前行,但似乎我们总感到力不从心。

1 现状分析

十几年来,大学计算机基础课一直是作为高校的非计算机专业学生的公共基础课,其教学目标一直定位于向学生普及信息技术知识和推广计算机的应用。为了实现这个目标,教师们在课程体系、教学内容、教学手段及教学方法上,一直进行着不断地研究和革新。但是,随着时代的进步,特别是计算机技术、互联网技术、虚拟和仿真技术的快速发展和广泛应用,现今大学计算机基础课的内容渐渐落后于时代需求,大学计算机基础课程对学生来说也越来越缺乏吸引力。

1.1 所面对的教育对象的现状

现在的大部分大学生已经是出生于1995年以后的年轻人,他们一出生就开始接触大量的电子设备,电视、计算机、手机,以及日常的家用电器等电子设备在他们的手中如同玩具一般平常,他们对电子设备操作的快速上手和熟悉程度是令成年人惊讶的,对他们而言,电子设备的操作方式理应如此,设备体现的效果也是理所当然。所以使用电子设备(如手机或计算机)处理文本、做一个计算、上网查询、打游戏、电子导航等,已经成为了他们的习惯。对他们而言,这是不需要加以训练的。这正是我们今天面对的教育对象的现状,他们已经是名副其实的互联网一代了。

1.2 大学计算机基础教学的现状

我国的10年义务教育早已将计算机的基本应用操作作为普及性知识,并在全国各省市的中小学教育中开设了相关的常识性课程,所以大部分的大一新生入学时,都已经了解过或掌握了一些计算机的基本操作技能,倘若今天我们在大学的计算机课程中依然以计算机初级教育为起点,或是还在采用重复性的教学内容,那么一定会让大部分的学生感到倦怠。早在4、5年前,我们周围就已经出现过许多质疑的声音,大学的计算机基础课是否应该适时地取消?到目前为止,我们也看到了这样的现实,要么有的学校干脆撤销了计算机基础课,要么有的学校内部的一些专业已经将计算机基础课程排除在四年制课程体系之外了。这不得不让我们冷静地思考大学的计算机基础教学是不是真的没有存在的必要了?

2 重新认识计算机教育的新需求

跟上时代潮流,才能处于不败之地!通过分析大学计算机基础教育的现状,不难发现,我们30年来不断地改革教学内容、教学方式及教学手段,都是在不断地适应时代变化的需求。到目前为止,我们已经完成了教育的第一步:唤醒人们对新技术革命的认识。现在我们必须迈入第二步:让人们参与到新技术革命的进程之中。那么,如何让每一个人都能顺利地参与其中,将自己的生活、工作和学习适应于今天的变化,这就要培养人们“计算思维”的意识和习惯。

2.1 充分认识计算思维是现代人类应该具备的基本思维能力之一

什么是计算思维呢?美国卡内基·梅隆大学(CMU)Jeannette M. Wing (周以真)教授在她的《Computational Thinking(计算思维)》一文中指出:“计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,它涵盖了反映计算机科学之广泛性的一系列思维活动。计算思维是每个人的基本技能,不仅仅属于计算机科学家。除了阅读、写作和算术之外,我们应当将计算思维加入到每个孩子的解析能力之中”[1]。

自20世纪80年代的微机普及到家庭开始,计算机就已经从专门的计算科学领域跨入到其他更广泛的学科和社会的各行各业之中,随之而来的是形成了大量的新型学科,这些新型学科产生的一个共同特征是都建立在与计算机技术、网络技术的深刻融合之上,那么如何让学生理解实现这一融合的初始动力,就需要用计算思维来解释。计算思维正在成为像普通的算术思维一样的人类必要的思维形式,它是认知的需要,也是今天和未来的人类生活和工作的必备能力。

2.2 培养计算思维能力才是大学计算机基础教育的意义所在

计算机技术的广泛应用和互联网的全球化,使得天才和普通人的差距逐渐变得模糊,在互联网上,所有人都有机会参与其中,人人都可以平等地发表言论,互联网上出现的许多询问都会在瞬间得到答案,更多的难题也会在成千上万人积极迅速的应答中迎刃而解。人与人交流更容易,工作场所更灵活,学习过程更便捷,生活方式更多样,可以预想到,当大学生们经过4年学习离校后,他在从事专业研究和工作时,也必须顺应本行业的计算机技术嵌入及互联网应用,否则将被时代无情地抛弃。

今天的学生几乎都会使用计算机和手机,但是他们未必了解计算机和手机功能的实现原理,或是这些功能所代表的独特的技术特征,也就是说,他们只知其然,而不知其所以然。而大学的计算机教育应该向学生讲清这其中的基本原理,讲清世界的事物之所以可以运用计算机技术和网络技术进行有效管理,其实质是该事物已经通过数字化存在于计算机中,计算机对这些数字的处理目的是要再作用于该事物,并将该事物以对人类更直观更有益的方式来显现。那么如何将事物数字化,如何规划和设计处理过程,如何在时间和空间之间权衡处理过程的效率,如何在最坏的情况下实施预防和保护,如何进行系统的自我恢复,如何利用海量的数据来加快计算和做到精准计算等,这都涉及计算思维的范畴。

3 计算机基础教育如何实现培养计算思维能力的过程

大学计算机基础教学始终是随着时展而处在不断的改革之中,其中教学内容或多或少的包括计算思维、数学思维、实证思维的内容,只是我们在教学中从来没有刻意的要区分它们,而今天我们特别强调计算机基础教育要培养学生的计算思维能力时,这就需要我们在教学环节中,注重研究如何重整相关的教学内容、如何建立合理的教学方案,如何实施有效的实践活动来帮助学生掌握计算机思维的能力。这也是现实社会发展的需要。

3.1 教学内容要通过不断更新来追随时代的变化

在计算思维能力培养的教育中应该注重两个方面的教育,一个是教育学生正视现实,同时要眺望未来;另一个是教育学生形成开放型思维的习惯。

3.1.1 让学生了解计算机技术和互联网技术的发展对其他领域的发展有着引领的作用

在现代社会中,计算机和互联网对人类生活的影响既全面又彻底,人类对物质的需求和占有的欲望所表现的行为之一——购物,其变化就很好的表现出这种影响的深刻性。在近10年的时间里,计算机和互联网已经将人们从商场拉到键盘前,甚至只要动一动手指就能够完成整个购物过程。选购商品变得越来越便捷,大量投其所好的广告精准地预测着人们的购物习惯和购物需求,这都得易于大数据时代的特征。我们要让学生了解大数据是如何产生的,以及大数据的特征和价值体现在哪里,要让学生了解大数据、数据仓库、数据挖掘技术之间的关系,要让学生了解大数据时代将对人类的思维变革、商业变革、社会的管理变革带来什么样的影响。

3.1.2 建立开放型思维习惯,理解数学的形式化思维与工程思维融合是培养计算思维能力的核心所在

正像第三次工业革命掀起的电力应用发展,至今早已让人类处在了无处不在的电力环境之中,我们几乎在应用电力的同时不再能感知电力的存在,而计算机和互联网也将步其后尘,开辟未来无处不“计算”的新天地[2]。在这一新天地中,我们将占有多少自创技术的前沿阵地?我们将会拥有多少自主创造的新领域?这是值得每个中国青年学生深思的。

若要在当今时代的技术创新中处于领先的地位,首先就要了解新技术的真实内含,要了解计算机中那些“理所当然”的功能的内在工作方式和基本原理,了解那些“理应如此”的效果所包含的计算机科学的技术及方法。未来各种学科专业的创新都必定要与计算机技术和互联网技术相结合,而在结合点中寻找切入点是非常关键的。为了寻找切入点,就要充分认识事物的处理作用于计算机就是数据计算,那么被处理的事物中,哪些是可以“计算”的和进行怎样的“计算”都是要由研究者思考和决定的。

我们应该在大学中提倡计算机科学教育,普及计算机技术基础知识,让每个学生理解事物中什么是可以计算的,如何建立和寻找事物中存在的可计算的特征,让学生掌握对事物进行有效计算的基本方法,努力培养学生具备在未来进行创新的基本能力,以实现国家整体的创新性研究和发展。

3.2 研究建立新型的教学实验环境和实验方法

计算机基础课程的内容大致分为计算机的信息表示、计算机系统结构、网络技术、多媒体技术、数据库管理技术、程序设计方法及计算机安全等多个内容,若要从这些不同的内容中提炼出表现计算机技术和网络技术的概念和原理,仅凭老师在课堂中的讲解来让学生领会和听懂是远远不够的,特别是在解释计算机的运行原理或操作系统内部独特的技术特征时,那些不可见或不易见的内容往往令学生很迷惑。

由于受到环境、可用资源和师资水平的限制,我们的计算机基础课一直实行200~300人同时上课的大班课形式,实验室对非计算机专业学生的计算机基础课仅可以满足提供台式微型机作为实验机,而且台式微型机能直接支持的只有软件应用,所以只能在实验课上做一些使用软件环境的操作性的实践,基本谈不上真正的“实验”。那么如何为计算机基础教学建立合适的实验环境,以及采用什么样的操作方式来完成计算思维能力的训练,这将是今后我们必须不断探索和尝试的工作。目前,有的高校正在尝试采用虚拟现实技术和仿真技术来设计和开发与之完全匹配的实验内容[3],实现向学生提供一个可以实际动手的实验机会。

为了形象地描述计算机原理和计算机技术中不易直接呈现的内容,我们还应该考虑采用动画、三维视频影像的方式去组建一系列专门匹配教学内容的资料片来辅助教学。由于各个学校的资源差异较大,应该组建和推广校与校之间的教学资源共享平台。

3.3 尝试建立和选择多元化的教学形式

3.3.1 教学形式和授课方法的多元化

在大学的计算机基础教育中注入培养学生计算思维能力的教育内容,将使过去从知识技能型教学,转向思维型教学,因此在教育方式和教学方法上也要考虑从单向灌输方式转为双向的互动方式;教学中可以尝试让学生讨论自身专业与计算机技术相关性分析等内容;还可以开设一些特殊的讲座来补充教学内容。

计算思维能力的培养单靠计算机基础一门课是无法完成的,应该建立合理的系列课来系统地完成这个重任,从学校的计算机教育层面上应该为学生的学习提供更大的自由度和选择空间,增强学生对教学内容的自主选择。

3.3.2 课程设计、课程实践、课程实验和实习训练的多元化

大学计算机基础教学内容广泛,应该根据不同内容去设计和实施不同形式的教学活动。因为计算思维的本质是抽象和自动化,为了契合培养学生计算思维能力的教学目标,教学活动中应该至少安排一次课程实习,学生以小组为单位参与实习,每个小组通过成员的分工合作来完成一个完整的系统设计类实习内容,让学生真实的体验解决一个具体实际问题时,如何开展问题分析、综合、抽象、推理、判断、设计、自动化处理、检验等一系列过程,以达到最终的目标,以及学会组员彼此间相互协作、交流沟通的方法和技巧。

3.4 师资建设中强调更新教育理念

目前,由于大多数正在从事计算机基础教学的教师对计算思维的理解还处在逐步认识的阶段,而且现在也还没有一个成熟的针对计算思维教育方法的现成模式,因此,不断地探索和尝试、不断地交流和总结将是我们未来主要的工作状态和工作方式。

大学的计算机基础课内容多、学时少,授课对象都是非计算机专业的大一新生,教学目标是提升学生认知世界的另一种能力——计算思维能力,要讲好这个课程,是非常不容易的。它需要讲课的教师必须具备较全面的计算机技术知识、互联网技术知识,以及其他相关领域的知识,并能够较好的将两种或两种以上领域的知识相互溶合,同时还要求该教师应该从事过系统设计,具有实际操作的经验,具备较好的思维贯通能力和良好的表达能力。

计算机科技领域是一个发展变化最快的领域之一,也是一个与其他领域的技术相关度最密切的领域,这就直接导致了与计算机相关的概念、思想、技术、产品、行业等也在不断地去陈出新,这就要求从事计算机基础教学第一线的教师必须始终关注科技发展的动向,随时不断地学习和充实自身的学识,不断地更新教育理念,以确保能够适应不断变化、不断提升的教学要求。

4 结语

我国30多年来的快速经济发展,迅速地消耗了国家有限的自然资源,今后如果要确保国家经济的可持续发展,就必须完成转型升级,要走出一条科技含量高、经济效益好、资源消耗低、环境污染少、人力资源优势得到充分发挥的新型道路,这些都要依靠科技创新。今日世界盛行的计算机技术、互联网技术正在提供着有利的发展平台,我们必须抓住这个机遇,走出自己的创新之路,培养适应时代需求的新型人才,而计算思维能力的具备正是这一征程的原动力。

参考文献:

[1] 王飞跃. 从计算思维到计算文化[EB/OL]. [2012-2-9]. http://douban.com/group/topic/27344368/author=1.

[2] 王伟. 计算机科学前沿技术[M]. 北京: 清华大学出版社, 2012: 8-10.