毛澄洁+项杰庭
程序教学的复兴
● 基于过程体验的App Inventor教学法
“授人以鱼,不如授人以渔”。开设App Inventor课程,应该立足于能力的培养,特别是应该立足于计算思维能力的培养。所谓计算思维是一种基于计算机的解决问题的思维方法,这种方法将问题转换为某个计算装置上的信息处理过程,并寻求一种算法上的解决途径。因此,在App Inventor教学中,应该通过教学设计和实例制作,贯彻过程体验原则,让学生体验软件开发的全过程,体验其中解决问题的计算思维方法。
过程体验原则注重的是情感与认知过程的统一。学生通过激发情感,在开发过程中感知和领悟知识,在认知活动中充分发挥情感作用,并达到促进学生对知识的掌握与应用,做到情知合一的协同发展。过程体验教学具有亲历自主性、实践性、个性化、交往性、情境性、缄默性等特征。
软件项目开发的过程主要包括问题的定义、需求分析、软件设计、程序编码、软件测试等阶段。
App Inventor的开发环境降低了软件开发的技术门槛,笔者用两课时在数字涂鸦项目教学中运用了贯彻过程体验原则的教学方法。该教学方法遵循上述软件项目开发的一般流程,通过学生课上撰写的开发记录可以进行分析,进一步明确这一教学方法的有效性。
● 关于数字涂鸦项目教学设计
1.项目功能介绍
提到涂鸦,人们都非常熟悉,在手机上实现简易数字涂鸦功能也非常简单。就是手指在手机屏幕上滑动时,可以画出线条(如图1)。
图1
学生完成的数字涂鸦程序作品如图2所示,增加了清屏、颜色的选择、粗细的选择,通过拍照的方式更改画布背景,还增加了画点、线、花纹的选择。这是学生在完成App程序开发后,自己使用该程序完成的一个涂鸦作品。
2.相关知识点
(1)画布(Canvas)组件的拖拽事件,画点、线、圆、清除画布等方法,背景颜色、背景图片、画笔颜色、画笔粗细等属性。
(2)照相机(Camera)组件,拍照后事件,拍照方法。
(3)变量的定义、赋值与使用。
(4)If then的选择结构。
(5)软件开发过程的体验。
3.教学目标
(1)通过本项目的问题定义、需求分析、软件设计、程序编程、软件测试等过程,了解并体验软件开发的基本过程,建立基于计算机编程的问题解决的基本逻辑。
(2)学习并熟练使用画布组件属性、事件与方法,并应用于本项目的开发。
(3)了解相机组件的基本功能、事件与方法,并应用本项目的开发。
(4)通过让程序区分所画图形,引入变量的概念,学会定义变量、给变量赋值、使用变量;引入if then的选择结构,引入条件判断与表达式,学会条件判断进行编程。
4.教学过程
第一部分:初步开发
(1)新课导入。
教师设置问题情境:手机成为每个人必备通讯工具,滑屏、触屏成为每天的功课,可以留下人们滑屏、触屏的轨迹吗?如何实现?出示上页图1的照片。
(2)两人一组,围绕以下问题进行讨论。
软件需求:数字涂鸦。
应用设计:要达到什么功能?如何进行人机交互?软件界面设计成什么样子?信息如何交换?
(3)小组合作尝试开发、试用。
使用画布组件,了解它的属性、事件与方法,试着来完成这一功能。打开模拟器,尝试使用此程序。
(4)小组交流尝试开发,教师点评:利用画布的拖拽事件,可以获取三个点的坐标,调用画线方法,利用前一个点和当前点的XY坐标,就可以画线,记录手指触屏的轨迹(如图3)。
(5)继续制作自己的程序:试着画一幅涂鸦作品,看一看软件还需要有什么修改的地方。
第二部分:拓展开发
(6)教师汇总学生们提出的意见与解决方案。
(7)教师讲解相关知识。
(8)学生自主开发,完善自己的作品。
第三部分:程序的修改与完善
(9)教师点评学生的项目作品,明确问题点与解决方案:①组件命名不规范——如何规范命名组件。②BLOCK编辑区代码块太乱——BLOCK编辑区的整理,排列、堆叠、复制、收起、打开等操作。③背景颜色设置错误。④变量与选择结构的应用。
(10)根据教师要求,修改完善自己的作品:①规范组件命名。②修改不正确的功能和属性设定。③增加并完善数字涂鸦软件功能。④制作模拟器的屏幕截图,保存源文件,填写软件修改记录。
(11)交流展示作品与开发体会。
● 课程实施过程与效果的反馈情况
教学过程与软件开发过程的协调统一,体现了App Inventor体验式过程教学方法的核心,体现了问题发现和解决的理念,即问题—解决方法—程序修改。
利用“我的数字涂鸦”开发记录,通过记录的方式使学生在本课导入时,较为认真、快速地根据问题定义,设计出了自己想要的软件功能。这种方式学生非常认可,也很配合,每节课的开发记录要求均不一样。
修改完善自己的作品。根据学生作品中存在的问题,教师提出修改意见,学生根据教师的建议,明确自己需要解决的问题,通过自己的不断尝试,使问题最终得到解决。这是培养学生批判性思维的良好机会。学生也很认同,从他们撰写的文字中可以看出:
通过这节课的学习,我了解到软件开发员工作的不易,在做好程序的雏形之后,还需不断调试,以保证各个组件都可以正常运转,或者添加一些新功能。可能他们用在调试上的时间比设计制作雏形上的时间多得多。
对体验式的项目开发学习,学生也很认可,下面是学生感言的摘录:
在开发过程中途会遇到一些难题,要经过一些思考。不过总体来说还是觉得自己解决问题、编自己所想要的程序很有意思。通过这个过程,能够感觉到自己在成长。这节课学会了用canvas和变量,可以利用变量改变形状和线段的粗细,简化了一步步设置的问题,相对VB而言编程简单了很多。App inventor中的语句简单易懂,相信可以用其中的随机变量实现许多有意思的创意。
通过一些简单的拼块,可以做出平时看起来很高级的东西,虽然是编程,但过程并未让我感到枯燥,反而很有意思。因为它并不用写语言,也不用担心随处都可能犯错误,而是通过几个拼块完成整个过程。学习了编程以后,就更能体会到编程人员工作的不容易。
● 结束语
基于过程体验的App Inventor项目教学法是本课程长期采用的一种教学方法,在实施过程中,每个项目均采用问题定义、需求分析、软件设计、程序编码、软件测试的基本流程,不同项目的开发记录表要求不一样,新知识内容讲解的时间安排不一样,大多数在一开始就讲,而本案例则由于一开始用到的技术比较简单,因此放在中间讲。从整个学期的教学情况和学生在每个项目进行中认真而执著的表现看,效果非常好。
由于App Inventor的界面是全英文的,教师提供的材料大部分也是英文的,因此对学生的英语水平要求也较高,但同时也有一个附加的收获就是学生的英语阅读能力提高了。
另外,这一教学法对课时要求比较高,我们采用的是每周2课时连堂排,所以学生基本上有90分钟的时间来完成一个项目,对于1课时的安排,则不适宜采用该方法。我们将会在下一轮的教学中,在项目选择、环节安排上做一些调整,使之更适合学生自主性比较大的体验式过程教学。
● 基于过程体验的App Inventor教学法
“授人以鱼,不如授人以渔”。开设App Inventor课程,应该立足于能力的培养,特别是应该立足于计算思维能力的培养。所谓计算思维是一种基于计算机的解决问题的思维方法,这种方法将问题转换为某个计算装置上的信息处理过程,并寻求一种算法上的解决途径。因此,在App Inventor教学中,应该通过教学设计和实例制作,贯彻过程体验原则,让学生体验软件开发的全过程,体验其中解决问题的计算思维方法。
endprint
过程体验原则注重的是情感与认知过程的统一。学生通过激发情感,在开发过程中感知和领悟知识,在认知活动中充分发挥情感作用,并达到促进学生对知识的掌握与应用,做到情知合一的协同发展。过程体验教学具有亲历自主性、实践性、个性化、交往性、情境性、缄默性等特征。
软件项目开发的过程主要包括问题的定义、需求分析、软件设计、程序编码、软件测试等阶段。
App Inventor的开发环境降低了软件开发的技术门槛,笔者用两课时在数字涂鸦项目教学中运用了贯彻过程体验原则的教学方法。该教学方法遵循上述软件项目开发的一般流程,通过学生课上撰写的开发记录可以进行分析,进一步明确这一教学方法的有效性。
● 关于数字涂鸦项目教学设计
1.项目功能介绍
提到涂鸦,人们都非常熟悉,在手机上实现简易数字涂鸦功能也非常简单。就是手指在手机屏幕上滑动时,可以画出线条(如图1)。
图1
学生完成的数字涂鸦程序作品如图2所示,增加了清屏、颜色的选择、粗细的选择,通过拍照的方式更改画布背景,还增加了画点、线、花纹的选择。这是学生在完成App程序开发后,自己使用该程序完成的一个涂鸦作品。
2.相关知识点
(1)画布(Canvas)组件的拖拽事件,画点、线、圆、清除画布等方法,背景颜色、背景图片、画笔颜色、画笔粗细等属性。
(2)照相机(Camera)组件,拍照后事件,拍照方法。
(3)变量的定义、赋值与使用。
(4)If then的选择结构。
(5)软件开发过程的体验。
3.教学目标
(1)通过本项目的问题定义、需求分析、软件设计、程序编程、软件测试等过程,了解并体验软件开发的基本过程,建立基于计算机编程的问题解决的基本逻辑。
(2)学习并熟练使用画布组件属性、事件与方法,并应用于本项目的开发。
(3)了解相机组件的基本功能、事件与方法,并应用本项目的开发。
(4)通过让程序区分所画图形,引入变量的概念,学会定义变量、给变量赋值、使用变量;引入if then的选择结构,引入条件判断与表达式,学会条件判断进行编程。
4.教学过程
第一部分:初步开发
(1)新课导入。
教师设置问题情境:手机成为每个人必备通讯工具,滑屏、触屏成为每天的功课,可以留下人们滑屏、触屏的轨迹吗?如何实现?出示上页图1的照片。
(2)两人一组,围绕以下问题进行讨论。
软件需求:数字涂鸦。
应用设计:要达到什么功能?如何进行人机交互?软件界面设计成什么样子?信息如何交换?
(3)小组合作尝试开发、试用。
使用画布组件,了解它的属性、事件与方法,试着来完成这一功能。打开模拟器,尝试使用此程序。
(4)小组交流尝试开发,教师点评:利用画布的拖拽事件,可以获取三个点的坐标,调用画线方法,利用前一个点和当前点的XY坐标,就可以画线,记录手指触屏的轨迹(如图3)。
(5)继续制作自己的程序:试着画一幅涂鸦作品,看一看软件还需要有什么修改的地方。
第二部分:拓展开发
(6)教师汇总学生们提出的意见与解决方案。
(7)教师讲解相关知识。
(8)学生自主开发,完善自己的作品。
第三部分:程序的修改与完善
(9)教师点评学生的项目作品,明确问题点与解决方案:①组件命名不规范——如何规范命名组件。②BLOCK编辑区代码块太乱——BLOCK编辑区的整理,排列、堆叠、复制、收起、打开等操作。③背景颜色设置错误。④变量与选择结构的应用。
(10)根据教师要求,修改完善自己的作品:①规范组件命名。②修改不正确的功能和属性设定。③增加并完善数字涂鸦软件功能。④制作模拟器的屏幕截图,保存源文件,填写软件修改记录。
(11)交流展示作品与开发体会。
● 课程实施过程与效果的反馈情况
教学过程与软件开发过程的协调统一,体现了App Inventor体验式过程教学方法的核心,体现了问题发现和解决的理念,即问题—解决方法—程序修改。
利用“我的数字涂鸦”开发记录,通过记录的方式使学生在本课导入时,较为认真、快速地根据问题定义,设计出了自己想要的软件功能。这种方式学生非常认可,也很配合,每节课的开发记录要求均不一样。
修改完善自己的作品。根据学生作品中存在的问题,教师提出修改意见,学生根据教师的建议,明确自己需要解决的问题,通过自己的不断尝试,使问题最终得到解决。这是培养学生批判性思维的良好机会。学生也很认同,从他们撰写的文字中可以看出:
通过这节课的学习,我了解到软件开发员工作的不易,在做好程序的雏形之后,还需不断调试,以保证各个组件都可以正常运转,或者添加一些新功能。可能他们用在调试上的时间比设计制作雏形上的时间多得多。
对体验式的项目开发学习,学生也很认可,下面是学生感言的摘录:
在开发过程中途会遇到一些难题,要经过一些思考。不过总体来说还是觉得自己解决问题、编自己所想要的程序很有意思。通过这个过程,能够感觉到自己在成长。这节课学会了用canvas和变量,可以利用变量改变形状和线段的粗细,简化了一步步设置的问题,相对VB而言编程简单了很多。App inventor中的语句简单易懂,相信可以用其中的随机变量实现许多有意思的创意。
通过一些简单的拼块,可以做出平时看起来很高级的东西,虽然是编程,但过程并未让我感到枯燥,反而很有意思。因为它并不用写语言,也不用担心随处都可能犯错误,而是通过几个拼块完成整个过程。学习了编程以后,就更能体会到编程人员工作的不容易。
● 结束语
基于过程体验的App Inventor项目教学法是本课程长期采用的一种教学方法,在实施过程中,每个项目均采用问题定义、需求分析、软件设计、程序编码、软件测试的基本流程,不同项目的开发记录表要求不一样,新知识内容讲解的时间安排不一样,大多数在一开始就讲,而本案例则由于一开始用到的技术比较简单,因此放在中间讲。从整个学期的教学情况和学生在每个项目进行中认真而执著的表现看,效果非常好。
由于App Inventor的界面是全英文的,教师提供的材料大部分也是英文的,因此对学生的英语水平要求也较高,但同时也有一个附加的收获就是学生的英语阅读能力提高了。
另外,这一教学法对课时要求比较高,我们采用的是每周2课时连堂排,所以学生基本上有90分钟的时间来完成一个项目,对于1课时的安排,则不适宜采用该方法。我们将会在下一轮的教学中,在项目选择、环节安排上做一些调整,使之更适合学生自主性比较大的体验式过程教学。
参考文献:
[1]项华.信息技术与中学物理教学整合[M].北京:北京师范大学出版社,2013(9).
[2]Wing J M.Computational thinking[J].Communications of the ACM, 2006,49(3).
[3]董荣胜.计算思维及计算机导论[J].计算机科学, 2009,36(4).
[4]App Inventor在线开发平台:ai2.appinventor.mit.edu.
endprint
过程体验原则注重的是情感与认知过程的统一。学生通过激发情感,在开发过程中感知和领悟知识,在认知活动中充分发挥情感作用,并达到促进学生对知识的掌握与应用,做到情知合一的协同发展。过程体验教学具有亲历自主性、实践性、个性化、交往性、情境性、缄默性等特征。
软件项目开发的过程主要包括问题的定义、需求分析、软件设计、程序编码、软件测试等阶段。
App Inventor的开发环境降低了软件开发的技术门槛,笔者用两课时在数字涂鸦项目教学中运用了贯彻过程体验原则的教学方法。该教学方法遵循上述软件项目开发的一般流程,通过学生课上撰写的开发记录可以进行分析,进一步明确这一教学方法的有效性。
● 关于数字涂鸦项目教学设计
1.项目功能介绍
提到涂鸦,人们都非常熟悉,在手机上实现简易数字涂鸦功能也非常简单。就是手指在手机屏幕上滑动时,可以画出线条(如图1)。
图1
学生完成的数字涂鸦程序作品如图2所示,增加了清屏、颜色的选择、粗细的选择,通过拍照的方式更改画布背景,还增加了画点、线、花纹的选择。这是学生在完成App程序开发后,自己使用该程序完成的一个涂鸦作品。
2.相关知识点
(1)画布(Canvas)组件的拖拽事件,画点、线、圆、清除画布等方法,背景颜色、背景图片、画笔颜色、画笔粗细等属性。
(2)照相机(Camera)组件,拍照后事件,拍照方法。
(3)变量的定义、赋值与使用。
(4)If then的选择结构。
(5)软件开发过程的体验。
3.教学目标
(1)通过本项目的问题定义、需求分析、软件设计、程序编程、软件测试等过程,了解并体验软件开发的基本过程,建立基于计算机编程的问题解决的基本逻辑。
(2)学习并熟练使用画布组件属性、事件与方法,并应用于本项目的开发。
(3)了解相机组件的基本功能、事件与方法,并应用本项目的开发。
(4)通过让程序区分所画图形,引入变量的概念,学会定义变量、给变量赋值、使用变量;引入if then的选择结构,引入条件判断与表达式,学会条件判断进行编程。
4.教学过程
第一部分:初步开发
(1)新课导入。
教师设置问题情境:手机成为每个人必备通讯工具,滑屏、触屏成为每天的功课,可以留下人们滑屏、触屏的轨迹吗?如何实现?出示上页图1的照片。
(2)两人一组,围绕以下问题进行讨论。
软件需求:数字涂鸦。
应用设计:要达到什么功能?如何进行人机交互?软件界面设计成什么样子?信息如何交换?
(3)小组合作尝试开发、试用。
使用画布组件,了解它的属性、事件与方法,试着来完成这一功能。打开模拟器,尝试使用此程序。
(4)小组交流尝试开发,教师点评:利用画布的拖拽事件,可以获取三个点的坐标,调用画线方法,利用前一个点和当前点的XY坐标,就可以画线,记录手指触屏的轨迹(如图3)。
(5)继续制作自己的程序:试着画一幅涂鸦作品,看一看软件还需要有什么修改的地方。
第二部分:拓展开发
(6)教师汇总学生们提出的意见与解决方案。
(7)教师讲解相关知识。
(8)学生自主开发,完善自己的作品。
第三部分:程序的修改与完善
(9)教师点评学生的项目作品,明确问题点与解决方案:①组件命名不规范——如何规范命名组件。②BLOCK编辑区代码块太乱——BLOCK编辑区的整理,排列、堆叠、复制、收起、打开等操作。③背景颜色设置错误。④变量与选择结构的应用。
(10)根据教师要求,修改完善自己的作品:①规范组件命名。②修改不正确的功能和属性设定。③增加并完善数字涂鸦软件功能。④制作模拟器的屏幕截图,保存源文件,填写软件修改记录。
(11)交流展示作品与开发体会。
● 课程实施过程与效果的反馈情况
教学过程与软件开发过程的协调统一,体现了App Inventor体验式过程教学方法的核心,体现了问题发现和解决的理念,即问题—解决方法—程序修改。
利用“我的数字涂鸦”开发记录,通过记录的方式使学生在本课导入时,较为认真、快速地根据问题定义,设计出了自己想要的软件功能。这种方式学生非常认可,也很配合,每节课的开发记录要求均不一样。
修改完善自己的作品。根据学生作品中存在的问题,教师提出修改意见,学生根据教师的建议,明确自己需要解决的问题,通过自己的不断尝试,使问题最终得到解决。这是培养学生批判性思维的良好机会。学生也很认同,从他们撰写的文字中可以看出:
通过这节课的学习,我了解到软件开发员工作的不易,在做好程序的雏形之后,还需不断调试,以保证各个组件都可以正常运转,或者添加一些新功能。可能他们用在调试上的时间比设计制作雏形上的时间多得多。
对体验式的项目开发学习,学生也很认可,下面是学生感言的摘录:
在开发过程中途会遇到一些难题,要经过一些思考。不过总体来说还是觉得自己解决问题、编自己所想要的程序很有意思。通过这个过程,能够感觉到自己在成长。这节课学会了用canvas和变量,可以利用变量改变形状和线段的粗细,简化了一步步设置的问题,相对VB而言编程简单了很多。App inventor中的语句简单易懂,相信可以用其中的随机变量实现许多有意思的创意。
通过一些简单的拼块,可以做出平时看起来很高级的东西,虽然是编程,但过程并未让我感到枯燥,反而很有意思。因为它并不用写语言,也不用担心随处都可能犯错误,而是通过几个拼块完成整个过程。学习了编程以后,就更能体会到编程人员工作的不容易。
● 结束语
基于过程体验的App Inventor项目教学法是本课程长期采用的一种教学方法,在实施过程中,每个项目均采用问题定义、需求分析、软件设计、程序编码、软件测试的基本流程,不同项目的开发记录表要求不一样,新知识内容讲解的时间安排不一样,大多数在一开始就讲,而本案例则由于一开始用到的技术比较简单,因此放在中间讲。从整个学期的教学情况和学生在每个项目进行中认真而执著的表现看,效果非常好。
由于App Inventor的界面是全英文的,教师提供的材料大部分也是英文的,因此对学生的英语水平要求也较高,但同时也有一个附加的收获就是学生的英语阅读能力提高了。
另外,这一教学法对课时要求比较高,我们采用的是每周2课时连堂排,所以学生基本上有90分钟的时间来完成一个项目,对于1课时的安排,则不适宜采用该方法。我们将会在下一轮的教学中,在项目选择、环节安排上做一些调整,使之更适合学生自主性比较大的体验式过程教学。
参考文献:
[1]项华.信息技术与中学物理教学整合[M].北京:北京师范大学出版社,2013(9).
[2]Wing J M.Computational thinking[J].Communications of the ACM, 2006,49(3).
[3]董荣胜.计算思维及计算机导论[J].计算机科学, 2009,36(4).
[4]App Inventor在线开发平台:ai2.appinventor.mit.edu.
endprint
过程体验原则注重的是情感与认知过程的统一。学生通过激发情感,在开发过程中感知和领悟知识,在认知活动中充分发挥情感作用,并达到促进学生对知识的掌握与应用,做到情知合一的协同发展。过程体验教学具有亲历自主性、实践性、个性化、交往性、情境性、缄默性等特征。
软件项目开发的过程主要包括问题的定义、需求分析、软件设计、程序编码、软件测试等阶段。
App Inventor的开发环境降低了软件开发的技术门槛,笔者用两课时在数字涂鸦项目教学中运用了贯彻过程体验原则的教学方法。该教学方法遵循上述软件项目开发的一般流程,通过学生课上撰写的开发记录可以进行分析,进一步明确这一教学方法的有效性。
● 关于数字涂鸦项目教学设计
1.项目功能介绍
提到涂鸦,人们都非常熟悉,在手机上实现简易数字涂鸦功能也非常简单。就是手指在手机屏幕上滑动时,可以画出线条(如图1)。
图1
学生完成的数字涂鸦程序作品如图2所示,增加了清屏、颜色的选择、粗细的选择,通过拍照的方式更改画布背景,还增加了画点、线、花纹的选择。这是学生在完成App程序开发后,自己使用该程序完成的一个涂鸦作品。
2.相关知识点
(1)画布(Canvas)组件的拖拽事件,画点、线、圆、清除画布等方法,背景颜色、背景图片、画笔颜色、画笔粗细等属性。
(2)照相机(Camera)组件,拍照后事件,拍照方法。
(3)变量的定义、赋值与使用。
(4)If then的选择结构。
(5)软件开发过程的体验。
3.教学目标
(1)通过本项目的问题定义、需求分析、软件设计、程序编程、软件测试等过程,了解并体验软件开发的基本过程,建立基于计算机编程的问题解决的基本逻辑。
(2)学习并熟练使用画布组件属性、事件与方法,并应用于本项目的开发。
(3)了解相机组件的基本功能、事件与方法,并应用本项目的开发。
(4)通过让程序区分所画图形,引入变量的概念,学会定义变量、给变量赋值、使用变量;引入if then的选择结构,引入条件判断与表达式,学会条件判断进行编程。
4.教学过程
第一部分:初步开发
(1)新课导入。
教师设置问题情境:手机成为每个人必备通讯工具,滑屏、触屏成为每天的功课,可以留下人们滑屏、触屏的轨迹吗?如何实现?出示上页图1的照片。
(2)两人一组,围绕以下问题进行讨论。
软件需求:数字涂鸦。
应用设计:要达到什么功能?如何进行人机交互?软件界面设计成什么样子?信息如何交换?
(3)小组合作尝试开发、试用。
使用画布组件,了解它的属性、事件与方法,试着来完成这一功能。打开模拟器,尝试使用此程序。
(4)小组交流尝试开发,教师点评:利用画布的拖拽事件,可以获取三个点的坐标,调用画线方法,利用前一个点和当前点的XY坐标,就可以画线,记录手指触屏的轨迹(如图3)。
(5)继续制作自己的程序:试着画一幅涂鸦作品,看一看软件还需要有什么修改的地方。
第二部分:拓展开发
(6)教师汇总学生们提出的意见与解决方案。
(7)教师讲解相关知识。
(8)学生自主开发,完善自己的作品。
第三部分:程序的修改与完善
(9)教师点评学生的项目作品,明确问题点与解决方案:①组件命名不规范——如何规范命名组件。②BLOCK编辑区代码块太乱——BLOCK编辑区的整理,排列、堆叠、复制、收起、打开等操作。③背景颜色设置错误。④变量与选择结构的应用。
(10)根据教师要求,修改完善自己的作品:①规范组件命名。②修改不正确的功能和属性设定。③增加并完善数字涂鸦软件功能。④制作模拟器的屏幕截图,保存源文件,填写软件修改记录。
(11)交流展示作品与开发体会。
● 课程实施过程与效果的反馈情况
教学过程与软件开发过程的协调统一,体现了App Inventor体验式过程教学方法的核心,体现了问题发现和解决的理念,即问题—解决方法—程序修改。
利用“我的数字涂鸦”开发记录,通过记录的方式使学生在本课导入时,较为认真、快速地根据问题定义,设计出了自己想要的软件功能。这种方式学生非常认可,也很配合,每节课的开发记录要求均不一样。
修改完善自己的作品。根据学生作品中存在的问题,教师提出修改意见,学生根据教师的建议,明确自己需要解决的问题,通过自己的不断尝试,使问题最终得到解决。这是培养学生批判性思维的良好机会。学生也很认同,从他们撰写的文字中可以看出:
通过这节课的学习,我了解到软件开发员工作的不易,在做好程序的雏形之后,还需不断调试,以保证各个组件都可以正常运转,或者添加一些新功能。可能他们用在调试上的时间比设计制作雏形上的时间多得多。
对体验式的项目开发学习,学生也很认可,下面是学生感言的摘录:
在开发过程中途会遇到一些难题,要经过一些思考。不过总体来说还是觉得自己解决问题、编自己所想要的程序很有意思。通过这个过程,能够感觉到自己在成长。这节课学会了用canvas和变量,可以利用变量改变形状和线段的粗细,简化了一步步设置的问题,相对VB而言编程简单了很多。App inventor中的语句简单易懂,相信可以用其中的随机变量实现许多有意思的创意。
通过一些简单的拼块,可以做出平时看起来很高级的东西,虽然是编程,但过程并未让我感到枯燥,反而很有意思。因为它并不用写语言,也不用担心随处都可能犯错误,而是通过几个拼块完成整个过程。学习了编程以后,就更能体会到编程人员工作的不容易。
● 结束语
基于过程体验的App Inventor项目教学法是本课程长期采用的一种教学方法,在实施过程中,每个项目均采用问题定义、需求分析、软件设计、程序编码、软件测试的基本流程,不同项目的开发记录表要求不一样,新知识内容讲解的时间安排不一样,大多数在一开始就讲,而本案例则由于一开始用到的技术比较简单,因此放在中间讲。从整个学期的教学情况和学生在每个项目进行中认真而执著的表现看,效果非常好。
由于App Inventor的界面是全英文的,教师提供的材料大部分也是英文的,因此对学生的英语水平要求也较高,但同时也有一个附加的收获就是学生的英语阅读能力提高了。
另外,这一教学法对课时要求比较高,我们采用的是每周2课时连堂排,所以学生基本上有90分钟的时间来完成一个项目,对于1课时的安排,则不适宜采用该方法。我们将会在下一轮的教学中,在项目选择、环节安排上做一些调整,使之更适合学生自主性比较大的体验式过程教学。
参考文献:
[1]项华.信息技术与中学物理教学整合[M].北京:北京师范大学出版社,2013(9).
[2]Wing J M.Computational thinking[J].Communications of the ACM, 2006,49(3).
[3]董荣胜.计算思维及计算机导论[J].计算机科学, 2009,36(4).
[4]App Inventor在线开发平台:ai2.appinventor.mit.edu.
endprint