以计算思维为核心的校本信息科技课程架构
2015-09-10卢文来陈勇
卢文来 陈勇
自从美国卡内基·梅隆大学周以真教授2006年提出计算思维概念以来,计算思维便进入了大众视野。在对计算思维的文献进行梳理总结后,笔者将本文中的计算思维概念界定于两个层面:理论性概括层面和可操作性框架层面。理论性概括层面指的是周以真教授对计算思维的定义,即计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。可操作框架层面主要以占德臣、聂兰顺和徐晓飞三位学者为代表,他们提出了以“计算之树”为架构的计算思维的具体内容,包括0、1思维(信息编码)、程序和算法、抽象和自动化、分解与建模、测试和调试等。在此基础上,笔者通过分析初中信息科技课程内容,挖掘了若干以培养学生计算思维能力为目标的教学内容,形成了一定的教学策略,并开展了实践研究,初步形成了以“计算思维培养”为目标的校本信息科技课程体系的架构。
校本信息科技课程目标
在确定课程目标的时候,笔者主要基于以下三点思考:第一是目标群体,课程目标应该符合初中学生的特征。每个学段的学生都可以提升自身的计算思维能力,其认知水平和心理特点都有差异,找到不同年龄阶段孩子思维能力发展的方法有着积极的意义。第二是学科价值,课程目标应该尽可能探求信息科技课程的学科本质。学生不仅仅是适应信息技术,还要理解信息技术;不仅仅是学会外在操作,还需要抽象、分解、控制任务的实施;不仅仅是掌握解决问题的步骤,还需要发展交互性思维。第三是课程体系,课程目标应该是从课程整体角度思考,计算思维能力的培养不应仅仅纳入基础型课程,还应该在拓展和探究型课程中开展实践。
校本信息科技课程内容
围绕课程目标,笔者首先选取了计算思维的六个核心要素,即0、1编码,系统,纠错,算法,抽象和分解。然后,梳理整个初中阶段的信息科技课程内容,针对每个内容确定了计算思维核心要素的落脚点(如下页表所示)。其中基础性课程是针对全体学生的,拓展性课程是针对在这方面感兴趣的学生的。
基础课程中的信息编码和计算机系统是信息科技课程中的重要内容。信息编码包括编码及其特点、常见的文字和图像编码、编码和解码的基本过程、常见的编码和解码的方法、编码给社会带来的影响等。计算机系统最重要的就是冯·诺依曼计算机,从计算思维角度来看,它最核心的思维是程序如何被存储、如何被CPU(控制器和运算器)执行。之后的个人计算环境、并行分布环境和云计算环境都是在此基础上逐步发展起来的。在Excel数据建模单元中,计算思维的落实主要体现在“抽象和自动化”“对象和属性”“数据类型与运算符”等方面。其中函数特别能够体现计算机如何“自动”地完成任务,体现了自动化的过程。
拓展课程中的Pascal编程、App Inventor手机应用编程、Learn To Mod游戏编程三个项目均为编程。Pascal是传统的基于代码的编程,而后两者是基于模块的编程;后两者的不同之处在于,App Inventor创造的是手机应用,Learn To Mod创造的是Mine Craft游戏中的一个个Mod;前者可应用于各个领域,而后者仅为游戏(Mine Craft)领域。
校本信息科技课程实施
1.加强团队研修,统一对计算思维的核心认识
笔者所在的教研团队共有7位教师,在基于计算思维培养为目标的校本课程建设的过程中,团队成员一直在通过各种渠道围绕“计算思维”开展研究和实践,包括对计算思维的相关文献资料进行搜集整理,开展教研活动分享、交流、深入讨论;选择课例开展教学设计,听课并反馈修正后再行实施;参加关于计算思维的教学展示;开展信息技术研讨会,邀请市区教研员、专家、顾问等就信息科技课程的学科价值进行探讨,并给予指导。在此过程中,教师们逐步统一了对计算思维的核心认识,保障课程的顺利实施。
2.优化教学策略,将计算思维核心要素扎根课堂
教学目标不同,教学设计思路也会不同。以演示文稿设计中的“动画效果”教学为例,如果教学目标设定的是学会自定义动画,包括进入、退出与强调的具体操作,那这个目标侧重的就是技能;如果教学目标设定的是通过设置多个动画,体验创建动画的一般方法,那这个目标侧重的就是关于技能的方法;如果教学目标设定的是通过分析一个包含复杂动画的PPT页面,理解动画之间的时序关系,那这个目标侧重的就是计算思维的方法。因此,以“计算思维培养”为目标的课堂教学,需要紧扣计算思维的核心要素进行设计。特别需要关注的是“问题分解”“算法”和“纠错”。
例如,用App Inventor设计一个简易加法测试。假设每次测试共有10道题,系统会自动出题,产生两个加数,用户需要做的就是,按0~9这10个按钮输入答案,完成后点击OK按钮,系统就会判断正误,并反馈给用户,随后开始下一题的测试。如果满10题,则结束本轮测试,将测试结果保存。整个过程中由计时器记录时间。
这么一个看似简单的、随处可见的加法测试,对学生来说却是一个复杂的大问题,教师需要引导学生把这个大问题分解为一个一个的小问题。此处,需要分解为至少7个小问题,依次是:①在两个操作数区域产生随机数;②点击数字按钮,相应数字会出现在答案区域;③点击OK按钮,判断对错,并在相应位置显示出来;④点击Del按钮,去掉已输入答案的最后一个数字;⑤使用计时器来计时并显示;⑥完成10题,提示任务完成;⑦将测试结果存储到数据库中。接着,教师需要引导学生思考每个小问题如何解决,关注以下三点,即发生什么事情、发生在什么对象上,在什么情况下发生的。这个过程就是“制定问题”的过程,也是“抽象”的过程,使该问题能够用计算机和其他工具来解决。这其中会涉及简单的算法,如第六个小问题,其核心就是一个逻辑判断。在完成一系列小问题的过程中,还需要不断地进行测试与调试,去除代码冗余,进行排错等。当学生把所有小问题都解决了,大问题也就自然完成了。
当然,强调计算思维,并非不要落实知识技能或者过程方法。以解决问题为例(可以是知识技能的小问题,也可以是项目实施等大问题),首先需要的是技术,其次是一般方法,如果教学设计定位于此,可能也就够了。但是,即便学生学会了如何解决问题,并不一定意味着他能理解问题为什么如此解决,也不一定能迁移到其他问题解决中。所以,以“基于问题解决的教学设计”为例,以往的教学可能关注的是计算机如何被使用,即如何选择恰当的软件,如何通过一系列软件来构建一个问题的解决方案。而“基于计算思维的教学设计”则是在原来的基础上,从计算思维培养的角度进一步进行设计,让学生理解工具处理信息的思想,理解计算机系统如何工作,理解一个真实世界的问题应该如何被抽象、被分解为计算机可以解决的问题。
3.借助企业资源,推进计算思维的纵向实践
随着信息技术的飞速发展,一些计算机或互联网行业的知名企业开始注重对教育领域的投入和支持,以此吸引更多的优秀人才在未来支撑计算机产业的发展,Google便是其中之一,我校自2003年开始与Google公司合作,连续三年举办了“我是Android应用开发师”的夏令营活动。夏令营以App Inventor为载体。在整个过程中,学校教师起着主导作用,从夏令营的策划、课程的设计和实施到营员的招募筛选,教师全体参与、全程参与,开展系统的课程架构、开发课程、实施推进、授课;而Google更多的是提供其优质的资源,如App Inventor的第一手资料,国外教育的先进理念,MIT团队的融入,Google工程师的讲座,等等。双方借助合作拓展学生视野,吸引了一批对计算机科学感兴趣的有能力的学生。
与Google的合作不同,学校与另一家教育机构开展的“LTM项目”则采用了“教育机构主讲、学校教师协助、双方共同开发课程”的方式。LTM项目全称为Learn To Mod,是基于Mine Craft的游戏编程。此项目中,教育机构进行课程设计、授课、在线辅导、跟踪评价。学校教师负责学生的报名、选拔和组织;对课程设计提出修改建议;全程进行课堂跟踪,给授课教师提出建议;关注学生行为和表现,并和家长沟通。另外,此项目涉及三个课程平台:第一个是Learn To Mod徽章课程平台,这是一个基于模块化的编程平台(国外教育机构开发,与学校合作的教育机构引进),该平台由多个小教程组成,学生根据教程在线搭建模块,循序渐进,每完成一个教程就会获得一个徽章。这个课程主要是跟着范例进行操作,课程有个进度条,学生每成功搭建一个模块,进度就会推进一步,直至100%。完成一个Mod,就可以在模拟器中测试。第二个平台是Moodle课程平台,由学校提供,教师上课会将学生在徽章课程平台学习中的核心概念在上课时做系统梳理和点拨,利用Moodle课程平台布置作业,非常扎实、规范、严谨地让学生理解编程是什么,以及鼓励他们把一些有创意的想法呈现出来。第三个是Mine Craft游戏平台,这是个游戏平台,学生最终会将自己编写的代码(以Mod形式呈现)装载到这个平台,以实现更多创造。
与企业的合作有助于双方实现优势互补。对学校来说,可以拓展渠道,提供多样化的课程,以吸引不同类型学生的兴趣,使计算思维的培养往纵深发展。
结语
笔者从计算思维的本质和信息科技课程价值角度出发,对如何将计算思维的培养纳入学校信息科技课程做了一些探索和实践。这些实践不仅从顶层关注计算思维的学术视野,还尝试结合实际对计算思维的核心内涵进行梳理和提炼,给出自己的解释;不仅是理论思考,还尝试将理论层层分解并最终落实于课堂教学;不仅在基础课程中实施,使全体学生有所收获,还尝试在拓展课程中深化,使特长学生能够得到长足发展;不仅在传统的程序设计语言中实施,还尝试在多样化的软件载体和应用平台中开展实践;不仅学校教师自己探索开发课程,还尝试与企业合作开发课程。在整个课程架构的过程中,笔者及所在团队对计算思维的理解从模糊到清晰,对课程资源的建设从借用到自主开发,在课程实施方面从初步探索到略有心得和收获。
当然,计算思维的培养目标只是笔者所在学校信息科技课程目标之一,本文所述仅仅是围绕计算思维培养目标所进行的课程初步架构,也是局部架构。关于计算思维的探索刚刚起步,如何真正地、全方位地将计算思维培养目标融入中小学信息技术教学,如何开展以计算思维为目标的课堂教学和评价,如何有序地实现小学、初中和高中的有效衔接,还需要更多教师的探索和实践。