初中Python程序设计教学的方法与探究

2018-10-20 05:47鲁志建
文理导航 2018年19期
关键词:程序设计信息素养教学方法

鲁志建

【摘 要】Python是近几年迅速流行而普及的一门程序设计语言,Python语言课程化也将成为孩子学习的一种趋势。许多地区已经把Python编程基础纳入信息技术课程和高考内容体系,2017年公布的江苏、浙江信息技术高考改革方案中,都将教材中程序设计语言由VB改成了Python。初中阶段开展Python程序设计教学的首要问题,是如何激发学生学习的兴趣,其次是如何探索行之有效的教学方法,帮助学生逻辑思维能力提升,最终达成学生信息素养的培养目标。

【关键词】程序设计;python;教学方法;信息素养

一、程序设计教学现状分析

目前,大多数学校还是延续VB语言教学,少数学校采用了Scrath以及APP Invertor等语言。这些程序设计语言主要分为两类:一是块语言;二是代码语言。块语言的学习适合程序设计的初学者,譬如小学阶段学习Scrath是相当不错的选择。到了中学阶段,学生对程序基本结构已有一定的了解,加上认知水平的提高,完全可以学习代码语言,从而更好地理解程序设计的算法知识。

1.传统程序设计教学中学生的困惑

以大多数学校仍旧采用的VB程序设计为例,在代码语言中,VB作为一种面向对象的程序设计语言,其缺点也是显而易见的:VB发布至今已经20年了,对于技术迅速更替的信息技术领域,这显得太古老了;学生在写VB代码之前需要花大量的时间设计程序界面,设置控件属性,并不能聚焦到程序设计的算法中去;在日常生活中几乎没有很好的应用,这会让学生感觉到程序设计距离生活太遥远,不实用。

2.为什么选择Python

Python是近几年随着人工智能的流行而迅速普及的一门语言,未来是AI的时代,Python语言是最接近人工智能的语言。所以掌握了Python语言,是孩子未来发展的基本能力之一。在笔者看来,Python语言是最适合孩子学习的语言之一,相比C++或Java,Python是一门非常具有人文情怀的编程语言,简单易学,语法优雅,适合新手入门使用。

二、借力Micro:bit,激发学生兴趣

笔者曾经开设过C++课程,在DEV C++环境下编写调试C++程序,由于编译运行在DOS窗口,而且解决的问题一般都是数学问题,时间长了,很多学生都没有足够的耐心了,觉得枯燥。这对中学阶段想利用兴趣引导学生入门的目标而言,学生丧失兴趣是致命的。所以,在初学者阶段,最好能够兼顾到趣味性和实用性,在趣味项目中完成程序设计算法的学习。

BBC micro:bit是一款由英国广播电视公司(BBC)推出的专为青少年编程教育设计的微型电脑开发板,是由微软、三星、ARM、英国兰卡斯特大学等共同完成开发。在英国、美国、加拿大等国,已经有很多学校利用它来进行创客教育,STEAM跨学科教学、程序设计教学。笔者认为:基于micro:bit的Python教学有能让学生快速体验程序设计的乐趣。

micro:bit有众多的开发环境,常用的有JavaScript Blocks Editor在线编程环境、PythonEditor在线编程环境、Mu离线软件、BXY Python Editor等等,从块语言到Python语言,甚至微软的JavaScript语言都支持,其中Python Editor、BXY Python Editor、MU等可以直接用Python语言进行开发,程序烧录到开发板后可查看运行效果,笔者通过一个学期的实践,觉得BXY Python Editor对Phtyon代码的支持程度更好,软件界面也很直观,比较稳定,推荐使用。Python程序的上手难度小,笔者通过短时间的学习,制作出了温度计、简易动画、跳动的心、掷骰子、指北针、计步器以及简易的摩斯电码发报机等。

三、利用项目式组织教学、提升学生思维能力

在传统程序设计教学中,一般都是按照基本语法、三种基本结构、常用算法这样的知识体系来组织教学,在这种教学方法中,知识点之间是独立的,加上中学生信息课一周只有一节课,学生很容易学了后面忘记前面,在实物编程中,很难以常规的知识体系来组织教学。

项目式教学法,是学生在教师指导下,将一个个独立的项目交给学生来完成。项目式教学法有着项目为主线,教师为引导,学生为主体的特点,所以这种教学方法是比较适合程序设计教学的,所以笔者认为,采用项目式的教学方法更加适合基于micro:bit的Python教学,采用这种方法可以将前后知识点进行整合,让学生既学习新知识又能复习旧知识。通过一个个项目,能把同学们零散学到的知识全部串联起来, 让他们感觉到自己所学的知识终于有了一定的成果,他们自己也会感觉很有成就感,也会产生一种利用计算机解决实际问题的强烈愿望。

通过实践研究,笔者采用了以下方法开展教学:

