农大学生计算思维的培养

农大学生计算思维的培养

 

大学计算机基础教学经过多年的教学实践在人才培养和应用等方面都取得了骄人的成绩,但也存在很多不尽人意之处。由于教学理念及认识上的偏差,在教学中往往将教学重点放在对计算机基本概念的抽象讲解和各类常用/流行软件的使用说明上,忽略了对学生运用计算机科学处理实际问题应具备的计算思维及综合能力的培养。而计算思维本身蕴含有强大的创新能力,因此应将其作为培养创新型人才的一个重要环节。为此,由清华大学等九所985高校于2010年7月在西安举办的首届计算机基础课程研讨会上明确提出大学计算机基础教学应将培养学生“计算思维”作为教学的核心任务。   一、计算思维与计算机教学改革   美国卡内基•梅隆大学计算机系主任周以真(JeannetteMWing)教授在美国计算机权威杂志ACM(《CommunicationoftheACM》上发表并定义了计算思维(ComputationalThinking)。她指出:“计算思维是运用计算机科学的基本概念去求解问题、设计系统和以及人类行为理解的涵盖计算机科学之广度的一系列思维活动。”同时就该理论提出计算思维具有的六大特征,其中,最主要特征“是人的,不是计算机的思维方式;是思想,不是人造物;面向所有的人,所有地方”。针对周以真教授的这一定论,国内外许多专家、学者进行了大量的探索和研究,其中以桂林电子科技大学董荣胜等国内学者结合国内研究现状,认为将周以真教授的“计算思维是运用计算机科学的基本概念……”改写为“计算思维是运用计算机科学的思想与方法……”更能适合我们的计算机科学与技术的教学与研究。计算思维采用了抽象和分解来迎接庞杂的任务或者设计巨大复杂的系统。由此可以认为计算思维是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题。因此,它不再属于计算机科学家的专利,而是每个人在未来必须具备的基本技能。   将计算思维运用到计算机科学领域是近十年来提出的一种新的学术思想,已引起国际国内学术界的广泛重视。早在2007年美国科学基金会(NSF)就启动了“大学计算教育振兴的途径”(CISEPathwaystoRevitalizedUndergraduateComputingEducation,CPATH)计划,并投入巨资进行美国计算教育的改革。经过两年的研究,在申报的2009年项目提出了更为具体的以计算思维为核心的课程改革计划。CPATH计划的启动不仅引起美国教育界的关注,也引起美国科学界的关注。2008年,美国科学基金会(NSF)还启动了一个涉及所有学科的、以计算思维为核心的重大基础研究计划“计算使能的科学发现与技术创新”(Cyber-EnableDiscoveryandInnovation,CDI),进一步将计算思维的培育扩展到美国的各个研究领域。而由李国杰院士任组长的中国科学院信息领域战略研究组在撰写的《中国至2050年信息科技发展路线图》中也指出:计算思维的培育是克服“狭义工具论”的有效途径,是解决其他信息科技难题的基础。孙家广院士在《计算机科学的变革》一文中明确提出:(计算机科学界)最具有基础性和长期性的思想是计算思维。由此不难看出,计算思维在国家振兴、技术创新以及人才培养等方面所发挥的重要作用。   二、农业院校大学生“计算思维”意识培养对策   作为农业院校基础性课程教学之一,计算机基础教学的核心任务是培养学生运用计算机科学处理问题时应具备的一种科学的的思维方式,并能将这种思维有效地运用到处理专业问题的实践中。作为科学思维的三大支柱之一,计算思维在培养人们运用计算科学解决各种实际问题方面正发挥着不可替代的作用。长期以来,由于人们对计算思维在计算机基础教学中的作用认识不足,错误地认为讲思维等同于讲理论、讲理论不实用,技能与操作才是实用的东西。计算机基础教学就是讲授各类软件工具的使用以及简单的程序设计与开发,因此,在授课环节中主要讲授抽象的概念、枯燥的原理、简单的结论和操作,而忽略了在处理问题过程中应具备的分析问题的思路(如何化繁为简,变抽象为具体、直观)、解决问题的步骤和方法、科学论证和检验结论正误等正确思维方式的培养,以这种方式组织教学不仅不能使学生了解和掌握解题思想和处理方法,而且不利于学生潜能的释放和发挥,更不利于创新思维和能力的培养。因此只有改变观念,将计算思维思想引入到农业院校计算机基础教学中,引导学生学会和运用计算思维思想和方法去解释和运用抽象的概念、枯燥的原理和纷繁复杂的逻辑关系有效地处理和解决各种实际问题,以克服“狭义工具论”对教学的影响,并从中提升个人综合创新意识和创新能力。真正把培养学生“计算思维”能力作为教学核心。   (一)更新教学理念,在教学中将知识传授贯穿于“计算思维”培养的过程始终   众所周知,对于非计算机专业学生而言,学习计算科学的目的在于运用计算机技术作为支持各学科研究及创新的计算手段,而大多数农林院校的计算机基础教学仍停留在以抽象的理论知识和简单的应用讲解为主的层次上,究其原因,除学时有限教学资源不足等客观因素外,更主要的还是认识上的问题,没有充分认识到计算思维在学生学习和应用计算科学处理专业问题方面以及在创新人才培养过程中所发挥的作用。因此,在教学中必须强化学生计算思维意识的培养,真正实现将计算思维培养贯穿于知识的传授之中。   1.力求实现思维与知识的完美统一   所谓知识,就其内容来看是客观事物的属性与联系的反映,是客观世界在人脑中的主观映像。它是人们认识世界客观事物的惟一途径。同样,人们认识计算机科学也是学习通过计算机知识这一视角实现和完成的。作为一种人造实体,计算机的知识体系是由系统组成及应用等方面的内容组成,而这些内容极具思维抽象、逻辑性极强等特点,是由一系列极为复杂、高度抽象的知识构成。因此,如何将这些知识以一种具体、形式化思维方式传授给学生乃是非计算机专业教学中亟待解决的关键问题。这种方式传递给学生的信息不是某个具体问题实现的细节,而是认识和处理这类问题应具备的正确的思维方式。如在讲授数据处理知识时,可以“数据的数字化表示→数字编码(译码)→数据的存储→数据的处理→数据的显示输出”这样的思维方式详细介绍数据处理所运用的知识要点,由于这种教学思想比较接近生活、具体、鲜活、很容易被学生所理解和接受,并使学生能在思维的培养过程中很快掌握相关的知识,而且能建立一种科学、正确认识和处理问题的思维。一旦学生掌握这一思维之后,便可以很容易地将其推广至任何类型的数据处理,从而为其将所学知识运用到专业问题的处理提供了一个更为广泛的思维和创新空间。#p#分页标题#e#   2.确保思维是可实现的、可见的   在处理实际问题时必须具备正确思维,一定要保证这种思维是可见、具体,而非抽象的;是可实现的,而非虚无飘渺。下面以算法设计为例阐明思维的可实现性。算法是指对问题求解过程的一种描述,是为解决一个问题或一类问题给出的一个正确的、有限长的操作序列。在选择算法时,一个正确的思维首先要保证它是可实现的,在此基础上尽量使系统资源(时间及空间)的占用率最小、程序代码简洁、明了、易读。在计算机系统中,用户申请使用系统资源通常是通过各种进程实现,而系统中的各类资源一般都是临界资源。因此,用户在使用这些资源时一般采用竞争方式并通过进程的运行予以实现。故在设计这些进程的算法及代码编写时一定要确保所采用的算法是可实现的、是确定的。例如,某用户在某一时刻申请资源,使用完毕后应及时释放所用的资源。因此,从进程算法的设计层面上看必须实现两个主要动作:一是测试并获取资源;二是释放资源,并且二者需按严格的逻辑顺序以“原子操作”方式运行,原子操作(atomicac-tion)是指在操作系统中所有的动作要么全做,要么全不做;而从设计思维方式来看,不管采用何种代码设计,必须确保上述两个主要动作的实现。反之,若改变代码的逻辑结构,或只执行其中的一个动作都不能保证用户操作的实现。上述这种可实现思维体现在:首先要保证所选算法是正确的;其次应确保对应代码的逻辑结构合理,最后要以原子操作方式执行。   (二)以培养“计算思维”为中心,强化创新意识为目标,改进和加强实验教学   由于计算机学科是一门探索(研究)性、操作性极强的学科,很多应用无前人经验可借鉴,只能靠不断的探索、积累。正因如此,也为人们探索计算机学科的奥秘和应用提供了无限的空间。同时更是培养“计算思维”意识和提高处理实际问题的综合能力的最佳方式。但长期以来由于受到传统教育思想的影响,人们错误地把计算机实验教学看成是理论教学的附属体和验证工具,忽视了其具有的探索和研究机制以及在培养人们创新、创造方面的职能。因此必须重新审视改进和加强计算机实验教学内容。首先要破除实验教学依附于理论教学的陈规,逐步形成与理论教学统筹协调的观念,确定其相对独立于理论教学的地位,并从以下三个层次安排实验内容。   1.保留必要的基础规范性实验   用于满足学生对基本理论的验证和基本技能的培养要求。这类实验主要包括验证性实验、认识性实验和感知性实验,具体实验内容可以课堂讲授为主安排一些辅佐验证理论知识的内容,以提高学生对内容的认知。   2.结合各自专业的需要,有选择地增设综合性实验   这类实验在内容的安排上应以构造处理问题的计算模型为主,实验实例可选取既有一定的针对性又不乏能够反映基本原理性的问题。目的在于培养学生初步具备处理问题的综合能力及运用计算机处理问题所需要的“计算思维”意识。问题不一定“大而全”,只要能充分体现计算思维思想并经过有限次的操作能够完成即可。如农林院校各专业常用的田间(生物)统计的计算机模型、简单的农林资源管理方面的小型系统设计等问题。   3.探索研究开发性实验   为进一步培养和提升学生运用“计算思维”意识处理专业问题的创新综合能力。作为第三层次可增设一些具有研究开发性质的实验,旨在通过实际操作提高实际处理问题的动手能力和初步的科研能力,培养敏锐的思维能力。这类实验应具有结果的不确定性、实现手段的多样性及创新性等特点。实验内容的来源除由教师根据培养目标安排之外,也可由学生结合专业需求自行确定、设计并完成。