论文部分内容阅读
引题
新的学年到了,一批新教师加入到信息技术教师的队伍中来;也有一些信息技术教师转到其他工作岗位。金秋时节正在继续着收获与播种的故事……信息技术学科还一直面临着比其他学科更多的困境,为此,我们将通过两期“编程与人生”热点解码,试图引发更多教师关于自己专业定位、专业发展等问题的思考与讨论。
(一)算法:设计与择优
我们这些人(信息技术教师),好像是学校里最不安分的人群吧,很多事虽然不能说是三天打鱼两天晒网,但下定决心要做却又半途而废的一定是常有发生。不少人都曾经有过今天学VB,明天学PS,后天又转向Flash的经历。即使一直在做的工作,往往也缺乏整体打算。比如,我在开发教学辅助管理软件时,经常是把从界面到功能的全部代码推翻重来,甚至一个成绩分析软件的界面就换了四种之多。报表格式就更多,实在是应付不了,就改变了在程序里做表头的方法,编写了一个万能报表打印程序(即可以根据数据库的字段自动获取表头),这项改良让复杂的报表打印从此无忧。可见,做事情预先有所规划设计是非常重要的。
记得小时候,我们都接受过理想教育,也都曾脱口宣布过自己的理想:当空军,做科学家……可是,又有几人能按部就班地为着理想目标去奋斗呢?尤其是在大学毕业之后,参加工作了,很多人更是发现现实离梦想非常遥远。于是,就有人悔恨年少时的轻狂,有时也会萌生一个念头:假如能够重新来过,我定当为了理想而努力。
当然,也并非是每一个人都有这样的心态。我的同学、朋友中就有不少人能够未雨绸缪, 一步一步按计划实现了自己的梦想。可见,预先规划并且能够严格执行,对人生是何等的重要。这就是算法设计,我们需要认真对待的一个概念。
算法不仅是解决一件事前的必要规划,而且是解决一类事的一个规划与行动。无论是做哪些事,都要有总的规划,里面还有小的规划,从大到小、从粗到细、从先到后,逐步求精,用实际行动去实现目标。
算法来自需求。一个优秀的算法是怎样萌生的呢?虽然,没有人能够前知五百年,后知五百年,最聪明的人孔明先生虽设计出三国鼎立、大汉再统的算法,却被晋统三国改变了一切。但是不能否认,做事要有一个总体的粗略规划,即要针对具体问题进行需求分析,找出解决之道。刘备遇到了问题需求,有了很会打架技术的关、张两位大将,但是打来打去仍然居无定所。他意识到缺乏一个为他们设计未来算法的谋士,诸葛亮的隆中对奠定了算法基架,让他看到了充满希望的未来。
算法要求精。基本的算法框架有了,可并非就能立马成功。接下来还要细化之,把它分解成一个个的阶段性小算法,实现从顶向下、模块化设计,逐步求精。孔明先生也是在实战中不断完善算法,看准时机得荆州以立足,把握时局取四川来发展,后出祁山而取魏……算法越来越周到。
算法要择优。虽然并非是条条大道都能到达罗马,但是总有几条路可供选择。哪条道才能更快、更便利是选择的标准。我小时读《南辕北辙》的故事时曾放言:“地球是圆的,往南往北都一样!”后来知道真的不一样。不同的算法,完成所需时间不同、结果质量也不同,即要讲究算法的整体效益。如果孔明当初听了魏延设计的“取栈道走剑门”的高效算法,历史会怎样改写?很明确,魏军正是采用类似算法闪电般得胜入川。
算法要调整。算法设计出来了要执行它。我们在计算机上编写程序来完成算法,还是可以再修改的,甚至换个算法从头再来。但是人生能有几回搏?不可能每个人都能等到大器晚成。所以,算法适时调整应是不得已而为之,并且要对原来的算法有继承性,不要轻易完全否定自己。调整修改算法当是算法择优的更高境界。
总之,做事情需要算法,算法对总体规划非常重要。按算法一步步执行,不断纠正调整,最终得到结果,这才是算法的真谛。
(二)循环:在重复中寻找出路
我们从事信息技术专业的人,都有一个共同的毛病:喜欢跟计算机耗着!说好听点就是埋头苦干,执著不懈。经常是没有目的地耗在计算机前,自己也不知道何时是个终结。当然,这个毛病从事其他工作的人也有,但不应该有的正是我们这些懂编程的人。我记得,自己在每次教新学生编写循环程序的时候,不论怎么讲解,都有些学生对“循环条件”的构成不明白,经常做出很多死循环的程序来。有个别的学生,学会了用“Ctrl Break”组合键去强行中止程序,然后到处去夸耀。可是,他并不知道出现了这个情况是编程的最大忌讳,强行中止不是提倡的做法。看到这样的学生,想到自己,就想着有必要给自己的“执著”行为加一个条件,让自己的重复有个结束,在不断的努力中去寻找人生的出口。
执著是成功的关键。但是,现在已经不再是一味推崇老黄牛的时代了,既要埋头拉车又要抬头看路,这才是科学的方法。当然,一旦找准了方向,找到了规律,就要反反复复地不断实验,直至成功。在程序设计的历程中,这种执著的精神是非常有益的,我们一直坚信希望正在峰回路转之处。
我们的时间、精力及其他资源都是有限的,不可能在一件事情上简单重复、停滞不前。所以,在重复地去做事情之前,需要先沉下心来想一想另一个重要的问题,即出路在哪里。循环程序提供了重复策略,它可以帮助我们解决海量的规律性问题,让计算机不知疲倦地重复工作,让我们因此有时间能够停下手来喝杯茶。这就是所谓的“自动化”设计。但是,不要忘记循环程序也会陷入一个与我们生活相似的困境,即进入一条死胡同,在低水平上自我重复,最终形成死循环。所以,我们需要搞懂循环终止的条件究竟是什么,如何走出自我、超越自我。
第一种情况是能够预知结束。俗话说“事不过三”,就是说同样的事件、相同的做法要有所限制,这就是限次循环。给自己的尝试作一下次数限制,不论努力到何种程度,不论果能结多大,到了次数就要收场。当然,“三”是虚指,我们倒不妨多加几次,但是必须有个最大的终值。当“自己”这个循环变量从第1次循环到终值时,就要主动跳出循环了,这就是循环的“自制力”。拿掘井来比喻,一锨一锨挖下去,我就挖他个一百锨,有没有挖出水来不管了。
另一种情况,就是并不知道要经历多少次的失败才能成功,要用“当循环(Do while)”来指导自己的反复尝试。就像掘井,不停地挖啊挖啊……当没见到水就继续挖!“水的出现”无疑就成为循环的终止条件了。实际上,换一种理解方式,又是一种循环结构:挖啊挖,直到见了水就停止!称为“直到(Repeat/Until)”循环。
这些情况其实都是一种情况,即都可预见到能够终止,只不过“水”这样的条件比较独立且有目的性,而“挖的次数”这样的条件嵌入在结构中可能目的性并不很明显。
最难的情况是不能预知何时结束。这时候,我们做事情很难看到希望,但还是要坚持做下去,倒不是因为总希望有奇迹会出现,而是在此过程中也许会发现新的希望,即另外的机遇。这样的情况,在循环结构上可能需要临时构造一个假的死循环,即像“1<2”、“True”等结果永远是“真”的循环条件,保证循环在理论上没有干涉将永远不停止。要明白,重复是死的,我们的心却并非死了,时刻准备着胜利突围。在这样的循环中,可以增加两种出路。其一,是根据循环中的变量运算结果进行判断,符合一定的条件即可跳,这是自动寻找出口;其二,是增加对外界信息输入的判断,比如对某些热键(即在任意时候击键或鼠标)做出反应,某个键响应之下跳出循环。如此以来,就是在循环中计算机不停地做着思考运算、比较判断,突然捕获到一丝信息,很有把握需要强行中止循环的时候到了,就强加一个跳出指令“Exit”。在这类循环中也许很快就能跳出,也许经历了很多轮回才能跳出,但是我们相信终会有成功的那一天!
总之,循环程序不是简单的重复,有次数限制的“计数循环”可以做到心中有数,“当循环”、“直到循环”能够让目标更明确。即使面对的是不知终点的漫漫长路,我们也不能失去希望任凭死循环淹没斗志,而是要不断地去闯,执著地去走,路在脚下,希望就在脚下,随时都有希望的出口。
苍山点题
不论您从编程的角度去阅读,还是从人生、专业发展的角度去思考,我们都不妨多一点启发:给自己一个一年计划,或者五年计划,有计划地去不懈努力,但对目标却不迷茫……在困难中注意不时抬起头来,寻找希望。
《课程整合》专栏征稿通知
为推广新型教学模式,提高信息技术与学科课程的有效整合水平,优化课程设置,改善教学效果;在推进基础教育信息化过程中传播新知,凝集智慧,共享资源,《信息技术教育》杂志根据《课程整合》专栏设置特点,定于2007年6月至2007年12月集中开展整合案例征集活动。活动设立专门邮箱,面向中小学教师征集案例。
案例要求
1.案例篇幅以3800字左右为宜。
2.案例须经过实践检验,并简要介绍教学效果。
3.案例提交时须附以下内容:
(1)教师在教学过程中所拍摄照片(2~3张)。
(2)授课教师简介(200字左右)。
(3)授课教师所在学校信息化环境介绍及教学案例开展所必备的教学客观条件展示(200~300字)。
4.稿件中所引用资料的部分需注明出处。
5.案例要求以电子文档的形式发至指定邮箱:uebrain@126.com,并注明“应征稿件”字样。
联系方式
联系人:王老师 闫老师
电话:010-87663458-8029
传真:010-87663458-8003
手机:13120487628
E-mail:wangxiaobo@vip.sohu.com/amary7376@163.com/tougao3@nettime.net.cn
新的学年到了,一批新教师加入到信息技术教师的队伍中来;也有一些信息技术教师转到其他工作岗位。金秋时节正在继续着收获与播种的故事……信息技术学科还一直面临着比其他学科更多的困境,为此,我们将通过两期“编程与人生”热点解码,试图引发更多教师关于自己专业定位、专业发展等问题的思考与讨论。
(一)算法:设计与择优
我们这些人(信息技术教师),好像是学校里最不安分的人群吧,很多事虽然不能说是三天打鱼两天晒网,但下定决心要做却又半途而废的一定是常有发生。不少人都曾经有过今天学VB,明天学PS,后天又转向Flash的经历。即使一直在做的工作,往往也缺乏整体打算。比如,我在开发教学辅助管理软件时,经常是把从界面到功能的全部代码推翻重来,甚至一个成绩分析软件的界面就换了四种之多。报表格式就更多,实在是应付不了,就改变了在程序里做表头的方法,编写了一个万能报表打印程序(即可以根据数据库的字段自动获取表头),这项改良让复杂的报表打印从此无忧。可见,做事情预先有所规划设计是非常重要的。
记得小时候,我们都接受过理想教育,也都曾脱口宣布过自己的理想:当空军,做科学家……可是,又有几人能按部就班地为着理想目标去奋斗呢?尤其是在大学毕业之后,参加工作了,很多人更是发现现实离梦想非常遥远。于是,就有人悔恨年少时的轻狂,有时也会萌生一个念头:假如能够重新来过,我定当为了理想而努力。
当然,也并非是每一个人都有这样的心态。我的同学、朋友中就有不少人能够未雨绸缪, 一步一步按计划实现了自己的梦想。可见,预先规划并且能够严格执行,对人生是何等的重要。这就是算法设计,我们需要认真对待的一个概念。
算法不仅是解决一件事前的必要规划,而且是解决一类事的一个规划与行动。无论是做哪些事,都要有总的规划,里面还有小的规划,从大到小、从粗到细、从先到后,逐步求精,用实际行动去实现目标。
算法来自需求。一个优秀的算法是怎样萌生的呢?虽然,没有人能够前知五百年,后知五百年,最聪明的人孔明先生虽设计出三国鼎立、大汉再统的算法,却被晋统三国改变了一切。但是不能否认,做事要有一个总体的粗略规划,即要针对具体问题进行需求分析,找出解决之道。刘备遇到了问题需求,有了很会打架技术的关、张两位大将,但是打来打去仍然居无定所。他意识到缺乏一个为他们设计未来算法的谋士,诸葛亮的隆中对奠定了算法基架,让他看到了充满希望的未来。
算法要求精。基本的算法框架有了,可并非就能立马成功。接下来还要细化之,把它分解成一个个的阶段性小算法,实现从顶向下、模块化设计,逐步求精。孔明先生也是在实战中不断完善算法,看准时机得荆州以立足,把握时局取四川来发展,后出祁山而取魏……算法越来越周到。
算法要择优。虽然并非是条条大道都能到达罗马,但是总有几条路可供选择。哪条道才能更快、更便利是选择的标准。我小时读《南辕北辙》的故事时曾放言:“地球是圆的,往南往北都一样!”后来知道真的不一样。不同的算法,完成所需时间不同、结果质量也不同,即要讲究算法的整体效益。如果孔明当初听了魏延设计的“取栈道走剑门”的高效算法,历史会怎样改写?很明确,魏军正是采用类似算法闪电般得胜入川。
算法要调整。算法设计出来了要执行它。我们在计算机上编写程序来完成算法,还是可以再修改的,甚至换个算法从头再来。但是人生能有几回搏?不可能每个人都能等到大器晚成。所以,算法适时调整应是不得已而为之,并且要对原来的算法有继承性,不要轻易完全否定自己。调整修改算法当是算法择优的更高境界。
总之,做事情需要算法,算法对总体规划非常重要。按算法一步步执行,不断纠正调整,最终得到结果,这才是算法的真谛。
(二)循环:在重复中寻找出路
我们从事信息技术专业的人,都有一个共同的毛病:喜欢跟计算机耗着!说好听点就是埋头苦干,执著不懈。经常是没有目的地耗在计算机前,自己也不知道何时是个终结。当然,这个毛病从事其他工作的人也有,但不应该有的正是我们这些懂编程的人。我记得,自己在每次教新学生编写循环程序的时候,不论怎么讲解,都有些学生对“循环条件”的构成不明白,经常做出很多死循环的程序来。有个别的学生,学会了用“Ctrl Break”组合键去强行中止程序,然后到处去夸耀。可是,他并不知道出现了这个情况是编程的最大忌讳,强行中止不是提倡的做法。看到这样的学生,想到自己,就想着有必要给自己的“执著”行为加一个条件,让自己的重复有个结束,在不断的努力中去寻找人生的出口。
执著是成功的关键。但是,现在已经不再是一味推崇老黄牛的时代了,既要埋头拉车又要抬头看路,这才是科学的方法。当然,一旦找准了方向,找到了规律,就要反反复复地不断实验,直至成功。在程序设计的历程中,这种执著的精神是非常有益的,我们一直坚信希望正在峰回路转之处。
我们的时间、精力及其他资源都是有限的,不可能在一件事情上简单重复、停滞不前。所以,在重复地去做事情之前,需要先沉下心来想一想另一个重要的问题,即出路在哪里。循环程序提供了重复策略,它可以帮助我们解决海量的规律性问题,让计算机不知疲倦地重复工作,让我们因此有时间能够停下手来喝杯茶。这就是所谓的“自动化”设计。但是,不要忘记循环程序也会陷入一个与我们生活相似的困境,即进入一条死胡同,在低水平上自我重复,最终形成死循环。所以,我们需要搞懂循环终止的条件究竟是什么,如何走出自我、超越自我。
第一种情况是能够预知结束。俗话说“事不过三”,就是说同样的事件、相同的做法要有所限制,这就是限次循环。给自己的尝试作一下次数限制,不论努力到何种程度,不论果能结多大,到了次数就要收场。当然,“三”是虚指,我们倒不妨多加几次,但是必须有个最大的终值。当“自己”这个循环变量从第1次循环到终值时,就要主动跳出循环了,这就是循环的“自制力”。拿掘井来比喻,一锨一锨挖下去,我就挖他个一百锨,有没有挖出水来不管了。
另一种情况,就是并不知道要经历多少次的失败才能成功,要用“当循环(Do while)”来指导自己的反复尝试。就像掘井,不停地挖啊挖啊……当没见到水就继续挖!“水的出现”无疑就成为循环的终止条件了。实际上,换一种理解方式,又是一种循环结构:挖啊挖,直到见了水就停止!称为“直到(Repeat/Until)”循环。
这些情况其实都是一种情况,即都可预见到能够终止,只不过“水”这样的条件比较独立且有目的性,而“挖的次数”这样的条件嵌入在结构中可能目的性并不很明显。
最难的情况是不能预知何时结束。这时候,我们做事情很难看到希望,但还是要坚持做下去,倒不是因为总希望有奇迹会出现,而是在此过程中也许会发现新的希望,即另外的机遇。这样的情况,在循环结构上可能需要临时构造一个假的死循环,即像“1<2”、“True”等结果永远是“真”的循环条件,保证循环在理论上没有干涉将永远不停止。要明白,重复是死的,我们的心却并非死了,时刻准备着胜利突围。在这样的循环中,可以增加两种出路。其一,是根据循环中的变量运算结果进行判断,符合一定的条件即可跳,这是自动寻找出口;其二,是增加对外界信息输入的判断,比如对某些热键(即在任意时候击键或鼠标)做出反应,某个键响应之下跳出循环。如此以来,就是在循环中计算机不停地做着思考运算、比较判断,突然捕获到一丝信息,很有把握需要强行中止循环的时候到了,就强加一个跳出指令“Exit”。在这类循环中也许很快就能跳出,也许经历了很多轮回才能跳出,但是我们相信终会有成功的那一天!
总之,循环程序不是简单的重复,有次数限制的“计数循环”可以做到心中有数,“当循环”、“直到循环”能够让目标更明确。即使面对的是不知终点的漫漫长路,我们也不能失去希望任凭死循环淹没斗志,而是要不断地去闯,执著地去走,路在脚下,希望就在脚下,随时都有希望的出口。
苍山点题
不论您从编程的角度去阅读,还是从人生、专业发展的角度去思考,我们都不妨多一点启发:给自己一个一年计划,或者五年计划,有计划地去不懈努力,但对目标却不迷茫……在困难中注意不时抬起头来,寻找希望。
《课程整合》专栏征稿通知
为推广新型教学模式,提高信息技术与学科课程的有效整合水平,优化课程设置,改善教学效果;在推进基础教育信息化过程中传播新知,凝集智慧,共享资源,《信息技术教育》杂志根据《课程整合》专栏设置特点,定于2007年6月至2007年12月集中开展整合案例征集活动。活动设立专门邮箱,面向中小学教师征集案例。
案例要求
1.案例篇幅以3800字左右为宜。
2.案例须经过实践检验,并简要介绍教学效果。
3.案例提交时须附以下内容:
(1)教师在教学过程中所拍摄照片(2~3张)。
(2)授课教师简介(200字左右)。
(3)授课教师所在学校信息化环境介绍及教学案例开展所必备的教学客观条件展示(200~300字)。
4.稿件中所引用资料的部分需注明出处。
5.案例要求以电子文档的形式发至指定邮箱:uebrain@126.com,并注明“应征稿件”字样。
联系方式
联系人:王老师 闫老师
电话:010-87663458-8029
传真:010-87663458-8003
手机:13120487628
E-mail:wangxiaobo@vip.sohu.com/amary7376@163.com/tougao3@nettime.net.cn