1.以一个独立项目为一个章节的容量。一个章节就是一个独立的小项目,一般情况下,都要求一节课完成。比如:“掷骰子”“跳动的心”,当然,可能会有些任务比较复杂,也可以把内容分成两课时,所以一个学期的教学内容基本上就是十五个章节。

2.一个章节包含一个基础项目加一两个拓展项目。因为学生在学习程序设计过程中会存在较大的差异,基础任务是要求大多数甚至全部同学都要完成的任务,在完成了基础任务之后, 学有余力的同学可以尝试着去完成拓展任务,拓展任务的内容也是要基于基础任务。比如在学习循环这个知识点的时候,我用的基础任务是“会呼吸的灯”,拓展任务是“关公巡城”,都是关于循环语句这个知识点,但是难度加大了。

3.每个章节包含1-2个Python的知识点。项目式教学和传统的程序设计教学不一样,不是按照知识体系来建构教学内容的,而是将程序设计的知识点分散到了各个项目中去,一个项目中除了要用到之前学到的知识点之外,还需要包含1-2个新的知识点, 设计项目的时候应围绕新的知识点设计,比如:在“掷骰子”这个项目中,随机数是主要学习的知识点,除了随机數之外,还要求学生用到之前学过的显示文字和显示图像的语句,新旧知识点有串联。

项目式教学方法不同于传统的按照知识体系来组织教学,但也是程序设计中一种常用手段,是比较容易激发程序设计初学者兴趣的教学方法。

四、注重教学过程、优化教学方法

信息技术教育中,在程序设计教学中,要特别重视学生信息素养的培养,让学生在学习程序的过程中,不断提升自己的学习能力和创造能力,学会分析问题,解决问题,给予学生“代码”以外的理念,不断激发学生的创作热情和思维,这就需要我们在程序设计教学过程中不断优化自己的教学方法和手段。

1.分层教学。在程序设计学习过程中,学生的兴趣、能力会存在一定的个体差异,所以程序设计教学中必须采用分层教学的模式。在一个项目中,基础任务一定是要比较简单的,大多数同学都可以完成的,拓展任务要准备1-2个,而且要有梯度,让学有余力的同学完成。

2.培养学习能力。其实自学能力尤为重要,如果学生只是依赖学案或者模仿才能完成,他们所学知识将很快被淘汰。所以在教学过程中,教师要给予学生方向性的指导,鼓励学生自主学习,培养自主学习能力。

3.注重实践。学习程序设计的目的是让学生掌握程序设计的思想,提升利用编程语言来解决实际问题的能力,所以,教学重点应该放在分析问题的思路上,学生应该通过大量的实践来构建程序,解决问题。

4.尊重学生学习的方式。在刚开始接触程序设计学习时,很多学生习惯性的去“抄程序”,这很正常,很多人都经历过这个阶段,毕竟以初中生的认知水平以及课时设置注定学生不可能记得住太多,如果不抄,可能在一开始连很多简单任务也完成不了,学习的兴趣可能就此丧失了。但是抄不能一直抄下去,抄的过程要求学生带着理解,下个阶段就可以尝试着去修改程序,比如在循环结构中让学生去修改初值、终值和步长,从而改变循环的次数,如果学生会修改了,说明这个知识点也掌握了。再下个阶段就可以自己去创作程序,比如学生利用随机数做了“掷骰子”,老师要求自己去创作一个随机产生“剪刀石头布”的程序。“抄、改、创作”这三个阶段既是一般学生学习的方式,也可以作为课堂的分层教学,针对不同的学生采取不同的方法。

五、小结

经过笔者一个学期的实践研究,基于BBC micro:bit的Python程序设计课程的教学效果较好,不仅能提升学生的理论能力,而且对动手实践能力和创新能力均有良好效果,很好的契合了初中生的认识水平和兴趣爱好,基于BBC micro:bit开展Python程序设计是一个很好的选择,具有一定的推广价值。

【参考文献】

[1]刘卫国,奎晓燕.Python语言程序设计教学体系建设[J].计算机教育,2017(08)

[2]唐永红,龚安.程序设计语言实验教学探讨[J].电气电子教学学报,2006(03)

[3]嵩天.程序设计基础[M].高等教育出版社,2014

[4]王军英,马红梅.C语言程序设计教学存在的问题与对策[J].教育理论与实践,2015(03)

[5]嵩天,黄天羽.Python语言程序设计教学案例新思维[J].計算机教育,2017(12)

猜你喜欢
程序设计信息素养教学方法
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
医学专业“Python程序设计”课程教学改革总结与思考
基于gitee的皮肤科教学方法研究
《计算方法》关于插值法的教学方法研讨
《计算方法》关于插值法的教学方法研讨
小学语文字理教学方法探析
高中信息技术教学如何培养学生信息素养
关于导学案培养学生自主探究学习能力的培养