中学编程教学的深度和广度
2019-09-10曾志勇
曾志勇
摘 要:现在的数字化趋势不可逆转,发达国家都在开展儿童编程教育,如美国的“Hour of Code”和英国的“Year of Code”,体现了在全球对编程教育的重视。我国也提出了培养学生的计算思维,用“计算思维”培养未来人才,并在全国范围内逐步实施中学编程教学。
关键词:中学;信息技术;编程;教学;深度;广度
一、什么是编程,为什么要学编程。
在人类复杂的社会体系中,人们需要通过自然语言来进行相互沟通和知识传播,而数学是人与自然、宇宙沟通的语言,伽利略说:“自然界这部伟大的书是用数学语言写成的”。它是一切科学发展的基础。编程语言,则是人与计算机交流沟通的语言。由于社会发展的需要、科技发展的推动,掌握一门编程语言已经变成一项基本技能,可以有效地指挥计算机去解决实际问题,达到事半功倍的效果。
二、如何学习编程语言——代码编程与图形编程。
从计算机被发明以来,计算机编程语言也有几十年的发展历史了,目前编程语言的种类繁多。对于计算机专业的学生或程序员来说,编程语言的学习模式也已经非常成熟。但是这套教学模式显然不适合儿童编程教育,不符合中学生的年龄特征。随着近几年全球范围内的重视,发展出一批优秀的图形化编程工具,用来引导学生进行编程入门学习,取得了一定的发展。由于图形化编程以游戏化教学,兴趣教学、培养思维为主要特点,大大降低了学习门槛,使之最近几年在学校进行快速的推广普及。
三、如何更好地推广Scratch普及性编程教学——深度
在众多的图形化编程语言中,Scratch在国内推广普及做得最好。Scratch与传统的编程软件不同,不再是枯燥的代码命令组合的集成,而是像搭积木一样拖曳图形化的指令,就能创作属于自己的故事、动画、游戏和音乐等作品。在创作过程中一边玩一边学,对学生的思维能力、創造能力以及解决问题能力的培养有着积极的意义。目前国内的Scratch编程以功能模块教学、案例化教学、项目式教学为主,开展得非常成功。在结构化编程中,任何算法都可以通过由顺序、选择和循环的三种基本程序结构的组合来实现。我尝试在教学中以三种基本程序结构为主线,将功能模块嵌入三个结构教学,以游戏或案例为载体,把教学的重点放在程序结构上,而不是功能模块。在Scratch教学中,将程序结构和模块代码巧妙地结合在一起,兼顾趣味性和知识的系统性。第一节课就是让学生初识这个软件,先让学生体验利用代码块让小猫动起来、或者外观中的说话,并且重点要让学生理解舞台、角色的概念、事件驱动的理念。在教学实施中,使用大家所熟悉的猫狗对话可以帮助学生很好的理解顺序结构的执行过程。如果我们对顺序结构的案例进行再升级,可以引导学生利用声音功能模块、引入消息机制去做古诗朗读或者钢琴演奏,这样的案例相对来说实用性就比较强了。在单向分支的结构中,可以引入小猫过马路或者章鱼过河的案例。通过上下左右键控制角色移动并让条件语句去判断角色是否碰到哪种颜色是否走出边界。在双向分支的结构中,引入数学口算的题目,用户答对了提示答题成功,答错了提示答题错误。在循环结构中,分为计数循环、条件循环和无限循环,在某各意义上循环结构起到一个优化程序结构的功能。鼓励学生使用循环,通过小猫走路多个重复动作和口算出多个题目,显示循环结构的优越性和程序结构的优美简洁性。
四、编程教育之国外的STEAM与国内的学科融合——广度
目前国内外流行的STEAM教育理念,即科学、技术、工程、数学的首字母。STEAM教育理念对学科素养的综合应用来解决实际问题,同时培养综合性的人才。国内的STEAM教学模式,主要通过游戏化编程、机器人培训、3D打印、创客教育等形式来开展。但是由于区域的差异性,技术、资金、师资、设备等投入的限制,我们想让编程教育回到现实,更好地服务于学科教育,解决学科问题、进行学科融合,让学生能够真真切切地体验到用编程来解决问题,而不是学无用武之地。因此我们在各个学科的融合上,在编程教学的广度上,下足了功夫。让学生通过项目式学习,既学习了编程如何应用,又学习和巩固了其他学科的知识。
五、Scratch只是起点,未来更精彩
尽管Scratch教学应用非常广泛,在中学大学都有被用来当成学生的编程入门语言。但学生学了一两年之后,对Scratch比较熟悉了,可以推荐孩子学习同样的图形化编程的APPINVENTOR,可以很容易很方便地做出实用性很强的手机应用APP。
Scratch和APPINVENTOR都是图形化编程语言,图形化编程语言对于初学者来说都容易上手,因为常被选做入门编程语言,但在解决实际问题或者逻辑较复杂的问题,代码的可读性、可维护性并不如代码类编程语言。因此我们可以把Scratch理解为一门编程入门语言,在入门以后还是要引导学生学习至少一门代码类编程语言。常见的编程语言有C,Java,C#,C++,Pascal,Python等。我个人建议初学者学习Python。Python比较适合初学者成为一门易读、易维护,不管是程序员或者计算机普通用户都比较容易上手。因为拥有大量的标准库和第三方库,所以经常被称为实用主义,在解决实际问题时有较丰富的可复用代码库,让你站在巨人的肩膀上去解决你身边的问题。Python已经成为目前美国顶尖大学里最受欢迎的计算机编程入门语言,目前Python在IT行业广泛应用,特别是在系统运维、图形处理、数据分析、网络爬虫、科学计算、人工智能等方面。因此,值得我们去学习,不管是学生还是老师。
福建省中青年教师教育科研项目,项目编号:JZ170426
(福建教育学院资助)
参考文献
[1]部和广仓本大.Scratch少儿趣味编程2
[2]郑之婷.从Scratch入门到精通