上周五终于开始了本学期的最大挑战Python单元的教学,上课之前一直很忐忑,因为不知道该如何上这种写代码的课程,以至于周四一天没课的我连教案和课件都没准备好,静不下来!
周五早上7点10分左右到校开始静下心来备课(ps:现在的老师能静下心来琢磨教学不容易啊,有不想的,当然更多的是因为杂事太多。)。先找到去年scratch教学的第一课ppt,回顾当时的教学思路。认为还是应该从认识编程开始,让学生了解什么是程序,什么是编程,为什么要学编程,重点是为什么要学编程,以便激发学生的学习兴趣。于是结合自己对编程的认识制作了如下两张ppt,并播放code.org的宣传视频,让学生了解为什么要学编程。
ps:对于编程的解释是我的综合各种官方说法和自己的认识给出的,我想突出编程是针对问题的,是要思考解决问题
的方法的。
ps:复旦学生物的我校毕业生因编程入门免修考成绩突出,而被实验室录用的例子能够吸引相当多的学生,突出了编程在其它专业领域的用处。在网络上搜索资料时还看到一个编程的益处“提高将复杂问题分解为若干小问题解决的能力”,觉得非常有道理。
ps:这段5分多钟的视频我让学生看完整了,因为确实很好,确实有很强的说服力。学生看得非常认真。
清楚了为什么要学,接下来了解一下计算机能懂的语言有哪些,作为科普性的内容,将程序设计语言分为了四类(我综合各方面资料划分的可能不太准确)。每种语言我都找了相应的例子进行说明,都是简单介绍速度很快。重点介绍了scratch和python,我用实例进行了展示。
ps:这道奥赛初赛题我当初用了2个小时才做出来,练的少啊。
ps:可视化编程是必须要提的,他的特点被我简单用界面设计方便概括了。这个随机点名程序学生都熟悉。
ps:去年教学时学生的作品,我一只认为scratch更适合学生编程入门,当初还写了一篇文章简单论述。但是因为新课标即将用python,没办法只能服从。或许专家们的考虑,是我们这些普通老师所认识不到的。展示了几个游戏的例子,告诉学生这是他们的师哥师姐6节课做出来的,这个scratch适合5-15岁的人学习完全可以自学,结果下课后就有学生向我要软件和自学资料,他们有兴趣。
ps:几年前做的一个系统,在学校用了几年,某些原因现在被取代了。
ps:原来python是脚本语言,这个我是备课时才发现的,很惭愧啊!难怪觉得和自己较为熟悉的vbscrip有些像。演示了这个图的绘制过程,学生问题:能不能画的快点?或许可以,但方法我真不知道!我也是现学现卖的!
因上课前简单总结了视频单元的作品情况,对评选结果做了说明,展示了一个学生视频作品,所以第一节课基本到这下课了。因为内容偏理论,所以我这次课间休息了,没有继续。这些内容大约需要25分钟左右,如果将展示的程序范例给学生自己体验的话能够再增加10分钟左右。
引出了python之后,第二节课就是正题了,我的教学目标是了解python的基本特点,熟悉python编译环境的基本用法,能够使用edle进行编辑、运行、调试程序,能够配置edle编辑格式,体验代码录入、调试程序的过程。
ps:强调是最简单的和能开发大网站。
ps:强调python2和3的不兼容。
ps:通过最简单的一段程序,让学生体验edle的使用方法。实际教学中这部分么被我用的不好,学生基本都忽略了这个练习。下个班级上课时应该强调让学生跟着我操作,强调新建、保存、运行的方法。包括文件扩展名和双击打开之后的不同效果。这个在练习2时学生问题会集中在调试和理解上,老师不会被弄得团团转。
ps:一个猜数字小游戏,代码数量比较合适,能比较好的让学生体验代码书写的辛苦,考验学生的细致和耐心。本来以为不会有学生一次通过的,结果5班有6位学生非常完美的通过了,厉害!不知道为什么,机房新传的系统但每台电脑的idle格式不统一,学生在录入是各种关于格式的问题。我应该在他们录入前对格式进行一下说明,避免学生在这方面牵扯更多的精力,而减少了调试和理解程序的时间。对于先完成的学生一定要指导其阅读理解程序代码,尝试修改代码。周五的两个班只有少数学生完成了代码的录入和调试,对程序的理解情况还不了解,因为我一只在忙于解答他们的各种调试不通过问题。
针对这个情况,下节课的内容安排为:
1、师生共同解释这个例子的每一行代码。学生为主,教师为辅。
2、讲解调试程序时如何看懂错误提示,如何查找错误。
3、了解顺序、判断、循环三种结构的作用,和基本语法。
4、能够编写简单的判断结构程序,酌情考虑是否讲解嵌套判断。
总的来说,这节课上完后,我自己是比较满意的,因为绝大部分学生课上非常投入,部分学生开始表现出浓厚的兴趣。现在重要的是如何通过一个个课上用例,进一步吸引学生,使学生保持或进一步提高学习兴趣。
路还很长!