聂璐
【摘 要】本文基于App Inventor开发平台,详述了构建一门用于培养计算思维的校本课程的设计原则和实施思路。并以“手机App开发”这门课程的教学实践为例,介绍了依托学习任务单培养计算思维的教学过程,为初中信息技术课程培养计算思维的理论和实践提供借鉴。
【关键词】计算思维;App Inventor;初中信息技术;校本课程;学习任务单
【中图分类号】G434 【文献标识码】A
【论文编号】1671-7384(2018)02、03-0106-04
《基础教育信息技术课程标准2012版》指出,在基础教育阶段,信息技术课程的总目标是培养和提升学生的信息素养。从实际教学效果来看,当前初中生的操作技能掌握得较好,但思维层面还有待提高,尚未形成一套成熟的分析问题与解决问题的过程和方法。新版《普通高中信息技术课程标准》明确了信息技术学科的四大核心素养,如何在初中阶段培养核心素养之一的计算思维,已成为一个非常热门的话题。
计算思维与理论思维、实践思维一起,并称人类科学研究的三大思维模式[1]。美国卡内基梅隆大学的周以真教授认为:“计算思维就是通过约减、嵌入、转化和仿真等方法,把一个看起来困难的问题重新阐释成一个我们知道怎样解决的问题”[2]。如何通过信息技术教育将这种方法论传递给学生,让他们学会运用计算思维来解决问题,非常值得探讨。
App Inventor是一款所见即所得的安卓应用开发软件,用户只需拖放图形化积木式的组件,就能创建功能强大的安卓应用。App Inventor开发环境非常容易搭建,还提供了丰富的传感器模块,学生可在短时间开发功能强大的应用。加之学生对智能手机有浓厚兴趣,以手机App开发来代替传统的编程训练,更容易激发他们的兴趣[3]。以上特点使得App Inventor成为培养学生计算思维的理想工具。
基于App Inventor开发平台,笔者在学校开设了名为“手机App开发”的校本课程,旨在初中阶段培养学生的计算思维,其开发过程如下。
1.建设丰富、有梯度的课程项目资源——埋下兴趣的种子
(1)自顶向下进行课程设计,形成计算思维的培养框架
计算思维内涵丰富,应明确初中生对计算思维需掌握到何种程度,以及训练过程中需要哪些必须的知识和技能的习得,尝试建立计算思维内涵和知识体系的对应关系,形成计算思维的培养框架。
(2)以学生认知规律为基础,循序渐进地培养计算思维
《中小学信息技术课程指导纲要》指出:初中信息技术教学应以兴趣为起点、以活动为载体,螺旋上升地设置教学内容,要让学生在玩中学,做中学。因此,在内容编排上应当遵循由易至难、由浅入深、螺旋上升的原则,滚雪球式地设计教学资源。
(3)项目的选取要符合时代性、丰富性和趣味性
课程应以项目为引领,注重问题的分析和求解。为调动学生兴趣,设计项目时需结合学生的年龄特点,选取他们感兴趣的主题,如游戏。同时选取一些跨学科的主题,如英语百词斩、诗词大会等,实现技术学习与技术应用之间的整合,体现“双价值”。
2.定制具有“计算思维”特点的教学过程——孕育培养计算思维的土壤
为实现培养计算思维的目标,需明确利用计算思维解决问题的具体过程。上海市信息技术特级教师谢忠新在《关于计算思维进入中小学信息技术教育的思考》一文中总结了此过程[4]。
具体使用App Inventor进行App开发的思维过程如下。
(1)分解
面对一个具体的App时,学生能将其分解为一系列小而可管理的问题,如分解为界面设计和逻辑设计两方面。
界面设计需考虑App是单屏幕还是多屏幕应用。针对一个屏幕,需明确App使用的组件及素材;逻辑设计需考虑App使用了哪些数据及事件。数据方面,分为永久存储(数据库)和临时存储(变量)。
(2)模式与概括
模式是发现分解后的问题之间的相似性。概括是发现模式后,寻找适合这类问题的解决方案,或基于已有方案进行改进,从而生成新的办法。
因为教学内容在编排上遵循了螺旋上升的原则,实际教学时,学生很容易发现模式,并概括出解决方案。之后遇到类似问题时基于已有方案,融入新知识与新技能,从而滚雪球式地逐渐完善解决方案。
(3)抽象
抽象可被用于简化问题。由于课堂时间有限,学生应集中精力解决主要矛盾。如开发游戏时,重在游戏玩法的实现,如果学有余力,再从视觉和听觉等方面进行优化。
(4)算法思维
算法思维体现在一个具体事件的处理,如按钮被点击后,如何用恰当的程序结构来解决问题。具体教学时可以引入流程图,帮助学生理解顺序、分支、循环和模块化编程思想的意义。
(5)评估
任何问题的解决方案都不唯一。周以真教授认为,具备计算思维意味着学生能够判断计算工具、技术和问题之间的匹配程度,并理解计算工具、技术的局限和优势。学生可通过对比流程图或App运行效率,来评估不同方案,并发现开发平台的局限性。
实际教学时,教师需依托一些工具,将以上五个步骤融入课堂。下文的教學案例中,将以学习任务单为例,说明具体实现方法。
基于以上两方面的考虑,“手机App开发”课程设计了九个项目,并遵循由易至难的原则,一学期的规划如表1所示。
建议教师针对不同项目,尽可能运用相似的模式来实施教学,从而让学生反复经历借助计算思维解决问题的过程,助力计算思维的形成。
3.构建多元的评价机制——助力计算思维的成长
作品完成后,教师应搭建展示的平台,让学生在分享时巩固计算思维的形成。教师还应设计多元的评价机制,如师评、互评、自评等。通过评价帮助学生明确学习目标,掌握薄弱技能,同时开阔眼界。
此外,教师应该开拓比赛出口,为学生提供更广阔的实践空间。实践过程中积累的优秀作品亦能反哺课程,助力课程形成良好的闭环生态。
以“手机App开发”课程第七个项目“App Inventor之无坑版打地鼠”第一课时为例,说明如何培养计算思维。
1.特色说明
由于计算思维实质上是一种思维方式,只有充分暴露学生的思维过程才能让教师发现问题,帮助学生提高。因此,在教学过程中,师生均需要一些媒介和载体来暴露自己的思维过程。
本课的特色在于采用学习任务单来辅助学生掌握计算思维。教师通过一段视频展开教学后,学生将以学习任务单为线索,逐一经历任务分解、模式与概括、抽象、算法思维与评估的过程。教师还将在这一过程中引入新知“过程块”,让学生感知模块化编程的优势。评价方面,教师将依据学习任务单和项目文件,在课后对学生进行评价。
2.教学目标
了解无参“过程块”的基本功能,掌握无参“过程块”的定义和用法;巩固标签、按钮、图像精灵和计时器的用法。观看示例视频,了解本次开发项目的实际要求;依托学习任务单,经历计算思维解决问题的全流程。
3.教学重点、难点
学习并掌握“过程块”的用法,培养模块化的编程思想;梳理程序流程,综合运用新知(过程块)和旧知完成开发。
4.教学流程(表2)
本课采用的学习任务单如表3所示,任务单标明了本节课的过程性评价标准。
5.实施效果
游戏打地鼠任务符合初中生的喜好,很好地激发了学生的热情。通过学习任务单的指引,学生再次经历了计算思维解决问题的全过程,轻松地将任务分解为界面设计和逻辑设计两部分,并基于游戏开发的模式完成了算法设计。对于尚未形成较好计算思维的学生,学习任务单实现了脚手架的功能,一定程度上降低了开发的难度。
同时,本课依托学习任务单,很好地将学生训练和发展计算思维的过程暴露出来,帮助教师定位学生的薄弱点,具备一定的实践价值。
本文针对初中信息技术课程,探讨了进行计算思维培养的必要性,并基于App Inventor开发平台,详述了构建一门用于计算思维培养的校本课程的设计原则和实施思路。之后以手机App开发课程的一节游戲开发课为例,依托学习任务单描述了计算思维培养的详细过程。这门校本课程经过实践取得了较为理想的教学效果,学生表现出极强的参与热情和学习兴趣,一定程度上助力了计算思维的培养,具备一定的推广价值。
参考文献
[1]陈国良,董荣胜. 计算思维与大学计算机基础教育[J]. 中国大学教学,2011,15(1): 7-11.
[2]J.M.Wing. Computational Thinking[J]. Communication of the ACM,2006,49(3): 33-35.
[3]吴明晖. 面向计算思维的App Inventor课程建设与实践[J]. 杭州电子科技大学学报, 2015(2): 93-97.
[4]谢忠新. 关于计算思维进入中小学信息技术教育的思考. 中小学信息技术教育, 2017(10): 38-42.