关于中小学开展程序设计与程序设计竞赛的思考

2017-04-25 17:58徐保毅
新教育时代·教师版 2017年15期
关键词:编程语言图形化信息学

徐保毅

21世纪,由于现代电子信息技术的巨大变革引起的一场新的技术变革及其带来的社会经济结构的质的飞跃,这就是信息革命。信息革命将再一次极大提升社会生产力,被视为第四次工业革命。

大国之间信息技术竞争激烈,美国前总统奥巴马2014年亲自编程,提出“编程教学如同识字一样,应成为基础教育的一部分”,并发起“每天编程一小时”的教育项目,每年新增投资40亿美元加强美国计算机基础教育。2016年8月“人工智能”被加入国务院印发的《“十三五”国家科技创新规划》,2017年两会“大数据、云计算、物联网等技术”被写入《政府工作报告》,特别强调“把发展智能制造作为主攻方向”。 信息技术极大的推动了国家经济社会发展,并改变着每一个人的生活方式和思维方式。

比尔-盖茨13岁开始学习编程,后创建微软,成为世界首富。马克-扎克伯格10岁开始学编程后来他成了最年轻的亿万富翁。百度创始人李彦宏、腾迅创始人马化腾、新浪创始人王志东、网易创始人丁磊、360创始人周鸿祎,他们都有共同的职业起点—程序员。乔布斯说,“我觉得每个人都应该学习一门编程语言,学习如何思考,我把计算机科学看成是基础教育,每个人都应该花1年时间学习编程。”编程应该成为基础教育的一部分,学习计算机如何思考如何解决问题。

国内高校也非常看重学生编程能力,自主招生中“信息学奥林匹克竞赛”选手占有明显优势,例如2017年哈尔滨工业大学明确“信息学奥林匹克联赛一等奖”自主招生直接面试(免笔试),“信息学奥林匹克竞赛”全国赛优秀者(银牌以上)清华北大可降低一本线录取。无论从国家大局,还是个人发展角度,编程成为基础教育必不可少的一部分。

可是我们现在中小学信息技术课程,编程涉及很少,简单的图形化编程并不能真正体现程序设计的灵魂“算法”。目前中小学开展的程序设计课,包括scratch、lego、appinwentor等以“块”为主的图像化程序设计,这类程序可以提高学生兴趣,但是学生往往停留在表面,不去思考深沉数理逻辑关系。“块”内部全面封装,就如同黑匣子一般,计算机如何运行依然不是很明朗,简单的逻辑判断可以体现出来,稍稍难一些的算法基本上难以实现,甚至无法实现,例如模块化的编程语言很难实现“递归算法”。图形化编程语言在入门阶段可以使用,但很难深入,不能作为程序设计核心学习方式。中小学也有VB、Javascrip等应用程序开发,这些内容其实相当好,唯一存在的问题就是在算法思维上体现的不直接,毕竟这是编程语言适合应用开发的。我们基础教育阶段,最高培养水平,应该是思维水平的提升,所学内容应该是核心灵魂“算法”,即计算思维,如果提高了学生计算思维能力,在以后高级阶段学习可以如鱼得水、游刃有余,因为任何编程语言本身都是外壳,只是算法实现的工具而已,任何编程语言都有可能被淘汰掉。

要真正提升学生计算思维能力,图形化编程语言、应用类开发语言都存在弊端,还是要直截了当使用“代码”,“代码”直接体现计算的过程,实现算法,直接训练和提升了学生严谨的数理逻辑思维能力,数理思维能力是培养一个优秀人才的关键。现在多数教师和领导,都将信息技术当做一个工具,这也就是为什么信息技术是副课最本质的原因“只是一个工具而已”,要将信息技术变成一个学科-“计算机科学”,拥有学科体系和学科思维,才能从本质上改变“信息技术”副课的局面。

中小学开展程序设计(代码)真的难吗?杭州小学四年级就开始教C++,排序算法在小学就开始教授了。湖南省初中开始C++学习,部分初三同學各种算法和数据结构达到或者超过大学水平。授课教师称,其实剔除C++很多繁琐的东西,限定一定的模式,学生掌握起来很容易。上海延安初级中学管晏如,小学5年级,在2016年信息学奥林匹克联赛中获得一等奖,而其本人以“无忧公主”为网名,推出每日一题,引起极大的社会反响。实践证明:改变教学理念,改进教学方法,程序设计在中小学完全可以开展,并且可以培养优质生。

认真反思,在中小学开展程序设计十分必要,理由如下:

1.国家需要。信息革命到来,国与国之间的竞争,需要人才。中国要抓住第四次工业革命“信息革命”,实现“祖国伟大复兴”需要高端信息技术人才。

2.人才发展需要。程序设计可以培养学生严谨数理思维,挖掘潜力。优质生和特长生通过程序设计提高了思维能力和解决问题的能力,参加程序设计竞赛(信息学奥林匹克竞赛、ACM),提升自己为一生奠定基础。

3.课程体系完善需要。程序设计是计算机科学核心,现有信息技术课程,以多媒体应用、图形化为主,不能体现计算机科学核心。信息技术应该有自己的学科体系,课程不能以“工具”为中心,要回归其本质“计算科学”,程序设计直接体现“计算科学”,中小学信息技术课不能再走偏了。

4.信息技术教师发展需要。程序设计能够为信息技术教学提供新思路新方法,教师在教学中也提升了自己。

综上,我认为中小学应该开展程序设计和程序设计竞赛,潮流不可阻挡,把握先机者胜。

猜你喜欢
编程语言图形化信息学
压力-体积转换在CFC编程语言中的实现解析
鸡NRF1基因启动子区生物信息学分析
Java编程语言的特点与应用
初论博物馆信息学的形成
LKJ自动化测试系统图形化技术研究
浅谈不同编程语言对计算机软件开发的影响
面向对象Web开发编程语言的的评估方法
运用图形化听写式复习,构建高效地理课堂
图形化地区电网无功优化软件开发与应用
miRNA-148a在膀胱癌组织中的表达及生物信息学分析