苗海荣
【内容摘要】随着信息化的不断深入和人工智能的兴起,Python逐渐取代其它编程语言走进中小学教材。如何利用这一工具锻炼学生的逻辑思维、增强信息技术意识和数据处理能力成为当前信息技术老师面临的一大课题。文章结合中学生身心发展特点和课程标准,说明中小学教师如何发挥它的优势展开教学,如何克服初学者学习编程的障碍,突破语言难点,增加学生兴趣,达到课程标准。
【关键词】Python 项目学习 课程标准
2018年,Python语言出现在山东省小学信息技术六年级教材中,其余省份如浙江也将陆续出现,现在的中小学校教材逐渐摒弃VB而把Python纳入信息技术课程和高考的内容体系。Python成为很受欢迎的语言,相比其他语言,它的优点在哪儿?编程是一件枯燥且略带难度的事情,Python能够解决家长担心学生学不懂、不想学的问题吗?
根据2012年修订的《基础教育信息技术课程表准》[1],中小学部分其中包含以下要求:(1)熟悉一种积木式程序设计工具的图形化编程环境,(2)结合实例使用积木程序设计工具,体验程序设计作为一种特殊的信息加工方式的特点和优势。其中第一点在泰山版小学五年级教材用scratch软件就已实现。相较其他语言,Python作为一种“弱类型”的语言,是简洁主义思想语言的代表,是最接近自然语言的通用编程语言,其语法简洁、清晰易读且具有丰富强大的类库,使得学生可以将注意力集中于算法本身和程序的思想上而忽略存储空间、内存等计算机系统知识,从而能够体验程序的优美,领悟计算机处理数据的方式。所以第二点在学生掌握scratch语言的基础上,能够实现。现在笔者结合中小学生初学编程的需求,课程标准的要求,结合自身的教学实际,谈一下如何利用Python的优势在教学中培养学生的信息素养、计算思维等一些建议。
编程能力正在与阅读、写作、算术成为学生从小具备的能力之一[2]。但义务教育阶段编程的学习并不是为了让学生将来搞程序开发,而是为了培养学生的计算思维,锻炼孩子的逻辑思维,增强信息技术意识,培养他们处理数据的能力,当今计算思维已经是面向未来的必备的基础素养。所以在教学中,技术上不用讲的太深,重点要放在演示程序的工作放肆,介绍算法的原理,在教学中多列举一些数字计算的例子。因为小学高年级阶段学生已经具备了一定的数学基础,但快速的数字计算是学生的弱项,而这恰恰是计算机程序的强项。所以在教学中可以让学生先按照自己的方式计算,然后应用建构主义理论,用程序去演示,通过对比教学,让同学被计算机程序的神奇而吸引,从而产生极大的兴趣。Python语言规则障碍低,功能性强,不拘泥于某种语言,是教师培养学生信息素养的最佳途径。
但作为教师来讲,怎样教授学生编程呢?
从学习角度分析,编程属于技能领域。编程的学习就要遵循技能的学习规律,刻意练习是学习技能的不二法门。但不能简单粗暴的练习,导致学生对编程产生畏难情绪。根究中小学生特有的认知和心理特点,通过以往的教学经验,融入项目教学法,总结出如下的教学模式流程:
1.抛出概念问题(项目活动1)
概念问题尽量和学生已有认知结构相关联,和学生日常生活息息相关的案例更能激发他们兴趣和解决问题的动力。
教学中可以借鉴scratch的可视化编程作为入门课程,比如选择Python里面的turtle模块。可视化编程可以提供即时反馈,降低初学者入门门槛,学习过渡会顺利一些,另外,可视化编程可以持续激发学生的兴趣。为后面的学习提供动力基础。
2.学生手动体验活动(项目活动2)
具体的体验为后面的抽象提供了实践来源,只有这样才不至于跨度大,进而降低学习难度。相当于为学生提供了实践活动机会,体会具体的操作过程,顺利过渡到抽象阶段。我们学习一项新的技能,最好的方式就是在学生已有的认知和经验范围基础进行建构。从直观的体验和观察过渡到后面的抽象,认知负荷会小很多。比如让学生通过卡牌来展示各类排序过程,让学生通过角色扮演和实物演示来体验各种问题及解决思路。为学生后面的抽象建模过程提供了体验基础,符合认知建构过程。
3.编程实现解决问题(项目活动3)
给学生们探究时间,允许犯错,及时反馈,迭代改进。这个时候就是从具体到抽象的提升阶段。学生们往往会不知如何下手,两眼一抹黑。刚才听得挺明白的,就是不知道怎么通过计算机抽象模拟问题情境,并解决问题。首先要明确问题,理出输入是什么,输出是什么?然后,分析如何能处理输入才能得到输出的结果;其次,根据需要选取合适的数据类型或数据结构存放数据。最后,通过编程实现问题解决并测试。
4.迭代完善(项目活动4)
时间充足情况下,需给学生迭代进行完善的机会。这也是符合基本的工程原则,学生体验了解了工程思维。一个产品都是从一个稚嫩的雏形开始,经过打磨完善,诞生出来独一无二的产品。可以让学生在这个过程记录迭代过程,文字、图片或视频形式都可以。一开始就给学生评价标准,然后按照评价标准去完成任务,这样他们有的放矢,不至于浪费时间。
5.综合评价[3](项目活动5)
总结反思实践过程中遇到的困难,如何解决的,如果再碰到类似问题应该如何迁移解决。项目过程中兴奋时刻是什么时候?最抓狂时候是什么时候?是如何解决的?教师不光要重视学生最终的结果,还要积极在学生实践过程中,对项目开发的参与程度以及参与作用进行评价,促进学生的学习积极性。
随着信息化的不断深入以及随着人工智能概念在我们生活中的兴起,python编程愈发显出重要的地位。如何寻找帮助孩子表达自我和组织观点的新途径,锻炼孩子的逻辑思维,培养孩子的科学素养,项目教学法是一个比較好的途径。
【参考文献】
[1] 基础教育信息技术课程标准(2012版) [EB/OL].[2012-05].https://wenku.baidu.com/view/51e9513331b765ce04081447.
[2] 赵福生,刘力.Python在中小学教学中的应用[J].电脑知识与技术,2018(17).
[3] 蒋楠.浅谈初中信息技术项目教学中的评价方式[J].中小学电教,2018(5):6.
(作者单位:山东省成武县实验中学)