浅谈高等农业院校计算思维教育
2014-04-09田绪红林丕源
田绪红, 林丕源, 肖 磊, 王 琴
(华南农业大学 信息学院, 广东 广州 510642)
0 引 言
2006年3月,美国卡内基·梅隆大学计算机系主任周以真(Jeanentte M.Wing)教授在美国计算机权威杂志ACM上发表并定义了计算思维(Computational Thinking)概念。计算思维这一观念提出后,立即得到美国教育界的广泛支持,并引起了欧洲的极大关注。国内计算机教育界也紧跟国际学术动态,2010 年7 月,北京大学、清华大学、浙江大学、复旦大学、上海交通大学、南京大学、中国科枝大学、哈尔滨工业大学、西安交通大学九所知名高校在西安交通大学举办了“C9 高校联盟计算机基础课程研讨会”,发表了《九校联盟(C9)计算机基础教学发展战略联合声明》[1-2],声明旗帜鲜明地把“计算思维能力的培养”作为计算机基础教学的核心任务。随后教育部高等学校计算机基础课程教学指导委员会组织了一系列相关会议,探讨开展“计算思维:确保学生的创新能力”的大学计算机基础课程教学改革的研究。不仅如此,相关实践也广泛地开展起来,如哈尔滨工业大学[3],西安交通大学[4]等国内许多综合性与理工大学相继开展了以“计算思维能力培养”为核心的计算机基础教学改革。相对而言,目前许多高等农业院校计算思维教育没有引起足够的重视。
1 农业院校学生也需要“计算思维能力培养”
1.1 计算思维是每个人的技能组合成分
周以真教授定义的计算思维是指运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解的涵盖计算机科学之广度的一系列思维活动[5]。她指出,计算思维是每个人的基本技能,不仅仅属于计算机科学家。我们应当使每个孩子在培养解析能力时不仅掌握阅读、写作和算术(Reading,wRiting, and aRithmetic-3R),还要学会计算思维,犹如印刷出版促进3R的普及,计算和计算机也以类似的正反馈促进了计算思维的传播。她认为,这种思维在不久的将来,会成为每一个人的技能组合,而不仅仅限于科学家。周教授甚至提出是在2050 年以前,让地球上每一个公民都具备‘计算思维’能力。换句话说,以前要“扫盲”,是扫“文盲”,在21 世纪,要扫“计算机盲”。
有学者认为不妨把计算思维看成是“基础的回归”,把学习计算机科学看成像学习数学或英语一样的基础知识。他们认为,在原来的数、理、化、天、生、物六大基础学科的基础上,加上计算机科学而成为七大基础学科。
从科学思维的角度,一般认为主要分为理论思维、实验思维和计算思维三大类。理论、实验和计算是推动人类文明进步和科技发展的三大支柱。这种认知不仅被科学文献广泛引用,而且还通过了美国国会的听证,以及美国联邦政府和私人企业报告的认同[6-7]。这方面有许多著名的例子。
先看人类基因组计划。该计划宗旨在于测定组成人类染色体(指单倍体)中所包含的30亿个碱基对组成的核苷酸序列,从而绘制人类基因组图谱,并且辨识其载有的基因及其序列,达到破译人类遗传信息的最终目的。在测序过程中,这30亿个核苷酸碱基对被分割为成千上万条长约400~800个核苷酸片段,这些片段的两端相互重叠,它们分别被测序后通过计算机程序将其拼接起来。这个拼接过程即使用超级计算机来完成有时也要耗时几个月。后来Langmead采用数据压缩中的块排序压缩算法对基因序列做索引,在此基础进一步提出了双向索引技术,从而将基因序列比对步骤的性能提高了30倍甚至300倍以上,极大地促进了生物计算整个领域的发展。这个例子说明计算机算法对科学研究具有重要作用。
最近,来自约翰霍普金斯大学的研究人员成功利用计算机去识别用以调控基因活性的DNA序列的共同点,并利用这些共同点预测基因组中的其他调控区域,这种新工具能帮助科学家们更好地了解疾病风险和细胞发育。研究人员采用的方法就是我们熟悉的机器学习技术,他们构造了两个训练数据集:其中一个是利用公开数据构建的包含大脑特殊区域的增强子序列的训练数据集,另外一个是根据他们自己的经验构建具有黑色素细胞特异性数据集。有了这两个训练数据集,就能令计算机区分训练序列特征与基因组中所有其他序列特征,创建识别不同序列的规则。在整个基因组中应用这种规则,计算机就能发现上千对可能的大脑或者黑色素细胞增强子序列。目前机器学习方法已广泛应用于不同学科的科学研究中。
从上述计算思维的论述不难看出,计算思维是面向所有的人,所有的地方。国内也不少学者提出了不同学科学生计算思维能力培养的重要性,如李志文[8]、张乐平等[9]就讨论了医科学生计算思维培养的问题,成敏盈[10]讨论财经类高校非计算机专业学生计算思维构建问题。也有学者讨论了农科院校学生信息素养培养方面的问题,如余建桥等[11]提出了现代农业信息技术课程的改革问题,张喜海等[12]讨论了数字农业与学生信息素养问题。虽然没有直接提及计算思维,但本质上与计算思维培养问题相关。
1.2 现代农业科学研究与应用的必然要求
我国现代农业将进入关键的攻坚阶段。这一阶段,农业高产、优质、高效、生态、安全的要求更加迫切,农业生产方式将向集约化生产、产业化经营、社会化服务、市场化运作、信息化管理转变,这些变化都迫切需要现代信息技术的支撑。农业规模化、精准化、设施化、专业化、标准化步伐加快,多功能、经济型、智能化的信息技术和产品在田间作业、设施栽培、健康养殖、精深加工、储运保鲜等环节将大量应用,会凸显农业信息化的综合经济效益[13-14]。
农业信息化的核心和具体表现形式是数字农业。数字农业主要包括农业要素(生物要素、环境要素、技术要素、社会经济要素)的数字信息化、农业过程的数字信息化(数字化实施,数字化设计),农业管理的数字信息化。目前,涵盖“信息农业”、“精准农业”、“虚拟农业”等概念的所有内容,可以理解为以计算机技术、地学空间技术、网络通讯技术、电子工程技术等一批信息高技术为支撑,实现农业数据信息获取的实时性和标准化,农业设计与决策管理的智能化,信息传播的网络化,实施过程的自动化,最终实现农业信息化。
由此可以看出,现代信息化农业本质上将是一个计算机智能系统,计算思维的相关概念在这个系统中得到充分体现。因此,对于高等农业院校学生,将来无论是从事现代农业科学研究,还是从事现代农业生产实践,计算思维能力培养都非常重要。
2 农业院校计算思维教学方式
为便于理解,在给出计算思维清晰定义的同时,周以真教授还对计算思维进行了更细致的阐述[5]:
计算思维是通过约简、嵌入、转化和仿真等方法,把一个困难的问题阐释为如何求解它的思维方法。
计算思维是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方法。
计算思维是一种采用抽象和分解的方法来控制庞杂的任务或进行巨型复杂系统的设计,是基于关注点分离的方法(SoC 方法)。
计算思维是选择合适的方式陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法。
式中:Fi为几何要素的变动位置,m为几何要素的变动自由度数量,Df1,Df2,,Dfm为实际几何要素相对理想几何要素在各自由度方向上的偏量。若将公差域大小记为T,则有-T/2≤Dfm≤T/2。
计算思维是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法。
计算思维是利用启发式推理寻求解答,即在不确定情况下的规划、学习和调度的思维方法。
计算思维是利用海量数据来加快计算,在时间和空间之间、在处理能力和存储容量之间进行折中的思维方法。
虽然这些详细的论述对于从事计算机科学的人员来说,计算思想的概念已经是非常清晰了。但是对于高等农业院校非计算机专业的学生,这样的论述仍然难以理解。因此,必须采用他们更易于接受的方法进行计算思维的教学。
2.1 通过具体的案例将计算思维的概念实例化
计算思维是可见、可实现的思维而非抽象的思维。周以真教授也举了一些日常生活中的事例:当你的孩子早晨去上学时,他把当天所需的东西放进背包,这就是“预置和缓存”;当有人弄丢了自己的物品,你建议他沿着走过的路线去寻找,这就叫“回推”;在什么时候停止长期租用的物品而为自己买一个呢?这就是“在线算法”;在超市付费时,你应当去排哪一个队呢? 这就是“多服务器系统”的性能模型;为什么停电时你的电话仍然可以用呢?这就是“失败的无关性”和“设计的冗余性。[5]”
当然,对于高等农业院校的大学生来说,还需要更多科学研究与生产实践的案例。
例如:在数字农业方面,虚拟植物是一个重要的研究课题,所谓虚拟植物( virtual plant)是指将植物生长信息进行重构以便采用直观的可视化方式在计算机上对其进行模拟,而虚拟植物模型的构建是实现植物形态仿真及对植物生长发育进行分析和预测的基础和关键[15]。这其中有一个著名L系统,它是一个形式语言方法,它通过对公理应用产生式进行有限次迭代后,对产生的字符串进行几何解释,就能生成非常复杂的图形,再通过可视化技术就能实现逼真效果的各种植物。
在上述案例中,计算思维的许多概念得到充分的体现。首先,它对植物形状结构用字符集进行了抽象,并通过生成规则集自动化进行迭代。而周以真教授认为计算思维的本质是就是抽象与自动化。其次,L系统中植物分枝结构的生成本质一个分形过程,从计算角度看就是一种递归思维。第三,L系统迭代过程用计算机程序实现就是循环与控制。而可视化过程更是涉及计算几何的许多算法,如用三角剖分算法对表面进行网格化处理,即对连续曲面进行数字化表达等。
通过这样案例,学生将明白要进行虚拟植物的研究与应用,不仅要懂得植物科学的知识,同时也要具备计算思维的能力。要像计算机科学家那样,如何将一个问题进行抽象与建模,如何让其能在计算机上自动化执行,如何控制问题初始条件与结束条件,如何将连续的问题离散化,如何进行数字化求解等等。
2.2 构建与农业院校各专业背景相关的案例
在开展基于案例的计算思维教学过程中,要针对高等农业院校特点,构造一些有关农业信息化,数字农业,虚拟农业等方面的通用案例,同时还要特别注意选取一些与学生的专业背景相关的特定案例。这样一方面学生更容易理解,另一方面也可激发学生学习专业知识的兴趣。
对于农学专业的学生,可以用一些具体的虚拟植物如虚拟水稻,虚拟玉米等作为案例;而对于园艺专业,则可选取虚拟花卉,虚拟景观等;动物科学专业则可用动物育种算法,动物专家系统等作为案例;食品工程专业可讲解食品质量安全监控与追溯系统的原理与构建;农业工程专业可应用的案例有无线传感器网络,物联网等;生物学专业则有生物信息学中许多案例可讲解,如基因序列比对算法、蛋白质结构预测算法、蛋白质折叠算法、蛋白质对接算法等等。
案例构建最好有专业老师的参与,这样一方面针对性更强,另一方面也能更准确地把握案例的专业性与正确性。
2.3 通过演示系统加深学生对计算思维的理解
在开展基于案例的计算思维教学过程中,可在课堂上演示相关案例系统。如对于L系统案例,已经有许多研究机构开发了基于L模型的虚拟植物系统,可直接从网上下载运行。学生通过演示可以直观看到虚拟树木或虚拟玉米一步一步生长的过程,将加深对教学案例的直观感受与计算思维概念的深入理解。也可要求学生自己从网上下载案例系统,自己安装、配置、运行。对于基础好学生甚至可以建议他们下载源代码进行分析理解。
3 结 语
高等农业院校计算思维教育非常必要,势在必行。选择合适的计算思维教学方法也非常重要,基于案例的教学是一种比较直观、学生易于接受的方式。当然在以计算思维能力培养为核心任务的计算机基础教学课程体系、教学内容、实践体系、教材等方面仍有许多问题值得进一步探讨与实践。
[1] 九校联盟(C9)计算机基础教学发展战略联合声明[J].中国大学教学,2010(9):4.
C9 League’s joint declaration for the development strategy of fundamental computing education[J].China University Teaching, 2010(9):4.
[2] 何钦铭,陆汉权,冯博琴.计算机基础教学的核心任务是计算思维能力的培养[J].中国大学教学,2010(9):5-9.
HE Qin-min, LU Han-quan, FENG Bo-qin. The cultivation of the ability of computational thinking is the core task of fundamental computing education[J].China University Teaching, 2010(9): 5-9.
[3] 战德臣.非计算机专业大学计算机课程的思维性教学改革实践[C]//第六届“大学计算机课程报告论坛”,2010.
ZHAN De-chen. Teaching reform and experience of computational thinking in fundamental computing education for students of non-computer discipline[C]//The Sixth College Computer Course Report Forum, 2010.
[4] 吴 宁,崔舒宁.以计算思维能力培养为核心的大学计算机基础课程教学内容改革研究[J].计算机教育,2012(4):107-110.
WU Ning, CUI Shu-ning. Teaching reform of college fundamental computing education based on the cultivation of the ability of computational thinking[J]. Computer Education, 2012(4):107-110.
[5] Jeannette M. Wing.Computational Thinking[J].Communications of ACM,2006,49(3):33-35.
[6] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):7-11.
CHEN Guo-liang, DONG Rong-sheng. Computational thinking and college fundamental computing education[J]. China University Teaching, 2011(1):7-11
[7] 董荣胜,古天龙.计算思维与计算机方法论[J].计算机科学,2009,36(1):1-4.
DONG Rong-sheng, GU Tian-long. Computational thinking and methodology of computer science and technology[J]. Computer Science, 2009, 36(1):1-4.
[8] 李志文.医药计算机应用基础实验教学中的计算思维能力培养[J].实验室研究与探索,2012,31(8):349-351.
LI Zhi-wen. Cultivation of computational thinking in medical computer application experimental teaching[J]. Research and Exploration in Laboratory, 2012, 31(8):349-351.
[9] 张乐平,冯红玲,宋茂海,等.生物信息学教学与医科学生计算思维培养[J].计算机教育,2012(19):12-16.
ZHANG Le-ping, FENG Hong-ling, SONG Mao-hai,etal. Teaching of bioinformatics and cultivation of computational thinking for students of medicine discipline[J]. Computer Education, 2012(19):12-16.
[10] 成敏盈.财经类高校非计算机专业学生计算思维的构建初探[J].实验室研究与探索,2103,32(10):221-223.
CHENG Min-ying. Construction of computational thinking for students of non-computer discipline in finance university[J]. Research and Exploration in Laboratory, 2013, 32(10):221-223.
[11] 余建桥,梁 颖.现代农业信息技术课程教学改革的探索与实践[J].西南师范大学学报(自然科学版),2012,37(3):162-165.
YU Jian-qiao, LIANG Ying. The exploration and practice of teaching reform in modern agricultural information technology course[J]. Journal of Southwest China Normal University(Natural Science), 2012, 27(3):162-165.
[12] 张喜海,吴亚春,沈维政.数字农业教育与学生信息素养培养研究[J].东北农业大学学报(社会科学版),2010,8(5):29-30.
ZHANG Xi-hai, WU Ya-chun, SHEN Wei-zheng. Research on the digital agricultural education and the informational literacy cultivation in agricultural university[J]. Journal of Northeast Agricultural University (Social Science), 2010, 8(5):29-30.
[13] 贺 玢.“十二五”时期中国农业信息化发展前瞻[J].湖南农业大学学报(社会科学版),2012,13(2):32-34.
HE Bin. Prospect of agricultural informatization development in China during “the Twelfth Five-Year Plan”[J]. Journal of Hunan Agricultural University (Social Science), 2012, 12(2):32-34.
[14] 丘永萍.发展数字农业推进农业信息化[J].农村金融研究,2011(9):24-28.
QIU Yong-ping. Developing digital agriculture and promoting agricultural informatization[J]. Rural Finance Research, 2011(9):24-28.
[15] 唐卫东,李金忠,刘昌鑫,等.虚拟植物模型及其构建方法研究综述[J].计算机应用研究,2012,29(9):3206-3211.
TANG Wei-dong, LI Jin-zhong, LIU Chang-xin,etal. Review of study on construction method for virtual plant model[J]. Application Research of Computers, 2012, 29(9):3206-3211.