论文部分内容阅读
C语言作为时下最流行的程序设计语言之一,是计算机专业的必修课。它是计算机应用人员应掌握的一种程序设计工具。然而,在中职院校,大部分学生由于英语、数学基础较差,导致其在C语言学习中会遇到很多障碍,从而丧失学习热情。在这种情况下,如果老师还是按照传统的教学方法进行教学,教学效果可想而知。作为从事C语言教学多年的教师,笔者认为,针对当前中职学生的特点,要想在C语言的教学上取得比较满意的教学效果,可以在以下几个方面进行改革。
一、教学内容的改革
1.重视“灵魂”算法
有人说,C可能被淘汰,VC也可能被淘汰。实际上,java、delphi都可能被淘汰。但是,优秀的数据结构、优秀的算法,是不会被淘汰的。C语言的实践过程,实际上就是算法的语言实现过程,是计算机的“灵魂”。中职学生初步进行语言的学习,绝不能使他们错误地认为语言只是一些规则和符号,而要使他们知道只有算法才是真正的智慧之源。
鉴于中职学生的基础较为薄弱,这些算法的讲解也不宜太难,否则会挫败学生的积极性。所以,可以由浅入深,因材施教地进行教授。例如冒泡排序,其基本思想是:将相邻两个数依次比较,将大数调在前头。也就是说,第一个数和第二个数比较,大数放前,小数放后,第二个和第三个进行比较,大数放前、小数放后,依此类推。讲解时,教师不仅可以给出冒泡排序的一般方法,还可以进一步采用其他的排序方法进行比较,用一些简单的例子比较它们排序所需要的计算次数,孰优孰劣不言而喻,也能让学生充分认识到算法的重要性。
2.巧妙化解难度
中职学生群体中,相当一部分学生基础薄弱,在数学方面,反映得更为明显。这就要求教师在教学内容的选择上,要结合目前中职学生的知识水平,依据中职教学的培养目标,适当降低理论知识的难度和深度。对于较深奥的概念,尽量采用生动的、学生熟悉的案例进行引导。例如指针的概念,教材对“间接存取”的叙述比较生硬,学生难以理解,可以借用比喻讲解:将A房间的钥匙放在B房间里,若要取A房间里的物品,就需要先打开B房间,取出A钥匙,再打开A房间,取出A房间的物品,这就是“间接存取”。这样的讲解方式,可以使学生很快理解并加深对指针概念的认识。
二、教学方法的改革
1.创设情境,引人入胜
教师在讲解每一个问题的时候,应当教会学生解决问题的方法。如果只是把课本的内容原封不动地讲给学生听,学生可能会觉得枯燥无味,很快就失去继续听下去的耐心。这就要求教师要针对中职学生的特点,创设能引导学生主动参与的教学环境,激发学生的学习积极性。例如在讲授对n个数进行从大到小的排序算法时,笔者是这样处理的:让6名学生主动到讲台前随机排列站好,个子最高的学生代表最大数,个子最矮的学生代表最小数。第一个学生先与相邻的同学比较,如果相邻的同学个子高,就交换位置,否则不交换。然后,用同样的方法再分别与其他4个同学比较,最后发现第一个学生的位置,站的是个子最高的学生;再让第二个学生分别与后面的4个同学比较。依此类推,结果发现,6个学生按个子从高到低顺序排列。整个过程中,笔者只需要找出第一个最高的学生,其他都由学生负责找。这样一来,学生们个个热情高涨,课堂气氛特别活跃,在人人参与的轻松环境中,问题得到了圆满解决。方法掌握了,对本排序算法的理解,就不是问题了。所以,在教学方法上,教师要创新,要找出能使中职学生易于接受的方法。这样,教学才能取得令人满意的效果。
2.激发学习积极性
笔者针对C语言的特点,激发学生主动思考,课前给学生布置几个专题,让学生利用课余时间去思考、收集资料,并在课堂上组织学生发言和讨论。这种教学法不仅可以让学生获得许多课外知识,也促进了教学内容的改革,而且也有利于充分挖掘学生的学习潜力。例如,求1000以内的所有“水仙花”数。首先,课前提示学生可用多种方法进行解题,如循环控制、数组和函数,让学生尝试编写并总结出最佳的程序结构,提高编程能力。其次,在课上,对学生的各种方法进行讲解、点评。这样,有利于学生加深对所学知识的理解,让学生真正体会到C语言的灵活性,激发学生的学习兴趣和求知欲。
三、实验教学的改革
C语言是一门实践性很强的课程,其主要任务就是培养学生具有一定的阅读程序、设计程序的能力,以及分析问题、解决问题和逻辑思维的能力。笔者对实验内容上进行了认真探讨,一般一次实验给出2~3个实验题目,分为必做与选做。这样的好处是一方面保留相对简单的基础性实验,使学生能够较顺利地编写出程序,培养学生的自信心,使其学习热情得到进一步提高;另一方面,增加实用性强、难度略大的实验题目,进一步提高学生的编程能力,也可以满足较高层次学生的需要。下面笔者简单介绍一下实验的基本步骤。
1.上机前的准备
让学生写出实验预习报告,内容包括对实验题目的理解和分析,选择适当算法,画出流程图并编写程序;准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。
2.上机调试
首先,调用C语言集成开发环境,输入事先准备好的源程序,然后进行调试。在调试过程中,要充分利用C语言集成开发环境提供的调试手段和工具,如单步跟踪、设置断点、监视变量值的变化等。整个过程应由学生自己独立完成,也可分组讨论,使学生通过自己的实践得到更丰富的经验。
3.整理实验报告
实验结束后,要求学生整理实验结果,并认真分析和总结,写出实验报告。具体内容包括实验内容、算法说明、程序清单。
四、考核方式的改革
考核是教学工作的重要环节,是评价教学效果的主要方法。衡量这门课的学习效果,不是看学生“知不知道”,而是“会不会干”。最初,C语言课都采用笔试考核,让学生做一些填空题、选择题,给出一些不完整的程序让学生填空,导致学生死记硬背以应付考试,写完后语法有没有错、语句用得对不对却不知晓。所以,笔试并不能真正反映学生的学习效果。
C语言课程的教学目的,就是培养学生熟练运用计算机语言编制和调试程序,从而解决实际问题的能力。学过程序设计的人都知道,编写一个程序有时很容易,但其正确运行往往不是一件容易的事情。C语言的考核,应采用上机考核形式,可以在期末考试前一个月左右向学生公开20~30道综合性较强的题目。这些题目涵盖所有的考核知识点,让学生提前进行编程练习,并且告知学生,期末上机考试的题目就从中选择,只是关键数据会有变化。上机考试时,每人的试题都是老师从之前公布的题库中随机抽取5道,然后让学生编写程序并调试运行,并根据运行结果记录评分。实践证明,这种考核形式的实施,能够大大促进学生上机调试程序的积极性,增强学生编写程序、调试程序的能力。
中职C语言教学,相对于其他计算机专业课程来说较为抽象,所以教师必须花费足够的耐心,采用合理的授课方式,讲授合适的内容,才能使中职学生受益。这是中职教师必须努力去做的工作。在这一过程中,应该以能力的掌握为主,以开拓思维为主要目的,针对学生自身的特点,设计出适合中职学生的教学方案。只有这样,教学才能取得良好的效果。
(作者单位:浙江省嘉兴市科技工程学校、浙江省嘉兴市高级技工学校)
一、教学内容的改革
1.重视“灵魂”算法
有人说,C可能被淘汰,VC也可能被淘汰。实际上,java、delphi都可能被淘汰。但是,优秀的数据结构、优秀的算法,是不会被淘汰的。C语言的实践过程,实际上就是算法的语言实现过程,是计算机的“灵魂”。中职学生初步进行语言的学习,绝不能使他们错误地认为语言只是一些规则和符号,而要使他们知道只有算法才是真正的智慧之源。
鉴于中职学生的基础较为薄弱,这些算法的讲解也不宜太难,否则会挫败学生的积极性。所以,可以由浅入深,因材施教地进行教授。例如冒泡排序,其基本思想是:将相邻两个数依次比较,将大数调在前头。也就是说,第一个数和第二个数比较,大数放前,小数放后,第二个和第三个进行比较,大数放前、小数放后,依此类推。讲解时,教师不仅可以给出冒泡排序的一般方法,还可以进一步采用其他的排序方法进行比较,用一些简单的例子比较它们排序所需要的计算次数,孰优孰劣不言而喻,也能让学生充分认识到算法的重要性。
2.巧妙化解难度
中职学生群体中,相当一部分学生基础薄弱,在数学方面,反映得更为明显。这就要求教师在教学内容的选择上,要结合目前中职学生的知识水平,依据中职教学的培养目标,适当降低理论知识的难度和深度。对于较深奥的概念,尽量采用生动的、学生熟悉的案例进行引导。例如指针的概念,教材对“间接存取”的叙述比较生硬,学生难以理解,可以借用比喻讲解:将A房间的钥匙放在B房间里,若要取A房间里的物品,就需要先打开B房间,取出A钥匙,再打开A房间,取出A房间的物品,这就是“间接存取”。这样的讲解方式,可以使学生很快理解并加深对指针概念的认识。
二、教学方法的改革
1.创设情境,引人入胜
教师在讲解每一个问题的时候,应当教会学生解决问题的方法。如果只是把课本的内容原封不动地讲给学生听,学生可能会觉得枯燥无味,很快就失去继续听下去的耐心。这就要求教师要针对中职学生的特点,创设能引导学生主动参与的教学环境,激发学生的学习积极性。例如在讲授对n个数进行从大到小的排序算法时,笔者是这样处理的:让6名学生主动到讲台前随机排列站好,个子最高的学生代表最大数,个子最矮的学生代表最小数。第一个学生先与相邻的同学比较,如果相邻的同学个子高,就交换位置,否则不交换。然后,用同样的方法再分别与其他4个同学比较,最后发现第一个学生的位置,站的是个子最高的学生;再让第二个学生分别与后面的4个同学比较。依此类推,结果发现,6个学生按个子从高到低顺序排列。整个过程中,笔者只需要找出第一个最高的学生,其他都由学生负责找。这样一来,学生们个个热情高涨,课堂气氛特别活跃,在人人参与的轻松环境中,问题得到了圆满解决。方法掌握了,对本排序算法的理解,就不是问题了。所以,在教学方法上,教师要创新,要找出能使中职学生易于接受的方法。这样,教学才能取得令人满意的效果。
2.激发学习积极性
笔者针对C语言的特点,激发学生主动思考,课前给学生布置几个专题,让学生利用课余时间去思考、收集资料,并在课堂上组织学生发言和讨论。这种教学法不仅可以让学生获得许多课外知识,也促进了教学内容的改革,而且也有利于充分挖掘学生的学习潜力。例如,求1000以内的所有“水仙花”数。首先,课前提示学生可用多种方法进行解题,如循环控制、数组和函数,让学生尝试编写并总结出最佳的程序结构,提高编程能力。其次,在课上,对学生的各种方法进行讲解、点评。这样,有利于学生加深对所学知识的理解,让学生真正体会到C语言的灵活性,激发学生的学习兴趣和求知欲。
三、实验教学的改革
C语言是一门实践性很强的课程,其主要任务就是培养学生具有一定的阅读程序、设计程序的能力,以及分析问题、解决问题和逻辑思维的能力。笔者对实验内容上进行了认真探讨,一般一次实验给出2~3个实验题目,分为必做与选做。这样的好处是一方面保留相对简单的基础性实验,使学生能够较顺利地编写出程序,培养学生的自信心,使其学习热情得到进一步提高;另一方面,增加实用性强、难度略大的实验题目,进一步提高学生的编程能力,也可以满足较高层次学生的需要。下面笔者简单介绍一下实验的基本步骤。
1.上机前的准备
让学生写出实验预习报告,内容包括对实验题目的理解和分析,选择适当算法,画出流程图并编写程序;准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。
2.上机调试
首先,调用C语言集成开发环境,输入事先准备好的源程序,然后进行调试。在调试过程中,要充分利用C语言集成开发环境提供的调试手段和工具,如单步跟踪、设置断点、监视变量值的变化等。整个过程应由学生自己独立完成,也可分组讨论,使学生通过自己的实践得到更丰富的经验。
3.整理实验报告
实验结束后,要求学生整理实验结果,并认真分析和总结,写出实验报告。具体内容包括实验内容、算法说明、程序清单。
四、考核方式的改革
考核是教学工作的重要环节,是评价教学效果的主要方法。衡量这门课的学习效果,不是看学生“知不知道”,而是“会不会干”。最初,C语言课都采用笔试考核,让学生做一些填空题、选择题,给出一些不完整的程序让学生填空,导致学生死记硬背以应付考试,写完后语法有没有错、语句用得对不对却不知晓。所以,笔试并不能真正反映学生的学习效果。
C语言课程的教学目的,就是培养学生熟练运用计算机语言编制和调试程序,从而解决实际问题的能力。学过程序设计的人都知道,编写一个程序有时很容易,但其正确运行往往不是一件容易的事情。C语言的考核,应采用上机考核形式,可以在期末考试前一个月左右向学生公开20~30道综合性较强的题目。这些题目涵盖所有的考核知识点,让学生提前进行编程练习,并且告知学生,期末上机考试的题目就从中选择,只是关键数据会有变化。上机考试时,每人的试题都是老师从之前公布的题库中随机抽取5道,然后让学生编写程序并调试运行,并根据运行结果记录评分。实践证明,这种考核形式的实施,能够大大促进学生上机调试程序的积极性,增强学生编写程序、调试程序的能力。
中职C语言教学,相对于其他计算机专业课程来说较为抽象,所以教师必须花费足够的耐心,采用合理的授课方式,讲授合适的内容,才能使中职学生受益。这是中职教师必须努力去做的工作。在这一过程中,应该以能力的掌握为主,以开拓思维为主要目的,针对学生自身的特点,设计出适合中职学生的教学方案。只有这样,教学才能取得良好的效果。
(作者单位:浙江省嘉兴市科技工程学校、浙江省嘉兴市高级技工学校)