论文部分内容阅读
自从美国卡内基·梅隆大学周以真教授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题,提示任务完成;⑦将测试结果存储到数据库中。接着,教师需要引导学生思考每个小问题如何解决,关注以下三点,即发生什么事情、发生在什么对象上,在什么情况下发生的。这个过程就是“制定问题”的过程,也是“抽象”的过程,使该问题能够用计算机和其他工具来解决。这其中会涉及简单的算法,如第六个小问题,其核心就是一个逻辑判断。在完成一系列小问题的过程中,还需要不断地进行测试与调试,去除代码冗余,进行排错等。当学生把所有小问题都解决了,大问题也就自然完成了。
校本信息科技课程目标
在确定课程目标的时候,笔者主要基于以下三点思考:第一是目标群体,课程目标应该符合初中学生的特征。每个学段的学生都可以提升自身的计算思维能力,其认知水平和心理特点都有差异,找到不同年龄阶段孩子思维能力发展的方法有着积极的意义。第二是学科价值,课程目标应该尽可能探求信息科技课程的学科本质。学生不仅仅是适应信息技术,还要理解信息技术;不仅仅是学会外在操作,还需要抽象、分解、控制任务的实施;不仅仅是掌握解决问题的步骤,还需要发展交互性思维。第三是课程体系,课程目标应该是从课程整体角度思考,计算思维能力的培养不应仅仅纳入基础型课程,还应该在拓展和探究型课程中开展实践。
校本信息科技课程内容
围绕课程目标,笔者首先选取了计算思维的六个核心要素,即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题,提示任务完成;⑦将测试结果存储到数据库中。接着,教师需要引导学生思考每个小问题如何解决,关注以下三点,即发生什么事情、发生在什么对象上,在什么情况下发生的。这个过程就是“制定问题”的过程,也是“抽象”的过程,使该问题能够用计算机和其他工具来解决。这其中会涉及简单的算法,如第六个小问题,其核心就是一个逻辑判断。在完成一系列小问题的过程中,还需要不断地进行测试与调试,去除代码冗余,进行排错等。当学生把所有小问题都解决了,大问题也就自然完成了。