以教学之改应信息科技之变
2016-09-10程昌铭
程昌铭
《中小学信息技术教育》杂志2015年第8期刊登了一篇文章《上海中小学信息科技课程再思考》。文中谈到“上海的信息科技教材已经完全不适应当前的教学要求与学生实际情况,学生根本不爱学、不愿学”。对此,我深有感触。2010年全球智能手机销量首度超越桌面电脑,物联网和可穿戴设备的市场规模又将在2016年超越智能手机,一个万物互联的智能时代即将到来。然而回望我们现有的教材,基于计算机和Windows的内容已无法满足信息科技日新月异发展的需要。那么,中小学信息科技教育如何应对移动化和人工智能的新技术革命浪潮?如何实施从PC到移动互联,及其背后的云计算和大数据技术的学科建设迁移?针对这些问题,我校主要从革新教学内容和改变教学方式两个方面进行了探索。
建设移动互联智能实验室,学习IOS App开发
移动互联网、物联网、云计算、人工智能……这些新技术的发展,将使人类社会发生从未有过的改变。对未来一代人而言,社会不仅意味着人与人之间的关系,更意味着人与机器之间的互动。掌握编程技术,将使年轻一代在未来能够掌握与机器交流的“语言”。
1. 儿童编程正成为全球计算机教育的新趋势
现在全世界都非常重视“编程教育”。美国非营利组织Code.org发起的“编程一小时”活动,受到了微软创始人比尔·盖茨、Facebook 创始人马克·扎克伯格等人的支持。该活动旨在提高人们尤其是青少年的创新能力、计算思维,并普及计算机科学教育,迄今已有超过5000万人参加,甚至连美国总统奥巴马也成为美国历史上第一位学习编程的总统。他还亲自发表电视讲话,号召美国年轻人学习编程。他指出,编程如同识字一样,应成为基础教育的一部分,号召美国学生不要只是买一个新的电脑游戏,而是自己去做一个;不要只是下载最新的应用程序,而是去帮助设计它;不要只是在手机上玩玩,而是要去编写它的代码。2015年12月10日,奥巴马签署了“让每一个学生都成功”法案。在这部法案中,共有七处强调了计算机科学教育的重要性。法案指出,在美国的教育中,计算机科学要与数学、外语等学科一起成为“必须为美国学生优先提供的课程”,同时不仅要为学生,还要为教师和校长提供系统的、综合的计算机科学教育。
如果中国的基础教育没有提前谋篇布局,积极迎接这一编程时代,那我们的学生就可能错过许多潜在的机遇和工作机会。
2. 跳出Windows去看IT大世界
现在IT界主要存在这样几个系统:基于Windows的系统、基于Android的系统、基于Unix的系统。说起信息科技,学生马上想到的就是Windows。随着手机的普及,人们又接触到了Android系统。其实IT的世界很大,不仅有Windows、Android,学校还要创造条件,让学生接触基于Unix的系统。OSX是大家比较容易接触到的基于Unix的系统。让学生实践在OSX平台上开发IOS App,是我校正在探索的创新型人才培养项目。
3. 告别Visual Basic,进入IOS App编程新天地
《算法与程序设计》是选修模块,多数学校讲授的是VB6.0。众所周知,VB6.0是微软1998年推出的编程环境,编程界面也属于上个世纪——简单粗糙,与学生在平板电脑、智能手机上见到的App界面相去甚远。在“互联网+”时代,IOS App开发用的是Objective C; Android是基于Linux开发的一个移动操作系统,而Linux是C与C++的天下,Android从底层就支持C/C++;Windows Mobile上App开发多数用的是C#。无论是OC、C++,还是C#,都与C语言有着非常紧密的关系,并且通过C语言这门经典语言的学习,可以更好地理解计算机工作的原理。
当然,学生仅学习C语言还不够,因为C语言是面向过程的编程语言,IOS App开发是面向对象的编程。在面向对象的编程世界,万物皆对象,世界就是由对象组成的。我们要培养学生抽象、归纳的能力,通过学习,能够把一组具有相似特征的对象抽象成类,用类来封装对象的属性和方法。只有掌握了面向对象的编程思想,才能理解IOS App开发的编程框架。
4. 摒弃灌输和说教,在具体项目中培养创新意识
《IOS App开发》课程较适合在高二学生中开设。上海学生在高一学过《算法与程序设计》,掌握了编程的基础知识,对变量,对顺序、分支、循环的执行流程,对数组、排序、查找等有过学习和实践,基本上掌握了面向过程的编程方法。一部分对编程有浓厚兴趣且有发展潜力的学生,将在《IOS App开发》这门课中大展身手。
《IOS App开发》采用项目式教学,以小组为单位确定开发项目。每个小组可以根据组员特长通过讨论自行确定开发项目,也可以在教师提供的项目清单中自主选择。教师提供的项目清单包括:
(1)开发一个App控制教室的照明,通过智能控制实现节能减排;
(2)开发一个App读取心率、血压等数据,生成健康报表;
(3)晃动手机实现京剧变脸;
(4)手机控制小球平衡;
(5)访问学校IC卡信息数据库,生成小组成员年度、季度消费分析图形报表;
……
教师在各个小组项目开发中的作用仅是提供指导和技术支持。学生以小组分工合作的形式完成整个项目的开发,包括需求分析、UI设计、代码编写、运行调试、上传商店、营销推广(模拟)等。
5. 搭建未来教室,感受移动互联和智能物联
学校建设了面向未来的智能教室。学生第一次走进“新技术创新实验室”,教师通过手机上的App开门。进入实验室,教师用App依次打开教室所有的灯、空调、音响,关上所有的窗帘。学生落座后,教师用App打开投影,用iPad通过AppleTV在电子白板上播放课程的简介。当然,也可以用一键模式快捷打开。通过新学期第一课的第一幅画面,给学生呈现由物联网带来的有未来感的震撼效果,告诉学生现在看到的就是接下来要学到的。
实验室配8张风车桌,每个叶片放1台iMac,每张桌子配5把水晶椅,让学生充分体验科技感和未来元素。每组配有真机测试用的iPhone、iPad和Apple Watch1套;每组配有声音编辑合成用的音乐键盘、监听耳机、数字Mic1套。每组配有通过App控制物联网实验用的Philip智能灯泡、路由器1套。学生将在OSX平台上把灵感、创意、金点子、脑海中星星点点的智慧火花变为现实,再拿到IOS平台上进行真机调试和验证。
6. 丰富课程内容,引领学生踏上IOS App开发征程
作为研究性学习课程,学校里课时有限,不能从C语言到OC语言,再到最新的Swift语言进行系统的学习。因此,我们采取案例学习方式,对在案例中用到的知识点进行实时讲解和研究。在这门课里,我们主要通过下面18个案例来学习IOS App开发。
(1)手机拍照,并进行照片处理;
(2)手机控制音乐灯泡,根据音乐的节奏变换灯泡的冷暖色调、闪烁的频率等;
(3)地图定位;
(4)打地鼠小游戏的开发;
……
详情请扫描二维码
7. 教师开发App,推动各学科信息化迈上新台阶
当前,计算机对其他学科的影响和渗透正日益增强。通过开设IOS App开发课程,不仅可以促进信息科技教学内容的多样化,夯实信息科技教师的专业能力,也可以跨界为其他学科提供信息化工具和教学手段。其他学科教师通过这门课的学习,也可以开发出贴合自己学科实际需要的App,从而实现提高信息技能的目的。同时,学校正在推进2套App的开发,1套《3分钟英语》,每天提供时长3分钟的单词识记、短语应用、句子辨析、练习反馈等内容;1套《育才问答》,提供各学科的实时答疑和学习咨询。
8. 校企合作,与行业发展紧密接轨
通过校企合作,学校会获得行业领先的企业所授权的教学方案库,引入先进的行业发展理念和技术标准。这样,一方面使学校的课程方案与主流技术和产品保持一致,另一方面也可以使学校的课程方案符合未来计算机行业的发展方向,如移动化、智能化、万物互联等。再者,还可以更新学校教师的知识结构,使教师适应从PC到移动化的技术发展趋势,掌握主流的计算机应用和开发技术。
通过实验探索计算机科学的本质
软件是生产力。小到家里的电饭煲,大到云计算,从神舟飞船登月到好奇号登陆火星,哪一个都离不开软件的支持。因此,在信息科技课堂上,教师要让学生沉浸在软件的世界里,以软件贯穿整个教学的始终,让学生体会到软件的神奇与高效,感受软件是改变世界的力量,让学生透过各种各样的软件领会计算机科学的本质。
沪版信息科技教材中,从信息编码到计算机软硬件,再到网络及网络应用,理论知识占了绝大部分。拿着这套教材,如果只在普通教室里上课,虽然不会有太大麻烦,但是这样一来,课程给学生的感觉就变了,变得不再是信息科技课了。微软或思科的培训课,学员们最看重的是培训机构的实验环境。受此启发,我们把信息科技课改成实验课,将所有学生都需要掌握的知识尽可能地以实验的方式来证实。这里,我以信息科技教材的第一章《进制与信息的编码》为例,谈一下自己上课的体会。
在信息的编码这部分,我们给学生讲的第一个内容是“计算机内部所有的信息都是以二进制方式存储的”。这是一个结论,我们要做的是,让学生通过实验看到计算机内部的0和1,眼见为实,“有图有真相”。
方法1:用Binary Viewer查看文本文件、声音文件、图像文件、视频文件等,打开后看到的都是二进制代码。
方法2:我们将一个二进制数存进一个变量,看能不能正确打印出来。
intb=0b00000000000000000000000000001011;
printf(“b=%d\n”,b);
计算机里不提供二进制数的直接输出方式,但是如果一个数在计算机内部是以二进制形式存放的,我们就有办法把这个二进制数的所有二进制位从高到低逐个打印出来:
voidDtob(int x)
{
int b=0b00000000000000000000000000000001;
int temp;
for (int i=31; i>=0; i--) {
temp=x;
temp=temp>>i;
temp=temp & b;
printf("%d",temp);
}
printf("\n");
}
实验结果证明了,计算机内部所有信息都以二进制形式存放。
后续实验请扫描二维码查看
以实验的方式上信息科技课,需要一些必要的条件。一是教师要转变观念,把以前的“讲中学”,变成“做中学”和“实验中学”,一切以实验的结果为准,这样才能把计算机原理讲透彻,讲进骨子里。二是需要提高机房电脑的硬件配置。让学生亲自动手做实验,需要使用大量软件,甚至一些大型软件,机房里的电脑要能流畅运行这些软件。三是信息科技教师要加强学习,对于实验中用到的各种软件能够信手拈来、操控自如。信息科技教师与其他学科教师最大的不同就在于,信息科技教师所讲授的知识更新快,这就要求我们不仅要做掌握教育教学方法的专家,还要紧跟信息科技发展的步伐,不断学习,把最新的信息科技成果带给学生。
信息科技正以无限的可能性改变着传统教育的面貌。我们只有顺应潮流,抓住机会,创造条件,厚植创新土壤,才能培养出建设创新型国家所急需的创新型人才。
(作者单位:上海市育才中学)