论文部分内容阅读
摘要在程序设计教学过程中,如何解决程序设计本身枯燥、难懂这个问题,找到一条比较新颖的教学方式,一直是广大计算机教师颇感兴趣的课题。结合多年的程序设计教学经验,以及在教学中发现的问题谈一下自己的看法。并对在程序设计过程中如何培养同学们的逻辑思维能力和抽象思维能力给予适当的关注。
关键词程序设计教学;问题分析;多样化编程;责任心
中图分类号G424.1文献标识码A文章编号1673-9671-(2010)042-0155-01
程序设计在计算机应用领域中,是一门非常重要且核心的技术,在实际应用中也非常广泛,作为一名计算机专任教师从事相关教学工作多年,在此我浅显的谈谈对程序设计教学的几点看法。
1强调对基础知识的理解
基础知识是构成程序的基本单位,就犹如词是构成句子的基本单位一样同等重要,如果词语掌握不够,则很难造出完整的句子来。刚刚学习计算机的学生就好比刚学说话的幼儿,在学习程序设计的初期,一定要重视对基础知识的理解。只有把基础知识掌握好了,编程才能得心应手,信心拈来。其中,对基本概念的理解,我们一定要抓住概念的主干即关键词做详细说明,在讲解过程中有些概念在以往所学的知识中理解不同,如“函数”,函数这个概念与数学中所学的函数概念不完全相同,在英语中“函数”与“功能”是同一个单词function。所以在高级程序设计语言中“函数”实际上是“功能”的意思,当需要完成某一功能时,我们就要用一个函数或自定义一个函数完成它。同时,要区别自定义函数和标准函数,让学生充分理解函数在程序设计中的重要性;同样,对逻辑问题的解释可例举生活中的实际问题加以说明,如婚否一事,要么已婚,要么未婚,不存在第三种可能,所以像这种问题就是逻辑问题;例如“5>7”、“x=x+1”,像这样的表达在数学中是不存在的。所以,我们要对照数学给他们一个全新的诠释。“5>7”为假,所以它的值为“0”;“x=x+1”,则把x储存单元里的内容加上1后再赋值给这个存储单元,这里的“=”不是数学中的等于号,而是赋值符号。
2重视对问题分析能力的培养
当熟练掌握了基础知识与相关语法时,学生开始进入第二个阶段的学习-问题分析。问题分析是指如何把实际问题用教学的逻辑表达出来。这一阶段是关键时期,它要求学生对问题的审视从高空俯瞰全局,从低处仰观细节再把它攥在手里掰开了看,看清了,看透了,在细细琢磨,慢慢思考。假若此时,对问题的分析出了差错,则后面的工作都徒劳无用,所以我们老师在这一阶段应着重培养学生的分析能力,而根据我多年的观察,有些老师在这方面不够重视,特别是用多媒体课件教学的老师,往往对问题稍加说明,就直接把程序板书出来。在培养学生分析能力的过程中,我们一定要启发性地带动学生思考,让学生真正参与到程序设计中来,让他们体会到程序设计中奥妙无穷的乐趣,有人说:程序设计是枯燥的、乏味的;但也有人说:程序设计是艺术的享受,它可以让设计者的思想与灵魂不停的流淌、跳跃。
3鼓励灵活多变地编写程序
问题通过以上详细、全面的分析后,学生则进入到第三个阶段-编写程序。在这一过程中引导同学们养成运用动态思维判断程序是否正确的习惯,这种习惯的养成,对培养学生的逻辑思维能力和抽象思维能力有非常重要的作用。为了达到这个目的,在程序设计教学中要求同学们根据条件在教师的引导下一步步向前走,把程序写下来。通常,在生活中不难发现有些老师喜欢带着学生阅读程序,这好比一位本应教大家写作的老师,却带着大家阅读自己事先写好的文章,学生动笔写作时,却怎么也摆脱不了范文的阴影,丧失了想象力与灵感,这一点我是相当反对的,而且以这种方式教出来的学生都有一个共同的特点:能读懂别人写的程序,但自己却无从下笔。
4提倡多样化编程的教学方式
要进入编程环节,老师应鼓励学生求同存异,只要结果相同,编程可多样化,充分发挥学生的创新求异思维。不管程序是精简,还是冗长,只要结果相同,我们都要充分肯定。不要排斥冗长累赘的程序,不要随意扼杀学生求异创新的积极性,随着时间的推移和编程经验的积累,学生编程会逐步精益求精,以至达到编程精简的程度。而在教学活动中,我发现不少老师往往只推崇精简程序,而对冗长程序却不置可否,或无意淡化,要知道学生编程思想的萌芽虽参差不齐,但我们都要细心呵护,不要因为他没有按我们的意愿编写而给予它否定。
5教师责任心有待提高
几年前,我在上学时发现一个现象,有些课的最后几章老师根本不教,而这些没讲的知识往往是课本的精华部分。例如:C语言中的指针与文件,VB中的数据库链接等。这其中有的是因为上课时间不够,但有的是因为任课老师的不负责导致的。老师认为指针在《数据结构》有讲,所以C语言中的指针就留给《数据结构》;文件在生活中不常用,所以忽略不教;VB中的数据库在asp中有详细讲解,所以这部分内容被跳过等这样的行为,实在有违教师职业道德。既然,教材中有这部分知识的安排,就不应该推卸自己的教学责任,该你教的,你一点都不能落下。
在程序设计教学中,教学方式的选取很重要,但老师的责任心和感染力也不容忽视。这两者若有机结合,势必不会让程序设计学习变得枯燥、乏味。相反会让更多的学生积极投入到程序设计学习中,从中感受快乐和激情。
关键词程序设计教学;问题分析;多样化编程;责任心
中图分类号G424.1文献标识码A文章编号1673-9671-(2010)042-0155-01
程序设计在计算机应用领域中,是一门非常重要且核心的技术,在实际应用中也非常广泛,作为一名计算机专任教师从事相关教学工作多年,在此我浅显的谈谈对程序设计教学的几点看法。
1强调对基础知识的理解
基础知识是构成程序的基本单位,就犹如词是构成句子的基本单位一样同等重要,如果词语掌握不够,则很难造出完整的句子来。刚刚学习计算机的学生就好比刚学说话的幼儿,在学习程序设计的初期,一定要重视对基础知识的理解。只有把基础知识掌握好了,编程才能得心应手,信心拈来。其中,对基本概念的理解,我们一定要抓住概念的主干即关键词做详细说明,在讲解过程中有些概念在以往所学的知识中理解不同,如“函数”,函数这个概念与数学中所学的函数概念不完全相同,在英语中“函数”与“功能”是同一个单词function。所以在高级程序设计语言中“函数”实际上是“功能”的意思,当需要完成某一功能时,我们就要用一个函数或自定义一个函数完成它。同时,要区别自定义函数和标准函数,让学生充分理解函数在程序设计中的重要性;同样,对逻辑问题的解释可例举生活中的实际问题加以说明,如婚否一事,要么已婚,要么未婚,不存在第三种可能,所以像这种问题就是逻辑问题;例如“5>7”、“x=x+1”,像这样的表达在数学中是不存在的。所以,我们要对照数学给他们一个全新的诠释。“5>7”为假,所以它的值为“0”;“x=x+1”,则把x储存单元里的内容加上1后再赋值给这个存储单元,这里的“=”不是数学中的等于号,而是赋值符号。
2重视对问题分析能力的培养
当熟练掌握了基础知识与相关语法时,学生开始进入第二个阶段的学习-问题分析。问题分析是指如何把实际问题用教学的逻辑表达出来。这一阶段是关键时期,它要求学生对问题的审视从高空俯瞰全局,从低处仰观细节再把它攥在手里掰开了看,看清了,看透了,在细细琢磨,慢慢思考。假若此时,对问题的分析出了差错,则后面的工作都徒劳无用,所以我们老师在这一阶段应着重培养学生的分析能力,而根据我多年的观察,有些老师在这方面不够重视,特别是用多媒体课件教学的老师,往往对问题稍加说明,就直接把程序板书出来。在培养学生分析能力的过程中,我们一定要启发性地带动学生思考,让学生真正参与到程序设计中来,让他们体会到程序设计中奥妙无穷的乐趣,有人说:程序设计是枯燥的、乏味的;但也有人说:程序设计是艺术的享受,它可以让设计者的思想与灵魂不停的流淌、跳跃。
3鼓励灵活多变地编写程序
问题通过以上详细、全面的分析后,学生则进入到第三个阶段-编写程序。在这一过程中引导同学们养成运用动态思维判断程序是否正确的习惯,这种习惯的养成,对培养学生的逻辑思维能力和抽象思维能力有非常重要的作用。为了达到这个目的,在程序设计教学中要求同学们根据条件在教师的引导下一步步向前走,把程序写下来。通常,在生活中不难发现有些老师喜欢带着学生阅读程序,这好比一位本应教大家写作的老师,却带着大家阅读自己事先写好的文章,学生动笔写作时,却怎么也摆脱不了范文的阴影,丧失了想象力与灵感,这一点我是相当反对的,而且以这种方式教出来的学生都有一个共同的特点:能读懂别人写的程序,但自己却无从下笔。
4提倡多样化编程的教学方式
要进入编程环节,老师应鼓励学生求同存异,只要结果相同,编程可多样化,充分发挥学生的创新求异思维。不管程序是精简,还是冗长,只要结果相同,我们都要充分肯定。不要排斥冗长累赘的程序,不要随意扼杀学生求异创新的积极性,随着时间的推移和编程经验的积累,学生编程会逐步精益求精,以至达到编程精简的程度。而在教学活动中,我发现不少老师往往只推崇精简程序,而对冗长程序却不置可否,或无意淡化,要知道学生编程思想的萌芽虽参差不齐,但我们都要细心呵护,不要因为他没有按我们的意愿编写而给予它否定。
5教师责任心有待提高
几年前,我在上学时发现一个现象,有些课的最后几章老师根本不教,而这些没讲的知识往往是课本的精华部分。例如:C语言中的指针与文件,VB中的数据库链接等。这其中有的是因为上课时间不够,但有的是因为任课老师的不负责导致的。老师认为指针在《数据结构》有讲,所以C语言中的指针就留给《数据结构》;文件在生活中不常用,所以忽略不教;VB中的数据库在asp中有详细讲解,所以这部分内容被跳过等这样的行为,实在有违教师职业道德。既然,教材中有这部分知识的安排,就不应该推卸自己的教学责任,该你教的,你一点都不能落下。
在程序设计教学中,教学方式的选取很重要,但老师的责任心和感染力也不容忽视。这两者若有机结合,势必不会让程序设计学习变得枯燥、乏味。相反会让更多的学生积极投入到程序设计学习中,从中感受快乐和激情。