APP下载

Swift Playgrounds培养学生计算思维的实践探索

2017-09-07夏小刚郑长宏孟延豹

中国信息技术教育 2017年15期
关键词:编程信息技术思维

夏小刚+郑长宏+孟延豹

前言:

成都七中初中学校(以下简称“七初”)是笔者长期关注的学校之一,七初在创新上是非常突出的,教师们都有非常强的创新意识,所以它每过一段时间就能给我一些惊喜。当然,创新同样也是基于老七中“启迪有方,治学严谨”的优秀传统,再结合社会对未来人才的需求、学科发展方向、学生未来生活走向来进行设计。在今天的文章里,我们可以看到七初的信息技术教师,是如何根据学科目标以及教学APP的特点进行细致规划,将信息技术的编程课程改变得让学生更愿意学的。

Swift Playgrounds介绍

Swift Playgrounds是一款适用于iPad的创新APP,能让学生以互动有趣的方式来学习Swift。它不要求用户具备编程知识,所以非常适合初学者。学生可以先从闯关解谜开始,掌握Swift的基础知识,再接受一系列挑战,走向apple和其他顶尖开发者设计的更高级Playground。

主角Byte所在的世界存在各种关卡。你需要编写命令,让Byte不仅能动,还能执行任务。例如,在第一关中,你需要组合moveForward()(向前走)和collectGem()(收集宝石)两种命令,完成让Byte走到宝石所在地,并收集宝石的任务。

Swift Playgrounds采用游戏化闯关学习的方式,符合中小学生的心理特征,能充分激发他们的学习兴趣。Swift 3.1包括命令、函数、For循环、条件代码、逻辑运算符、While循环、算法七大模块;Swift 3.2包括变量、类型、初始化、参数、构造世界、数组六大模块;它最新的1.5版本,可以用自己编写的代码让机器人完成不可思议的事情。随着学习的一步步深入,学生不仅能用专业开发者日常所用的代码来攻克各个目标,还能迎来更高级别编程概念的挑战。

为什么要培养学生的计算思维

计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动,主要表现在形式化、模型化、自动化和系统化四个方面。形式化:在信息活动中能够采用计算机可以处理的方式界定问题,抽象关键要素,分析要素间的关系;模型化:建立信息处理的模型,合理组织数据,通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案;自动化:探究利用信息技术解决问题的过程与方法,实现解决问题方案的自动化运行;系统化:形成解决问题的系统过程,将其迁移到与之相关的其他问题解决中。

计算思维作为信息技术学科核心素养的核心内容,依托编程教育来落实是最佳的途径。

我校编程教育遇到的问题

1.我校编程教育的实践历程

自2008年建校起,我校秉承成都七中的优良传统,在活动课中开展了面向竞赛的机器人编程教育。2010年增加了面向信息学奥林匹克竞赛的基于Pascal/C语言的活动课。随着时代的发展,编程教育在信息技术中的地位越来越重要,为了让更多的学生接触编程,学校于2012年开设了基于Scratch的图形化编程课程,以便培养学生的计算思维。2014年,学校开始开展基于Arduino的开源硬件编程教育。

2016年12月,为了落实学校的中长期发展规划,体现未来学校的课程理念,学校有效整合国家、地方和校本三级课程,并结合所有班级都是学生“BYOD”(自带iPad)的特点,组成了“一对一”数字化学习班级。学生利用自己的iPad和无处不在的网络环境实现了真正的泛在化学习。我校信息技术教研组还在2016—2017学年度下学期利用信息技术课实施了STEAM课程的模块化走班教学,并提供了9个模块供学生选择(如下图)。

在课程开展的准备阶段,我们对学生的学习兴趣做了问卷调查。数据显示,部分学生对编程具有浓厚的兴趣。

为了更好地满足学生的个性化学习需求,同时发挥信息技术教师的专业特长,我校在初一年级采用了“学科内走班”的形式,开设了C++程序设计、3D打印、iPad影视制作3个模块课程。每两个班90名学生根据自己的学习兴趣选择3门课程中的一门进行学习,每个班限定30人以内,实现小班化教学。

2.遇到的问题

