编程怎么教,学生才爱学?

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:wwwroot123456
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  ● 教学背景
  程序设计教学一直是我们信息技术学科教师心中的“痛”,必修课程中并未涉及,而选修课程的实施尚差强人意。我长期以来一直在寻找契机,希望在这方面能对部分有兴趣的学生进行普及性教育。对于我们这么一所普通初中来说,或许参赛获奖无望,或许付出多收获少,可是当教师的,所谓收获又岂止是获奖名次,真正的收获难道不是学生能力的提高和发展吗?所以,要为喜欢编程的孩子教授程序设计课程,是我一直以来的愿望,我也一直在寻找机会。
  ● 着手实施
  恰巧,从2009年起,学校开始规范和强化实施校本课程。结合一直以来的想法,我决定在初一年级开设以VB程序设计为专题的校本课程,这无论是对我还是对学生来说都是一次新的挑战。因为,VB课程一般安排在初三或高中选修课程开设,这主要是取决于学生的思维和知识储备有了一定的基础,对于逻辑推理性较强的程序设计才能更好地掌握。初一的学生能力可及吗?后来,回顾一年的教学,我惊喜地发现学生的能力远胜于我的预期。而总结这其中的经验,实际上正是对学生能力的担心,使我将课程设计中的学习任务起步点降低,再对学习任务进行逐步细化和改良,学生学习颇有信心,VB教学才有了一定的成效。
  ● 游戏教学
  实际上,VB教学中有很多现成的源程序,但学生一直问:老师能不能教我们编个游戏啊?我想,游戏虽只是载体,但却是我们不可回避的学生关注点。既然无法回避,那不如因势利导,我设计一个有立意的游戏,既能充分激发他们强烈的学习欲望,又能不着痕迹地进行引导。这样的教学设想令我异常激动,于是,我爽快地答应了孩子们的要求。
  可是,由于校本课程的授课时间有限,学生们所学到的仅仅是VB的皮毛,只了解了简单的控件、属性、事件,只学了顺序和分支结构,就连循环结构还没接触到,想要真正完成一个游戏是何其困难。况且,课本没有、网上找不到这样的例子,答应他们真是自讨苦吃。不过,作为教师哪能食言,我开始了辛苦的开发之旅,经过一段时间的努力终于完成。程序实现的是:在游戏时间内,从天空不断下落纸片垃圾,操控者要控制游戏窗口底部的垃圾桶左右移动,接住垃圾,游戏程序将根据接住的垃圾数量自动计分。这个“垃圾入桶”游戏在技术上融合了VB可视化窗口的控件、属性、事件等相关操作,IF分支结构、键盘响应等知识点,而同时又结合我校绿色环保学校的主题,引导孩子们保护环境。
  程序设计,在很多人眼里很神秘、很难,学生更有这种心理。所以我在设计“垃圾入桶”游戏一例时,就要求自己从最简单的可实现程序入手,做到每步有成就,每步有提高,为学生们搭好台阶。且看看这个综合实例是如何由浅入深、层层推进,来完成我校VB校本课程的实施的。
  ● 逐步求精
  对学生来讲,基于原有知识基础的设计体验,最能激发他们的成就感和进一步的求知欲。而根据了解,学生们在学习这个程序设计之前,前期制作过自己的图片浏览软件,能通过按钮控制图片在窗口中的移动。因此,我从这里切入,逐步完善,而为了思路更清析,我梳理了一个开发进度图来描述这个过程。
  当然,在这个开发设计过程中,有学生已有的知识基础,也有一些需要传授的新的知识技能和思路方法,在下面的描述中,以教师提示、学生分析来区分授课环节的安排。
  第一步:在窗体中加入纸片控件,制作纸片垃圾的单次下落过程
  这个操作对学生来说是十分简单的入手题。插入图片控件对学生来讲没有问题。而对比上述图片浏览软件中移动图片的效果和现在开发中要实现的效果,师生分析了以下共同点及需要改进之处:(备注:纸片控件名称为Zhipian)。
  教师提示:如何实现纸片下移?(已有知识储备)
  学生分析:Zhipian.Top= Zhipian.Top 30s。
  及时巩固知识点:这个式子在数学上是不成立的,但在程序设计中的意思是:把Zhipian.top的值加上30以后再存入Zhipian.Top中,即:使Zhipian.Top增大30。
  教师提示:纸片不是用按钮控制移动,而是要自动持续不断地下移(不同之处需改进)。
  学生分析:控制每毫秒纸片图片的位置下移固定的像素值,当然可以使用前期学过的Timer控件。
  教师提示:纸片持续下移位置超过窗口时,程序实现自动结束(不同之处需改进)。
  学生分析:要使用一个IF语句来判断,纸片是否在窗口内,是则不断下掉,否则结束。
  因此判断的语句为:If Zhipian.Top < Form1.Height Then Zhipian.Top=Zhipian1.Top 30。
  教师提示:上述判断是由Timer控件控制,每毫秒运行一次这个IF语句。
  IF判断的运行是由Timer控件控制,所以IF语句应该放在Private Sub Timer1_Timer()中。
  而Timer控件是在窗体一加载时就开始起作用,即由打开窗体这个事件引发,所以放在Private Sub Form_Load()中。
  经过上述分析,得到代码如下:
  Dim a As Integer
  Private Sub Form_Load()
  Timer1.Interval = 1
  End Sub
  Private Sub Timer1_Timer()
  If Zhipian.Top < Form1.Height Then Zhipian.Top = Zhipian.Top 30
  End Sub
  第二步:在窗体中加入接垃圾的垃圾桶,使纸片垃圾下落到垃圾桶时就不再显示了
  教师提示:原来Zhipian的top属性是和整个窗口的高度比,超过这个高度即结束,现在要和哪个数据来比较呢?(备注:垃圾桶控件名称为Tong)   学生分析:是低于桶的高度就消失,故应该和垃圾桶控件Tong进行比较。
  经过上述分析,得到代码如下:
  Dim a As Integer
  Private Sub Form_Load()
  Timer1.Interval = 1
  End Sub
  Private Sub Timer1_Timer()
  If Zhipian.Top < Tong.Top Then Zhipian.Top = Zhipian.Top 30
  End Sub
  第三步:任务是使纸片循环不断下落,而不是只落一次就结束
  教师提示:原来的IF语句比较Zhipian的top值大于与Tong的top值,程序结束,而如果需要纸片不断下落,则应从顶部重新落下,Zhipian的top值如何变化?
  学生分析:上一次纸片下落过程完成后,应当让纸片图片的Top属性值归零。
  经过上述分析,得到需要修改的IF语句代码如下:
  If Zhipian.Top   Zhipian.Top = Zhipian.Top 30
  Else
  Zhipian.Top = 0
  End If
  在这个过程中,用到了IF语句块,应当特别提醒学生注意写程序代码时的缩进,良好的规范有利于别人和自己对程序的阅读及理解。
  第四步:使纸片每次在不同位置下落
  教师提示:
  ①纸片控件(Zhipian)在不同的位置下落,需要Zhipian的什么属性不同?
  ②用以前学习的什么方法可以实现随机出现的位置?
  通过上述两个问题的讨论,学生分析得到:
  用Zhipian.Left来控制纸片的左右位置,用Rnd来实现取随机值的效果,得到代码:
  Zhipian.Left = Form1.Width * Rnd
  经过修改后,完善代码如下:
  If Zhipian.Top < Tong.Top Then
  Zhipian.Top = Zhipian.Top 30
  Else
  Zhipian.Top = 0
  Zhipian.Left = Form1.Width * Rnd
  End If
  至此,以上程序设计已完成了纸片在不同位置随机循环下落的过程。
  第五步:根据纸片是否落入了垃圾桶中,通过Label控件显示得分
  既然是游戏,当然需要设置得分,以区分玩家玩得好不好,那么可以设计一个Label控件,来实现计分的功能。
  教师提示:①在什么时间点进行判断?(即写在程序的哪个位置)②Zhipian(纸片图片)的位置在Tong(垃圾桶图片)中间时,即可加分。那么使用IF语句的判断条件是什么?③Label控件用于计分,故起名为Score。
  学生分析:①判断的时间应在纸片图片下落到垃圾桶图片的同高(或超出)时,即应当写在判断是否下落到底的IF语句中的Else段中。②纸片落在垃圾桶中,即Zhipian距离窗体左边(left值)大于Tong距离窗体左边(left值);同时,Zhipian距离窗体右边大于Tong距离窗体右边。问题是:如何表示图片距离右边的值?
  引导学生思考、讨论后得出:距离窗体右边的值,可以用其left属性加上其width属性。
  If Zhipian.Top < Tong.Top Then
  Zhipian.Top = Zhipian.Top 30
  Else
  If Zhipian.Left > Tong.Left And Zhipian.Left Zhipian.Width < Tong.Left Tong.Width Then Score.Caption = Score.Caption 10
  Zhipian.Top = 0
  Zhipian.Left = Form1.Width * Rnd
  End If
  第六步:使用键盘来控制垃圾桶的左右移动
  在这个环节,需要学生了解键盘每个键的键值。因此,在讲解完键盘控制原理后,给出了控制键对应的码值表。经过多次修正,由浅入深,最终的代码为:
  Dim a As Integer
  Private Sub Form_Load()
  Timer1.Interval = 1
  a = 0
  End Sub
  Private Sub Timer1_Timer()
  a = a 1
  If a < 1000 Then
  If Zhipian.Top < Tong.Top Then
  Zhipian.Top = Zhipian.Top 30
  Else
  If Zhipian.Left > Tong.Left And Zhipian.Left Zhipian.Width < Tong.Left Tong.Width Then Score.Caption = Score.Caption 10
  Zhipian.Top = 0
  Zhipian.Left = Form1.Width * Rnd
  End If   End If
  End Sub
  Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 37 Then Tong.Left = Tong.Left - 50
  If KeyCode = 39 Then Tong.Left = Tong.Left 50
  If KeyCode = 38 Then Tong.Top = Tong.Top - 10
  If KeyCode = 40 Then Tong.Top = Tong.Top 10
  End Sub
  (注:变量a,用于控制游戏持续的时间)
  ● 教学相长
  程序设计从最简单的图片(纸片)位置下移入手,逐步加入了控制移动结束、控制多个纸片下落、使每个下落的纸片在不同位置随机出现、计算正确得分、最后到键盘控制图片(垃圾桶)的上下左右移动。整个程序的任务逐次递进,总共分成了六个渐进的步骤,最终完成整个代码的设计。
  在这个校本课程的教学实践中,不仅教给了学生知识方法与综合应用能力,同时教给学生的还有解决问题的思想,先从简单的,能够入手的问题切入,慢慢修正,直至完成设计。从一两句到几十句,看到自己所写的代码越来越长,程序效果慢慢完善,孩子们心中的喜悦与成功感越来越强,这也正是程序设计工程中所要经历的种种。VB程序设计的教学不仅要教会学生面对对象的思想、算法及数据结构,更需要教师开动脑筋,设计合适的例题,培养学生不怕困难,抓住要点,自顶向下,逐步求精的IT设计精神。
  正是这个自主编制的VB校本课程实例,让学生初步领略了程序设计的乐趣,也让我从中领悟到,程序设计的教学不仅可以教知识内容、算法结构,还可以教我们曾经学过的软件工程中程序开发流程和思想等,而这似乎是更有意义的。正如耶鲁大学校长理查德·查尔斯·莱文说的:“有用性的教育,只专注于某一专业的教育,只重视知识的传授,从长远来讲没太多价值。无用性的通识教育,赋予学生更广阔的视野。”虽然作为教师不可能离开知识性的传授,但在知识传授中,主观贯穿的、我们更应该注重的却应当还有些专业思想的通识性教育吧。
