耿品万
计算思维是人类三大科学思维之一,现已引起世界各国的高度重视。同读、写、算能力一样,计算思维是每个人的基本能力、关键能力和必备能力。培养学生的计算思维凸显了小学教育的基础性价值,为学生的未来学习和生活奠定基础。笔者在研究国内外计算思维理论与实践的基础上,构建了一个基于学生发展核心素养的小学计算思维教学框架,用于指导小学信息技术课程的教学。
● 问题的提出
2006年3月,周以真教授在计算机杂志Communications of the ACM上定义了“计算思维”,并用三种技能界定了“计算思维”,该界定被社会各界广泛采用。2013年,英国教育部将原有的“信息通讯技术”课程更名为“计算”课程。同时,计算思维也将被纳入我国新修订的《高中信息技术课程标准》中。那么,什么是计算思维?计算思维的焦点是什么?计算思维的组成元素是什么?计算思维在小学教育,尤其是信息技术课程教学中如何落地?随着研究的深入,教师们迫切希望有一个知识框架,以便理解计算思维并应用到教育教学中。因此,笔者针对小学阶段计算思维教学展开了研究。
1.落实核心素养的需要
《中国学生发展核心素养》中确定的中国学生发展六大核心素养中包括“学会学习”和“实践创新”。前者包括“信息意识”等基本要点,后者包括“问题解决、技术应用”等基本要点。落实学生发展核心素养的重要载体是学科教学。虽然核心素养是跨学科素养,任何学科都有其对核心素养发展的共性贡献与个性贡献[1],但“信息意识、问题解决、技术应用”这三个要点,无疑与小学信息技术学科关系最密切。计算思维是信息技术学科的核心素养,对小学生计算思维的培养则为学生达成信息技术学科核心素养奠定基础,使学生形成“信息意识、问题解决、技术应用”三大关键能力。
2.学科课程科学性、时代性的需要
现在,小学信息技术课程在很多人心中依然仅具有“工具”属性。技术操作训练和利用技术解决问题成为学科课程的全部,这属于狭窄的“工具论”认知,对信息科技的全民普及和小学信息技术教育极其有害,严重削弱了小学信息技术课程的价值。一方面,信息技术软硬件更新速度快,小学信息技术课程教学内容陈旧,跟不上软硬件的发展;另一方面,大众信息技術的普及与发展越来越人性化,使用越来越简单,甚至不需要学习即可掌握。因此,以此类技术工具作为课程内容教给小学生越来越不合时宜了。
把计算思维作为信息技术学科核心素养,在《中国至2050年信息科技发展路线图》一书及《国务院关于印发新一代人工智能发展规划的通知》[2]中都提出了相应的教学措施。
人类使用的工具影响着自身的思维方式和思维习惯,进而深刻地影响其思维。在目前的信息技术教学中,常常把当前成人使用信息技术的工具经验知识作为十几年后才担负成人角色的小学生所学的信息技术课程内容,忽略了信息技术变化迅速与教育功能所具有的滞后性特点。那么,小学信息技术课程中究竟有哪些内容能“深刻地影响着学生的思维”,或者说究竟哪些内容才是作为基础教育小学课程而言能够为学生的未来学习和生活奠基的呢?显然,就是计算思维。
● 研究综述
1.理论研究
理论研究集中在计算思维的科学定位、本质特征、概念演进、理论溯源、价值意义等方面。研究者从思维、思维科学的源头入手,探索了人类三大科学思维方式[3],即理论思维、实验思维、计算思维,并初步梳理出可计算性原理、形理算一体原理与计算机设计原理等三大计算机基本原理。计算思维是一种解析思维,它共用了数学思维、工程思维和科学思维。[4]计算思维的两个核心概念是抽象和自动化。计算是抽象的自动执行,自动化隐含着需要某类计算机去解释抽象。计算思维是人脑的思维,是人们面对计算问题时对计算对象能动的、间接的、概括的反映。[5]
对计算思维的理解,有七种观点[6]:一是“问题解决说”,表达了计算思维的核心功能,这是流行最早、历时最久、最经典的观点,获得了包括国际教育技术协会(ISTE)和计算机科学教师协会(CSTA)等机构和本研究的认同;二是“抽象说”,表达了计算思维的关键功能;三是“自动化说”,本研究也认同计算思维的核心是将大的问题抽象分解成很多小的问题直到小的问题能够自动化解决;四是“构造说”,“构”是指被研究对象各种要素之间的组合关系与框架,“造”是建造、创造,即各种要素之间的组合关系与框架的建造;五是“信息表达说”,计算思维是一种特别重要的表达形式,“编程就像写作,是一种表达方式,也是开发新思维方式的入口;六是“社会计算说”;七是“三维框架说”,第一个维度是计算思维概念,第二个维度是计算思维实践,第三个就是计算观念。[7]
还有研究指出,计算思维指导的信息技术课程,有利于克服“工具论”的影响,有利于将计算思维塑造成基本的学科素养,凸显其基础教育的“基础性”价值。[8]
2.教学实践研究
计算思维教学实践研究成果,应首推高等教育阶段的计算之树[9]——一种表述计算思维知识体系的多维框架,通过计算之树归纳计算技术与计算系统发展中经典的、元始的、至今对人们仍旧产生重要影响的计算思维。
教学实践影响力最大的,是美国在中小学阶段将“计算机科学”写入奥巴马总统签署的《每位学生都成功法案》,一些美国学者更是将2016年称为“计算机科学元年”。[10]美国要求各州自幼儿园到高中要为学生提供计算机科学必修课程,这一历史性转变,将对美国基础教育产生深远的影响。计算机科学作为一门学科在美国中小学已经开设,作为计算机科学学科的基本学科素质和学科专业思维,计算思维得到了广泛的认同。2011年,美国国际教育技术协会、美国计算机教师协会与高等教育、工商界以及K-12教育的领导者共同形成了可操作性的“计算思维”定义,该框架明确“计算思维”是问题解决过程。目前,美国计算机教师协会已经更新发布了K-12计算科学标准(2016过渡版、2017版),该框架有效指引了课程教学。为了助推计算思维教育,2013年公益组织Code.org倡导了“编程一小时”活动,已有来自全球180多个国家、数以千万的学习者参加。endprint
英国中小学阶段将原有的国家课程“信息通用技术”更名为“计算”课程,侧重于培养学生的计算思维和创造力,并应用于编程和数字媒体设计领域。英国的研究者还制订了课堂计算思维培养框架及评价方案。[11]
国内小学阶段也零星出现了少量的计算思维实践研究。一类是以计算思维为核心的“小学Kodu趣味程序设计”[12]的研究,促进学生思维的发展,在学生学习编程的过程中,提高其科学创新的能力;另一类是基于计算思维的小学程序设计教学研究[13],以Scratch和Logo为基础,以机器人和Free BASIC为拓展。
综上所述,计算是人类文明最古老而又最时新的成就之一。从教学实践上讲,无论是国外还是国内,计算思维的小学教学实践多从程序设计入手,过多关注程序设计语言本身的学习。除了程序设计语言的教学,Word、Excel的教学主动融入计算思维的研究较少,在目前设备、师资、学时缺乏的现实环境下仍然有研究的现实价值。
● 小学计算思维教学框架
人类社会最早是用手指、结绳、算筹等方式进行计算。公元11世纪,中国人发明了算盘。从古至今,计算工具的演进都深刻地影响着人的思维。计算思维作为思维活动,很难精确描述,而以计算概念来表述则是一种有效措施。小学计算思维教学迫切需要这样一个表述框架。在周以真教授的论文中,计算思维包含19种能力,如约简、递归、抽象、分解等。这其实也是以概念来描述的思维。计算思维具有以下六大特征:概念化,不是程序化,但现实则恰好相反;根本的;人的,不是计算机的思维;数学和工程思维的互补与融合;是思想;面向所有的人,具有普适性。
小学信息技术学科存在哪些“经典的、元始的”计算思维对学生产生了深远的影响呢?笔者参照“计算之树”[14]与美国计算机教师协会发布的K-12计算科学标准(2017版),在学生发展核心素养的背景下,提出小学计算思维的教学框架。
1.基于核心素养的小学计算思维教学框架
中国学生发展核心素养与计算思维不谋而合,其中有多个关键点高度契合。核心素养就是要培养学生的“问题解决”能力,其映射计算思维中的算法思维能力,“技术应用”能力映射计算思维的程序思维能力,信息意识的培养依赖于计算思维能力的提升。由此可见,计算思维的培养有其关键性和必要性。
如下图所示,笔者根据“伟大的计算原理”建构的计算思维表述体系框架[15],结合小学生认知特点,给出了小学计算思维教学框架,“计算思维”是一个中心词,其他六个概念以“计算思维”为中心并服务于“计算思维”。这六种思维属于第一层次,也符合小学生认知的特点。
2.小学计算思维教学框架中的基本概念
“0、1”思维、递归思维是计算思维基础中的基础,抽象思维和自动化思维贯穿整个计算过程,具有桥梁和纽带的作用;算法思维被誉为计算系统的灵魂;程序思维精准地体现了组合、次序、构造,有工程性,不可或缺。
(1)“0、1”思维。计算机本质上是以0和1为基础来实现的,现实世界的各种信息都可被转换成0和1来表示、处理和变换,再将0和1转换成各种信息。0和1可将各种运算转换成逻辑运算来实现,逻辑运算又可由晶体管等元器件实现,进而组成逻辑门硬件电路,这种由软件到硬件的纽带是0和1。“0和1”的思维体现了“语义符号化,符号0、1化,0、1计算化,计算自动化”的思维,也是计算思维的起点。“0、1”思维的主要教学内容有二进制、加法器、原码、反码、补码、二维码。
(2)“递归”思维。递归是计算技术的典型特征,是可以用有限的步骤描述实现近于无限功能的方法。递归被广泛地用于构造语言、过程、算法和程序,用于具有自相似性的近于无限事物(对象)的描述,用于自身调用自身、高阶调用低阶的算法与程序的构造中,是实现问题求解的一种重要的具有奠基性的计算思维。递归思维的主要教学内容是汉诺塔。
(3)“算法”思维。算法被誉为计算系统的灵魂,是一个有穷规则的集合,它用规则规定了解决某一特定类型问题的运算序列,或者规定了任务执行或问题求解的一系列步骤。问题求解的关键是设计算法,讲求可实现性、空间复杂度、时间复杂度。算法思维的主要教学内容有:一是在非编程课上将常规的操作步骤向算法导向;二是开设编程课,如经典的排序算法等。
(4)“程序”思维。一个复杂系统是怎样实现的呢?它是由基本动作及其各种组合构成。基本动作即指令;指令的各种组合及其次序就是程序。系统可以按照“程序”控制“基本动作”的执行以实现。程序思维的主要教学内容:一是在非编程课上将算法思维步骤化,测试并得到满意的结果;二是开设编程课,直观地测试算法的结果。编程课程与教学,也是本文提倡的,非编程课程与教学是在师资、设备不具备的条件下的一种折中策略。程序与算法是一对相互依存的概念。程序思维的主要教学内容有顺序、选择、循环、过程、事件等。
(5)“抽象”思维。抽象是计算的“精神”工具,计算思维的本质是抽象化。本文提到的“语义符号化,符号0、1化”就是不同层次的抽象。抽象思维的主要教学内容有社会自然问题的计算化表达、命名、约简、分解等,如经典的七桥问题。
(6)“自动化”思维。自动化是计算在物理系统自身运作过程中的表现形式。什么能被有效地自动化运行是计算学科的根本问题。自动化与抽象是一对概念,也是计算思维的本质。自动化思维的主要教学内容有计算结果的自然化表达、搜索等。
综上所述,计算思维的小学教学框架以培养小学生计算思维为核心,但远远不止一种,如还可以利用Scratch等具体的工具进行编程教育,这就如同“道”与“术”的关系。具体的编程工具侧重于具体的技术培养,是“术”;小学计算思维教学框架力求精髓、经典、元始,为人的一生奠定核心素养。
参考文献:
[1]石鸥.核心素养的课程与教学价值[J].华东师范大学学报(教育科學版),2016(1):9-11.
[2]国务院.国务院关于印发新一代人工智能发展规划的通知[EB/OL].http://www.gov.cn/zhengce/content/2017-07/20/content_5211996.htm.
[3]朱亚宗.论计算思维——计算思维的科学定位、基本原理及创新路径[J].计算机科学,2009(4):53-55.
[4]陈国良,张龙,董荣胜,等.大学计算机素质教育:计算文化、计算科学和计算思维[J].中国大学教学,2015(6):9-12.
[5]王荣良.计算思维究竟是什么[J].中国信息技术教育,2015(23):5-8.
[6][8] 钟柏昌,李艺.计算思维的概念演进与信息技术课程的价值追求[J].课程·教材·教法,2015(7):87-93.
[7]王旭卿.面向三维目标的国外中小学计算思维培养与评价研究[J].电化教育研究,2014(7):48-53.
[9][14]战德臣,聂兰顺,徐晓飞.计算之树——一种表述计算思维知识体系的多维框架[J].工业和信息化教育,2013(6):9-15.
[10]钱松岭,董玉琦.美国中小学计算机科学课程发展新动向及启示[J].中国电化教育,2016(10):83-89.
[11]唐瑞,刘向永.英国中小学计算思维教育评介[J].中国信息技术教育,2015(23):17-21.
[12]陈久华,王荣良.小学Kodu编程课程中计算思维教学实践[J].中国信息技术教育,2015(23):15-17.
[13]曹恒来,陈宏斌,钮洪斌,等.基于计算思维的小学程序设计教学研究与实践[J].中小学信息技术教育,2016(12):39-42.
[15]陈国良,董荣胜.计算思维的表述体系[J].中国大学教学,2013(12):22-26.
基金项目:本文为重庆市教育科学“十三五”规划2016年度规划课题“区域培养小学生计算思维的实践研究”(2016-09-009)的研究成果。endprint