历经九年的编程教育实践,我们积累了不少经验,也遇到了不少问题。最突出的问题是,当以C++语言为基础的编程课程从活动课走进信息技术常规课以后,大多数学生表示:①C++编程是纯代码编程,符号多,命令(关键字)多,不容易识记,也不容易理解。②编程的界面与结果的界面都是基于字符的,看起来不友好,学起来比较枯燥。③不能产出直观的作品,学习成就感低,不理解编程教育的目的。

同时,经过半年的教学实践,几位教师也认识到在初中阶段不适合用C++语言开展普及性的编程教育,主要原因有两点:

一是C++教学周期较长,与初中信息技术课时之间存在矛盾,即在一个模块教学的课时周期内,无法完成最基本的C++编程基础的教学。

二是绝大部分初中生都将学习的主要精力(难点)集中在了基本符号、基本命令(关键字)与基本格式的识记和运用上,根本谈不到学习编程思想和培养计算思维。

Swift Playgrounds的优势

我们探索了多个基于iPad的编程APP:Scratch Jr、Hopscotch等过于简单,比较适合小学阶段的学生;Encode、Python、Java等过于抽象,不太适合在初中阶段进行编程入门教育。然而,在体验了Swift Playgrounds编程软件之后,我们发现它很有意思,于是邀请七年级3名学生进行了Swift Playgrounds编程体验,指导他们下载了该APP,进行了为期15天的连续学习。之后,我们对他们进行了调查,调查结果如下页表所示。他们一致认为Swift Playgrounds比较有趣,能帮助自己学到一些英语单词,同时,有助于锻炼自己的逻辑思维能力、空间想象能力和自动化思维,对数学、英语等學科的学习有所帮助。

在“游戏”的过程中,3名学生尝试着像Byte(程序中的角色)一样一步步去完成任务。综合学生的反馈及教师的体验,我们认为相对于纯代码编程和纯图形化编程,Swift Playgrounds具有如下优势:①图形化降低了编程入门难度;②游戏化激发了学生的学习兴趣;③促进了学生计算思维的发展。

面向计算思维的编程教育初步设计

由于Swift Playgrounds是蘋果公司开发的针对初学者的编程教育APP,只有iOS版,所以开展此门课程需要具备一定的硬件基础。而我校自2012年开始开展基于iPad的一对一数字化学习实践,积累了利用教育APP辅助教学的丰富经验,同时,学生也有较强的信息素养来完成课程学习。基于此,我们计划按照以下三个流程来设计课程。

1.教师自我成长

目前在苹果官网上,已有2本关于Swift的电子书,即《使用Swift开发APP入门课程教师指南》和《学习编程1&2教师指南》。两本书的设计均符合编程教育的基本流程,可以作为教师参考用书。同时,edX平台上也有相关MOOC,可供教师参考学习。

2.探索如何应用Swift语言和Xcode开发APP

教师应该主动探索Swift Playgrounds,了解其特点,理解设计者的学习路径设计。同时,学习掌握如何应用Xcode和Swift语言开发简单的APP,提高自身的编程教育能力,为学有余力的学生提供更多的引导。

3.编程教育初步设计

(1)课程定位

具体的课程设计是应用计算思维和编程去探索生活中的数学问题、工程问题、结构和流程问题,从而培养学生的迭代思维、试错、调试方法等程序思想,逐渐培养他们的计算思维。

(2)课时建议

建议一学期的课时采取“课内10课时学习+课外5课时学习+课内5课时分享”的方式。这样做,一方面,学生能充分利用信息技术模块课的时间进行课内学习,并进行充分的师生、生生、生机互动,在互动中学习,交流分享;另一方面,考虑到Swift Playgrounds游戏化的设计,鼓励学生在课外时间完成部分学习内容,为接下来开发APP留有充足的学习时间。

(3)教学方式建议

建议采取“课堂学习+课外活动”的形式,如组织全校师生开展基于Swift的“编程一小时”活动。

(4)学习评价建议

过程性评价和总结性评价相结合。既要考查学生对相关编程语言和程序结构的掌握情况,又要关注学生的学习兴趣和对课程本身的认可。

猜你喜欢

编程信息技术思维
幼儿园教学活动中信息技术的应用思考
巧学信息技术课程
浅谈初中信息技术项目式学习教改实践
巧用“信息技术”,提高课堂效率
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
编程屋完成数百元万天使轮融资
学编程,先画画
思维总动员(二十五)
思维总动员