其他文献
52岁的胡先生半年前总感到一天到晚十分疲倦,常常头晕。到医院检查后,被医生诊断为缺铁性贫血,于是采用口服铁剂等方法进行治疗,但是没有明显改善。后来胡先生又多次到当地医院复查,并服用许多补血药及滋补品,但都不见效。最近一个月,胡先生出现轻度双下肢水肿,来到医院,专家诊断胡先生已患尿毒症,并指出胡先生的贫血症状是由尿毒症引起的。尿毒症引起的贫血又称为“肾性贫血”,在中老年人中较为多见。尿毒症患者多为中
六年级——小学毕业之际,面对即将离开的母校,学生充满了对小学生活的留恋和对未来的向往。本节课通过营造一个感性的课堂,让学生用自己的作品留住记忆、表达情感、学会珍惜与感恩,并用字母艺术字设计表达对母校的爱。课堂设计以I love Fumin作为字母插画设计,通过小组合作学习的形式进行创作。  ● 教学过程设计  1.童年回顾  师:(背景音乐)今天是一个特别的日子,老师想请几位同学到讲台上(三位同学
人们常把眼睛比喻成为一架精细的微型照相机,它能将世界上一切美好的东西快速、灵敏地成像,印在人们的记忆中。但是再好的照相机也需要维修与保养,那么对眼睛来说(特别是在人们游泳后),滴眼药水就是一个防治眼病发生的好办法。  下面介绍一下正确滴眼药的方法。首先,滴眼药前先将手洗干净,然后将眼药水从冰箱内取出(眼药水一般应放置在4℃的冰箱内保存),检查药液是否有沉淀、变色、异味,若发现变质,则不可使用。在使
土豆,又名地豆、地蛋、洋山芋、山药蛋、土苹果、巴达诺、达尔多、爪畦薯、雅加芋、荷兰薯等,学名马铃薯,因其地下块茎形似马铃而得名。茄科多年生草本,其老家在南美安第斯山区,但可作一年两季作物栽培。这种“地下苹果”,不仅作蔬菜既可当主角和配角,而且作药用也是“多面手”。  烫伤 ①土豆捣烂取汁涂患处;②土豆洗净放锅内蒸25分钟,剥下皮贴敷患处,用消毒纱布固定。一般烫伤3~4日可愈,且无剧痛,无瘢痕。 
鳞翅目作为昆虫纲的第二大目,包含了近20万个物种。虽然蝴蝶只占其中大约1/10的比例,但却是最引人注目的类群,其中不乏特立独行的种类。我们今天要说的玻璃翼蝶,就是其中之一。  翅膀透明如玻璃  玻璃翼蝶的中文学名是宽纹黑脉绡蝶,拉丁名为Greta oto,属蛱蝶总科绡蝶科,主要分布于中南美洲的墨西哥到巴拿马之间。它们的体型不大,翅展一般为5.6~6.1厘米,前足退化并紧贴胸部。  鳞翅目因成虫翅、
刀豆,也称“大刀豆”“中国刀豆”。其是豆科一年生草本,因豆荚形似刀而得名,又因菱形似人挟剑横斜,故又名“挟剑豆”。刀豆不仅是营养丰富的蔬菜,而且是疗效甚佳的良药。中医学认为,刀豆性平味甘,具有温中下气、利肠胃、止呕逆、平痰喘、益肾补元的功效,民间有不少用刀豆治病的验方。  头痛 ①刀豆根15克,黄酒30克,加水适量煎服;②刀豆根30克,红茶3克,水煎服。  鼻病 老刀豆60克,文火焙干,研为细末
梅的果实生时颜色青绿,称青梅;成熟的果实为黄色,经烟熏制后,外皮呈黑褐色,称乌梅。乌梅是著名中药,属蔷薇科落叶乔木,为我国特产,以浙江的合溪、福建的安溪所产最佳。历史上的“望梅止渴”典故和“青梅煮酒论英雄”故事等,人们都不会陌生。  中医认为,乌梅味酸、性干,入肝、脾、大肠经,有生津、敛肺、涩肠、开胃、止泻、定喘、安蛔等功效,适用于慢性腹泻、肺虚久咳、自汗气喘、虚热口渴等症。古时,病人牙关紧闭不能
依旧是一顶黑色帽子压住额头,简单的T恤、牛仔裤,胡子刮得很干净,沧桑的嗓音在排练室里回荡:  “那夜我喝醉了拉着你的手,胡乱地说话;只顾着自己心中压抑的想法,狂乱的表达”——这是“冲动的惩罚”,也是一个浪子剖开胸膛,酒后吐真言般让你听到他的心声。是不是这份真诚,抑或那歌声中仿似新疆吹来的苍凉的风,让你遥想起西域大漠、驼铃和“乌鲁木齐难舍的情结”?  刀郎,一个谜一样的歌手,毫无迹象地走红,又突然销
不惑之年的我,上有老下有小,在老和小之间,我总偏向老,因为小的来日方长。可我的尊老之举并没有令父母满意,观察发现,是“供需矛盾”,即父母需要的我没有给予,给予的则是父母不需要的。后来从心理学中得知,老年人的许多需求往往是通过唠叨的形式来反应的。  春节过后,母亲开始唠叨起来,老说这不舒服那不舒服的,不是腰酸就是腿痛,说着说着就扯到子女不关心老人的话题,听起来着实让人心烦。其实,母亲开始说她身体不舒
手术后植入的钢板离奇断裂    今年23岁的扬中市八桥乡农民晓燕在2002年4月18日因左胫骨下段粉碎性骨折人住镇江某医院治疗,同月20日镇江某医院对晓燕实施了手术,为其植入由北京某医疗器械公司生产、镇江某公司销售的金属钢板,同年5月11日晓燕出院。2003年5月,晓燕感觉腿部疼痛,于5月13日再次人住镇江某医院,经拍片检查发现,为晓燕植入的金属钢板断裂,5月15日镇江某医院为晓燕实施取钢板、植骨