时间:2024-05-07
□ 牟 琴 谭 良
基于计算思维的探究教学模式研究*
□ 牟 琴 谭 良
计算思维是当前国际计算机界广为关注的一个重要概念,也是当前计算机教育需要重点研究的重要课题。本文首先将探究教学模式形式化;然后结合探究教学模式的特点构建了基于计算思维的探究教学模型,将教学分成教师活动、学生活动以及教学过程三个部分,教师和学生之间通过一系列的基于计算思维的探究性教学活动连接起来;最后运用实例验证了该模型的可行性和高效性。与传统的教学模式相比,基于计算思维的探究教学模式更有助于培养学生思维。
探究教学;计算思维;教学模式
美国心理学和教育学家Robert J.Sternberg指出:思维教学的核心理念是培养聪明的学习者,教师不仅要教会学生如何解决问题,也要教会他们发现值得解决的问题。教师要为学生提供足够的思维空间,设法激励和引导学生自主学习,发现问题所在继而解决问题[1]。思维教学的中心是学生,以培养思维能力为目的,实现学生在思维活动中学习,同时也学习思维本身,两个过程相辅相成。良好的思维能力是取得成功的关键。思维教学模式是将思维训练融合在教学的各个环节当中,符合思维训练与学科教育的统一性,即学科知识与思维能力互相促进,共同提高[2]。
探究教学是将科学作为探究过程来讲授,让学生像科学家进行科学探究一样在探究过程中发现科学概念、科学规律,掌握科学方法,以培养学生的探究能力和科学精神[3]。将思维教学和探究教学结合起来,能更好地达到培养学生自主、探究、合作学习的目的。
美国卡内基·梅隆大学计算机系主任周以真指出:计算思维就是运用计算机科学的基本概念去求解问题、设计系统和理解人类的行为,它包括了涵盖计算机科学之广度的一系列思维活动[4][5]。学会计算思维,是在信息社会中创新的需要[6]。要培养出创造性人才,教育在思想和方法上就必须摆脱传统教学的偏见,让学生运用高效的思维去思考。
目前,计算思维在教学和培训中的应用和推广正逐步展开,一些计算机教育者正在教学过程中推进计算思维能力的培养。2008年,美国国家计算机科学技术教师协会(CSTA)在网上发布了得到美国微软公司支持的《计算思维:一个所有课堂问题解决的工具》 (Computational Thinking:A problem solving tool for every classroom) 报告[7]。何明昕[8]在软件工程课程中引入计算思维的关注点分离方法,并指出:作为最重要的计算思维原则之一,关注点分离是计算科学和软件工程在长期实践中确立的一项方法论原则。廖伟志等[9]就如何在课堂教学中引导学生利用计算思维去解决离散数学中的相关问题进行了探讨。李芳等[10]结合教学实践及目前人才市场的需求,探讨了当前图像处理课程教学中存在的问题,并从教学内容、教学方法、实践教学等几个方面,阐述了计算思维在该课程教学中的实践及应用。尽管如此,如何在具体的课程教学中培养计算思维能力仍然处于一个摸索阶段,还没有形成一套完整的方法体系。
基于此,本文依据计算思维的方法和探究教学的特点,提出了基于计算思维的探究教学模式。基于计算思维的探究教学模式不仅是计算思维的培养方法、应用方法,也是探究教学模式的进一步提高和升华,有利于帮助教师提高教学效率、挖掘学生潜能。
美国卡内基·梅隆大学计算机学院主任周以真认为,计算思维应是每个人必备的基本技能,不仅仅属于计算机科学家。我们应当在培养孩子解析能力时不仅让他们掌握阅读、写作和算术(Reading,wRiting,and aRithmetic——3R),还要学会计算思维。犹如印刷出版促进了3R的普及,计算和计算机也正以类似的正反馈促进着计算思维的传播。
周以真认为,计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看似困难的问题重新阐释成一个我们知道怎样解决的问题。计算思维是一种递归思维。它是并行处理,是把代码译成数据又把数据译成代码。计算思维采用了抽象和分解来迎接庞杂的任务或者设计巨大复杂的系统。它是关注的分离(SOC方法)。计算思维是按照预防、保护及通过冗余、容错、纠错的方式从最坏情形恢复的一种思维。它称堵塞为“死锁”,称约定为“界面”。计算思维利用启发式推理来寻求解答,就是在不确定情况下的规划、学习和调度。它就是搜索、搜索、再搜索,结果是一系列的网页,一个赢得游戏的策略,或者一个反例。计算思维利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。
探究教学模式是在教学过程中,要求学生在教师指导下,通过以“自主、探究、合作”为特征的学习方式对当前教学内容中的主要知识点进行自主学习、深入探究并进行小组合作交流,从而较好地达到课程标准中关于认知目标与情感目标要求的一种教学模式。认知目标涉及与学科相关的知识、概念、原理的理解与掌握;情感目标则涉及感情、态度、价值观及思想品德的培养。探究教学模式既重视发挥教师在教学过程中的主导作用,又充分体现学生在学习过程中的主体地位[11],其数学模型表示为:
式中,Q表示探究教学模式,F()是一个过程函数,AT是教师的动作集,AS是学生的动作集。P表示所提出的探究性问题。
通常,围绕P的AT和AS越多,教师和学生之间的交流、知识迁移和拓展等就越能实现。在双主条件下的探究教学中,AT和AS在原则上基本是一致甚至等同的。教师运用AT中的系列教学手段和方法引导学生从AS的这些方面去思考问题的解决方法和技巧。一般情况下,AT和AS具有如下动作集:
其中AT中的q表示设置探究性问题,激发学习动机和探究动机;i表示提出启发性问题,提供学习策略等的指导;r表示提供学习资源、方法的指导以及提供认知工具,监控学生学习的整个过程;h表示提供问题解决的工具及协作策略的指导等;c表示点评,总结,提出拓展性问题和迁移性知识。As中的l表示进入学习情境,形成学习心理;t表示根据教师的启发进行思考,形成相应的学习行动;a表示收集、分析、加工信息等;d表示小组协作讨论、共享学习资源、内化知识和学习方法,建构自己的学习框架等;m表示运用所学方法讨论、反思、互评、迁移、拓展知识等。
探究教学就是将科学问题作为探究过程来讲授,让学生像科学家进行科学探究一样在探究过程中发现科学概念、科学规律,掌握科学方法,培养学生的探究能力和科学精神[12]。在实施基于计算思维的探究教学过程中,要求学生能够运用计算思维的一系列方法去探索、发现问题的本质所在,提高学生像科学家一样独立思考和解解问题的能力。
在探究教学中融入计算思维的理念,运用计算思维的方法让学生探究学习,进而更好地发挥二者的效力,综合利用计算思维的教学策略,构建以教师为主导学生为主体、以能力培养为目标的思维教学新模式。其数学模型表示为:
式中,QCT表示基于计算思维的探究教学模式,CT表示计算思维,F()、P的含义和(1) 式中的相同,AT是教师的动作集,AS是学生的动作集。显然有:
通常情况下,A'T增加了计算思维的递归、关注点分离、约简、嵌入、转化、仿真、启发式推理等引导学生学习的方法,A's增加了计算思维的递归、关注点分离、约简、嵌入、转化、仿真、启发式推理等思考和解决问题的方法。
基于计算思维的探究教学模型如图1所示。该模型将教学分成教师活动、教学过程、学生活动三个部分,教师基于CT,运用A'T系列教学手段和方法,引导和启发学生采用A's等方式进行问题的思考和解决。整个教学过程通过一系列基于计算思维的探究性问题展开。教师首先创设教学情境、提出探究性问题,以此调动学生的学习积极性、激发其学习动机。然后启发学生通过计算思维的方法(递归,关注点分析,抽象和分解,保护、冗余、容错、纠错和恢复,利用启发式推理寻求解答,在不确定情况下的规划、学习和调度,等等)解决问题。当学生掌握这一思维方法以后,教师再启发学生运用所学方法自主探究地解决更深层次的问题,并通过小组合作的方式运用计算思维达到知识巩固和迁移的目的。
图1 基于计算思维的探究教学模型(ITMCT)
根据ITMCT,我们采用案例教学法,运用基于计算思维的探究教学模式学习C语言程序设计课程。主要探讨ITMCT在提高教学效果和培养学生计算思维能力两方面的作用。为了定量表达ITMCT在这两方面的作用,我们用EITMCT表示教学效果,用表示学生的计算思维能力。
依据ITMCT,第一步的关键是教师设置基于计算思维的探究性问题。探究性问题与教学效果和计算思维能力培养具有如下关系:
式中,qCT⊂A'T,表示教师设置基于计算思维的探究性问题。lCT⊂A'S,表示学生进入学习情境,形成学习心理。f1()是qCT的教学效果质量函数。E1表示ITMCT第一步的教学效果。g1()是lCT的计算思维能力质量函数。C1表示ITMCT第一步的计算思维能力培养效果。
例如,在学习C语言的“循环结构”时,教师如何设置探究性问题才能让学生既掌握了C语言的循环结构这个知识点,又培养了学生的计算思维呢?首先,作为任课教师,设置的探究性问题首先要吸引学生的注意力,并要仔细分析例子的代表性、应用性和兴趣性。如对于该知识点,可选用“猴子吃桃问题”:
这个例子对于学生而言,不仅很有趣,比纯粹的数字问题学习起来要快,而且具有计算思维的显著特征。这会使学生在兴趣中主动学习,从思想层面接受这个新知识,以此培养学生的递归思维意识。
依据ITMCT,第二步的关键是教师运用计算思维的各种方法,启发学生亦运用计算思维的方法思考解决问题。启发性策略与教学效果和计算思维能力培养方面具有如下关系:
式中,iCT⊂A'T,表示教师提出具有计算思维的启发性问题,提供学习策略等的指导。tCT⊂A'S,表示学生根据教师的启发进行思考,形成相应的学习行动。f2()是iCT的教学效果质量函数。E2表示ITMCT第二步的教学效果。g2()是tCT的计算思维能力质量函数。C2表示ITMCT第二步的计算思维能力培养效果。
在这一步骤中,学生根据教师提出的问题,思考解决问题的方法。发挥主导作用的教师要把控课堂,适时为学生提供帮助,运用计算思维的各种方法启发学生,提供学习策略上的引导。
例如对于以上“猴子吃桃问题”,教师根据计算思维的特点和高效,启发学生是否可以用计算思维的递归方法解决。学生根据教师的引导,运用计算思维的递归方法,逆向思维,从后往前推断。用NS流程图(图2) 表示如下:
图2
①定义变量day,x1表示第n天的桃子数,x2为n+1天的桃子数;
②whlie循环,当day>0时语句执行;
③运用计算思维的递归思维得到:“第n天的桃子数是第n+1天桃子数加1后的2倍”,即是x1=(x2+1)*2;
④根据循环得知,把求得的x1的值赋给x2,即是x2=x1;
⑤每往前回推一天,时间将减少一天,即是day--;
⑥输出答案。
该案例在③④⑤步采用计算思维递归的方法发现并解决问题。通过这样的例子,将递归算法执行过程中的两个阶段递推和回归完全展现在学生面前。在递推阶段,把较复杂的问题(规模为n)的求解推到比原问题简单一些的问题(规模小于n)的求解。第n天的桃子数等于n+1天桃子数加1个后的两倍。同时在递推阶段,必须要有终止递归的情况,比如到第10天时桃子数就为1个了。在回归阶段,当获得最简单情况的解后,逐级返回,依次得到稍复杂问题的解。我们知道第10天的桃子数为1个,即是后一天的桃子数加上1后的2倍就是前一天的桃子数,那么x1= (x2+1) *2。
在此例中,教师引导学生以递归算法的逆向思维求解问题,在学习过程中体会递归算法的思想过程。学生在思考中学习,并掌握递归方法,当遇到类似问题时就会想到用类似的办法去解决问题。
依据ITMCT,第三步的关键是教师提供学习资源、方法等,启发学生运用计算思维的各种方法,自主探究更深层次问题的解决方法。教师在思维方面的激励和引导与教学效果和计算思维能力培养具有如下关系:
式中,rCT⊂A'T,表示教师提出基于计算思维的学习资源、方法的指导,提供认知工具,监控学生学习的整个过程。aCT⊂A'S,表示根据教师的帮助和指导,学生收集、分析、加工信息并自我分析题目和形成解题思路等。f3()是rCT的教学效果质量函数。E3表示ITMCT第三步的教学效果。g3()是tCT的计算思维能力质量函数。C3表示ITMCT第三步的计算思维能力培养效果。
在掌握了前面所学的技巧和方法之后,学生此时已经能够灵活运用所学知识进行该类问题的求解。教师需要尊重学生的个性发展,继续启发学生思维,让他们主动、积极地进行自主探究学习,使其能举一反三,在“学中做”。对此,我们可以继续“猴子吃桃问题”:
NS流程图(图3) 如下:
图3
①定义变量i为桃子所吃天数,sum为桃子总数;
②for循环控制变量i的值;
③运用计算思维递归方法得到sum=2*(sum+1);
④求出sum的值;
⑤for循环控制变量i的值;
⑥再次运用递归思维求出每天所剩桃子数sum=sum/2-1;
⑦输出i,sum的值。
该题中,第⑥步骤采用的递归方法是迁移了第③步骤递归方法的结果。通过这样的思维训练,让学生在思考中学习,在学习中运用新的方法破解难题,培养学生分析问题、解决问题的能力,锻炼学生数学建模能力,巩固知识的同时拓展技能和技巧。
依据ITMCT,第四步的关键是教师提供问题解决的工具、协作策略的指导等,让学生小组协作讨论、共享学习资源、内化知识和学习方法,建构自己的学习框架,同时体验所学的知识,达到巩固并迁移知识的目的。教师在思维方面的帮助和协作方面的引导与教学效果和计算思维能力培养具有如下关系:
式中,hCT⊂A'T,表示教师从思维方面提供问题解决的工具,协作策越的指导等。dCT⊂A'S,表示学生根据教师的帮助进行小组协作讨论、共享学习资源、内化知识和学习方法,建构自己的学习框架等。f4()是hCT的教学效果质量函数。E4表示ITMCT第四步的教学效果。g4()是dCT的计算思维能力质量函数。C4表示ITMCT第四步的计算思维能力培养效果。此时教师可再设置“古典兔子问题”:
在这里,教师引导学生进行知识的主动建构,以自己所掌握的知识经验为基础,再对现在的题目信息进行加工和处理,从而培养学生相应的能力。学生运用已经掌握的计算思维递归方法,分析得出兔子的规律为数列1,1,2,3,5,8,13,21……。此题目在前几题目的基础之上,进一步培养学生分析问题、归纳、梳理知识的能力,循序渐进地引导和启发学生思考,充分调动学生的计算思维能力。NS流程图(图4) 如下:
图4
①定义f1,f2为初始的兔子数,i为控制输出的f1和f2的个数;
②i的最大值取20项;
③循环开始前,首先输出f1,f2的初始值;
④判断,控制输出,每行四个;
⑤换行;
⑥递推算法,前两个月加起来赋值给第三个月。
学生经过前面的思维训练后,已经学会了知识的迁移。根据前面的分析可以知道,在递推阶段,把较复杂的问题(规模为n)的求解推到比原问题简单一些的问题(规模小于n)的求解。例如上例中,求解f1和f2,把它推到求解f(n-1)和f(n-2),但在这里仍然用原变量名f1和f2表示。也就是说,为计算f(n),必须先计算f(n-1)和f(n-2),而计算f(n-1)和f(n-2),又必须先计算f(n-3)和f(n-4)。以此类推,直至计算f1和f2,分别能立即得到结果1和1。在递推阶段,必须要有终止递归的情况,例如在函数f中,当n为1和1的情况。在回归阶段,当获得最简单情况的解后,逐级返回,依次得到稍复杂问题的解,例如得到f1和f2后,返回得到f1的结果,……,在得到了新的f1和f2的结果后,返回得到f2的结果。
依据ITMCT,第五步的关键是教师进行问题的点评、总结,提出拓展性问题和迁移性知识等,让学生运用所学方法讨论、反思、互评、迁移、拓展知识。教师高度归纳、总结解决问题的方法与教学效果和计算思维能力培养具有如下关系:
式中,cCT⊂A'T,表示教师对计算思维的方法进行高度概括、归纳、总结,并对学生提出拓展性问题和迁移性知识。mCT⊂A'S,表示学生在教师总结知识的基础之上运用所学方法讨论、反思、互评、迁移、拓展知识等。f5()是cCT的教学效果质量函数。E5表示ITMCT第五步的教学效果。g5()是mCT的计算思维能力质量函数。C5表示ITMCT第五步的计算思维能力培养效果。
在这样的探究教学过程中,学生主动参与讨论,通过思考、动手操作,体验递归算法,运用数学知识建立数学模型。达到了培养学生自学、知识迁移和自我建构知识体系的能力的目的。基于计算思维的探究教学模式的数学模型因此可表示为:
该案例的教学实验结果充分验证了ITMCT模型的教学效果,使AT和AS之间的方法集都运用计算思维的方法去启发和引导学生更快捷地解决问题,从而增加AT和AS之间的交流,达到提高教师教学效率和训练学生思维的目的,实现教学的可持续发展。
思维学习的目的是为了创造,思维发展水平是学生成才的关键,思维教学对学生现在以及将来具有非常重要的影响。教师在教学时,要为学生提供思维的空间和情境。在本研究的案例中,教师运用计算思维的递归方法成功解决了一个推算问题,那么当遇到其他类似问题的时候学生就可以运用回推的方式去解决。故教师应注重对学生计算思维能力的培养,根据学生个体的差异,促进学生计算思维能力的提高,让学生在思考中创造新事物。
总而言之,学习和思维不是彼此独立的,而是紧密地、互补地联系在一起。学生计算思维的成长乃至发展对教学会产生很大的影响,它让学生的学识不再局限于专业技术,让学生成为问题的解决者而不仅是软件技术员,它强调知识的创造而不仅是信息的使用,提供了问题解决方法创新的无限可能,强化了已经传授的解决问题的技术。下一步,我们还需对此做更多的探究与应用。
[1]斯滕伯格.思维教学——培养聪明的学习者[M].北京:中国轻工业出版社,2001.
[2]朱立平,林志英.基于思维教学理论的程序设计课程教学模式的构建[J].计算机教育,2008,(8).
[3][12]郑渊洁,廖伯琴,王珊.探究式教学的模型建构与探讨[J].学科教育,2001,(5):1-4.
[4]J.M.Wing.Computational Thinking.Communication of the ACM,2006,49(3):33-35.
[5]周以真.计算思维[J].中国计算机学会通讯,2007,(11).
[6]精心铸精品理念须先行——谈“程序设计基础”课程改革[EB/OL].http://www.jsjjy.com/info/shownews.asp?newsid=8921
[7]PhilipsP.Computational Thinking:Aproblem-solving tool for every class room [EB/OL]. http://www.csta.acre.org/Resources/sub/ResourceFiles/ComputationalThinking.pdf.
[8]何明昕.关注点分离在计算思维和软件工程中的方法论意义[J].计算机科学,2009,(4):60-63.
[9]廖伟志,李文敬,王汝凉.计算思维在离散数学课堂教学中的应用[J].计算机科学,2008,(11).
[10]李芳,李一媛,杨兵.计算思维在《图像处理》课程中的实践及应用[J].计算机科学,2008,(11).
[11]何克抗,吴娟.信息技术与课程整合的教学模式研究之三——“探究性“教学模式[J].现代教育技术,2008,(9):5-10、27.
2010-06-30
牟琴,硕士,四川师范大学计算机学院,四川省可视化计算与虚拟现实重点实验室(610101)。
谭良,博士后,教授,中国科学院计算技术研究所(100080)。
责任编辑 石 子
G420
A
1009—458x(2010)11—0040—06
四川省科技厅重点实验室“可视化计算与虚拟现实”项目 (2008JY010522)
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!