论文部分内容阅读
摘要:学生在C语言课程的实验过程中往往表现出不主动、畏难以及懈怠等消极情绪,本文提出T一种在C语言实验教学中激发学生的学习兴趣,提高学生动手编程能力的教学方法。经实践证明,实验教学效果良好
关键词:C语言;教学效果;兴趣
一、大学C语言实验教学中存在的问题
“C语言程序设计”是高校计算机专业及非计算机专业一门重要的基础课程,学生对整门课程掌握情况的好坏对于后续课程的学习有着至关重要的作用。但是,在实际教学实践中,学生往往对该课程的实验环节表现出种种不适应。教师在实验教学中感觉效果不是十分理想。遇到的主要问题及其产生原因归纳如下。
1.学生在实验初期经常会产生茫然感,对编程语言的学习方法不能适应
C语言课程一般是在新生入学不久就开设,是学生接触的计算机编程的入门课程。学生沿用旧的学习方法对于这门新课程有很大的不适应性,在实验中往往不知道该做些什么,产生茫然感。教师可以随着课程的深入不断地去引导学生,初期就需要给学生设计好实验内容,并扭转他们的学习方法。
2.学生容易产生厌倦情绪
产生的原因是教师缺少使用与日常生活相关的有趣问题作为导入和内容设计,吸引不了学生的注意力。很多教师在不了解学生的需求以及掌握程度的情况下盲目教学,学生学习的理论内容还没有完全消化,可是教师却生硬地把题目塞给学生,不加梳理和设计,这样会挫伤学生的学习热情,只能是事倍功半。久而久之,学生就会产生厌倦情绪。
3.学生在实验中缺乏主动,经常由心理挫败感转为畏惧感
在实践上机环节,学生往往会因为编程编了很长时间,一个小程序稍微错误就运行不出结果而感到非常沮丧,还有的学生在编程中遇到一些问题找不到思路,一旦没有动手解决问题的欲望,干脆就偷偷玩起游戏。这些情况的出现,首先是学生对上机的实验目的没有明确,其次就是教师对实验编程题目的安排缺乏典型陛分析。太简单或太难的题目,或者不是精心设计的,都很难引起学生的兴趣,长此以往,让学生产生了畏惧情绪,更谈不上拓展学生的思维能力了。
二、解决对策以及改革措施探讨
怎样创设效果较好的实验教学情境和题目,让学生产生兴趣去主动学习呢?笔者根据自己的教学实践和探索,采用以下的解决方法。
1.实验过程早期着重演示C语言的功能,引领学生入门,产生兴趣
学生只有对所学课程有浓厚的兴趣,才能积极主动地去完成任务。
在C语言实验教学过程中,从开始的单元就可以向学生展示“C语言能做些什么”。这时教师可从最简单的C语言能解决的问题人手,举例并演示运行部分小的程序。例如:大一学生刚学习掌握的定积分、求解方程的根、计算机基础中的进制转换等,让学生体会,利用C语言编写的小程序就可以实现解,感受C语言的魅力。除此之外,还可向学生展示用vC实现的“图书管理系统”、“五子棋游戏”等带界面的完整系统,演示C语言或者vC对于图形图像程序设计的支持,例如“vC实现的数字图像边缘检测”或“汽车牌照分割与识别系统”;网络编程的应用,比如“小聊天工具的开发”等。这些强大功能,光用课堂上的口头讲解和板书描述是不足以让学生振奋和信服的。在实际演示时,学生对程序中的语句不能理解,但这些程序运行后实现的功能却能让学生一开始就对这门课产生浓厚的兴趣。然后,再让学生从编程工具的使用开始,逐步开始编写简单的C语言程序。这样比从第一节开始就直接上手编程要好得多。
2.从易到难创设实践题目,让学生收获自信,培养长期兴趣
学生对学习C语言有了兴趣,并非就万事大吉了,因为兴趣有可能被磨灭,所以怍为教师就必须想办法延续学生的兴趣。这个过程中,教师所采用的教学方法是最为关键的。
教师可以做如下改革工作:学习完流程结构、函数以及数组之后,就可以对教学内容做适当调整补充,在后期实验中将创设的分单元的有趣题目引入实验练习题目设计中,增强学生的兴趣,让学生在学习的同时,享受动脑的乐趣。
具体地,可以先由教师做分析归纳,找出有特色的、贴近学生生活的、充满趣味性的题目或者案例给学生做。在许多教材中,有趣和贴近现实生活的例题和习题很多,只是没有被系统地归纳而已。教师正好可以下功夫,在备课时充分挖掘这些教材上与教材外与学生生活相关的题目和案例,从简到难,分单元总结典型问题的类型以及求解方法,引导学生逐步掌握知识点和解决问题的方法。在实验中分几个大的单元,让学生循序渐进掌握这些题目。
经过笔者总结,可以将很多趣味性的问题拿出来,做出归纳,然后由简到难分成几个单元,在实验的中后期,让学生进行分单元体验练习编写。部分如表1所示。
例如,有关“数的家族”这个单元,又可以分为“整数家族”和“素数家族”两个小的单元。教材和习题中没有专门对其一一梳理,比如“求数的逆序,求水仙花数,回文数,完数”等,这些在学习循环结构和数组的时候比较典型。配合理论教学,教师可在每个单元中着重讲一个典型例子,其他要求学生分组讨论,并在实验结束后,以小組为单位把单元中的题目结果打印出来。这样寓教于乐,在上机实验时也不会感觉无事可做。
同样,在教师作了系统总结之后,还可以进一步引导学生对曾经做过的题目自己分析总结,比如有关“方程的根的求解”,可以用三种方法求得解,如“二分法求方程的根”,“梯形法或者牛顿迭代法”等,每种方法又和他们学习的高数知识联系在了一起,使学生能体会到编程的实用效果。每个单元结束后,都要求学生籽总结后的编程题目和解答以实验报告的形式上交,并写出编程心得。
3.适当设置较大难度题目,开发学生潜能,培植学生的思维
在实验教学当中,不仅要增加题目的趣味性,还要适当加大难度。设计题目时不光要有广度还可以根据一定的情况增加深度。教学时增加难度可以刺激智力发展。
太容易的知识激不起学生的学习兴趣。在以上策略实施之后,教师可以相应提出更有深度的题目,由学生当主角,让学生自己解决问题,锻炼他们综合运用知识的能力。适当增加难度,让学生在克服难题的同时,刺激智力和编程能力的提高。例如有关汉诺塔的问题,用递归法和非递归法两种方法都可以解决。教师可以先讲解一种解题方式,让学生实现另外一种方法。
难度较大的应用中,选取和学生生活贴切的问题:比如电梯算法的模拟实现,实现本年度的年历打印等,这些综合性编程题目较复杂,涉及的技巧也很多,在学生有余力的情况下,也可以让学生作为探索陛、提高性的题目来进一步拓宽编程思路,更好地锻炼他们的思维能力。
在教学中发现,学生对“模拟人工法”相关的题目表现出了极大的兴趣。比较有意思的题目如魔术师的猜牌术、常胜将军等,这些题目的设计,激发了池们挑战自我的兴趣,经过指导以及最终编程实现,学生们都感到兴奋不已。
三、实际效果以及今后的改进设想
实际教学中,笔者采用了上述教学方法,并紧紧配合理论教学的过程,与传统的实验教学方法相比,教学效果得到了明显的提高。虽然提出了结合兴趣化的实验教学方法,但并不是说可以不注重“基本功的扎实”。寓教于乐,也不能缺少科学的严谨性和知识的严密性。
在实际的实验教学当中,采用兴趣化的教学方法并不意味着学生上机实验可以光做感兴趣的,要强调并要求学生对于部分应该注意掌握的知识也不能马虎对待。例如在实验中要强调:C语言语法结构很简洁精妙,但要想用好它调试出最终结果,就一定要按照规定来,否则它肯定会“罢工”。也就是说很大部分的细节性概念是必须让学生强化理解并加以记忆的。例如初学C语言的学生应该首先了解C语言关键的杨心概念(结构化、三个执行流程、优先级、指针、文件、共用体、函数、作用域等),只有弄明白了这些才能在今后的学习中游刃有余地把握C语言的精髓。同时,在实验教学中要培养学生良好的学习态度和编程的认真精神,告诉他们学习和写代码的过程要认真,编程是要全身心投入的;要对自己写的代码负责;思考问题和编码要谨慎,不要想当然,每一行都要细细揣摩等等。这样,在培养学生兴趣的同时,还可以在教学中培养他们的注意力、思维能力,更好地发掘他们的想象力、自学探索能力。
参考文献:
[1]牛熠,董阿妮, C语言教学中学生兴趣的培养[J]冻莞理工学院学报(自然科学版),2006,(1).
[2]谭浩强,C语言程序设计教程[M].北京:清华大学出版社,2005.
[3]包玉林浅谈如何提高计算机课堂教学效果[J],辽宁师专学报(自然科学版),2007,9(2
关键词:C语言;教学效果;兴趣
一、大学C语言实验教学中存在的问题
“C语言程序设计”是高校计算机专业及非计算机专业一门重要的基础课程,学生对整门课程掌握情况的好坏对于后续课程的学习有着至关重要的作用。但是,在实际教学实践中,学生往往对该课程的实验环节表现出种种不适应。教师在实验教学中感觉效果不是十分理想。遇到的主要问题及其产生原因归纳如下。
1.学生在实验初期经常会产生茫然感,对编程语言的学习方法不能适应
C语言课程一般是在新生入学不久就开设,是学生接触的计算机编程的入门课程。学生沿用旧的学习方法对于这门新课程有很大的不适应性,在实验中往往不知道该做些什么,产生茫然感。教师可以随着课程的深入不断地去引导学生,初期就需要给学生设计好实验内容,并扭转他们的学习方法。
2.学生容易产生厌倦情绪
产生的原因是教师缺少使用与日常生活相关的有趣问题作为导入和内容设计,吸引不了学生的注意力。很多教师在不了解学生的需求以及掌握程度的情况下盲目教学,学生学习的理论内容还没有完全消化,可是教师却生硬地把题目塞给学生,不加梳理和设计,这样会挫伤学生的学习热情,只能是事倍功半。久而久之,学生就会产生厌倦情绪。
3.学生在实验中缺乏主动,经常由心理挫败感转为畏惧感
在实践上机环节,学生往往会因为编程编了很长时间,一个小程序稍微错误就运行不出结果而感到非常沮丧,还有的学生在编程中遇到一些问题找不到思路,一旦没有动手解决问题的欲望,干脆就偷偷玩起游戏。这些情况的出现,首先是学生对上机的实验目的没有明确,其次就是教师对实验编程题目的安排缺乏典型陛分析。太简单或太难的题目,或者不是精心设计的,都很难引起学生的兴趣,长此以往,让学生产生了畏惧情绪,更谈不上拓展学生的思维能力了。
二、解决对策以及改革措施探讨
怎样创设效果较好的实验教学情境和题目,让学生产生兴趣去主动学习呢?笔者根据自己的教学实践和探索,采用以下的解决方法。
1.实验过程早期着重演示C语言的功能,引领学生入门,产生兴趣
学生只有对所学课程有浓厚的兴趣,才能积极主动地去完成任务。
在C语言实验教学过程中,从开始的单元就可以向学生展示“C语言能做些什么”。这时教师可从最简单的C语言能解决的问题人手,举例并演示运行部分小的程序。例如:大一学生刚学习掌握的定积分、求解方程的根、计算机基础中的进制转换等,让学生体会,利用C语言编写的小程序就可以实现解,感受C语言的魅力。除此之外,还可向学生展示用vC实现的“图书管理系统”、“五子棋游戏”等带界面的完整系统,演示C语言或者vC对于图形图像程序设计的支持,例如“vC实现的数字图像边缘检测”或“汽车牌照分割与识别系统”;网络编程的应用,比如“小聊天工具的开发”等。这些强大功能,光用课堂上的口头讲解和板书描述是不足以让学生振奋和信服的。在实际演示时,学生对程序中的语句不能理解,但这些程序运行后实现的功能却能让学生一开始就对这门课产生浓厚的兴趣。然后,再让学生从编程工具的使用开始,逐步开始编写简单的C语言程序。这样比从第一节开始就直接上手编程要好得多。
2.从易到难创设实践题目,让学生收获自信,培养长期兴趣
学生对学习C语言有了兴趣,并非就万事大吉了,因为兴趣有可能被磨灭,所以怍为教师就必须想办法延续学生的兴趣。这个过程中,教师所采用的教学方法是最为关键的。
教师可以做如下改革工作:学习完流程结构、函数以及数组之后,就可以对教学内容做适当调整补充,在后期实验中将创设的分单元的有趣题目引入实验练习题目设计中,增强学生的兴趣,让学生在学习的同时,享受动脑的乐趣。
具体地,可以先由教师做分析归纳,找出有特色的、贴近学生生活的、充满趣味性的题目或者案例给学生做。在许多教材中,有趣和贴近现实生活的例题和习题很多,只是没有被系统地归纳而已。教师正好可以下功夫,在备课时充分挖掘这些教材上与教材外与学生生活相关的题目和案例,从简到难,分单元总结典型问题的类型以及求解方法,引导学生逐步掌握知识点和解决问题的方法。在实验中分几个大的单元,让学生循序渐进掌握这些题目。
经过笔者总结,可以将很多趣味性的问题拿出来,做出归纳,然后由简到难分成几个单元,在实验的中后期,让学生进行分单元体验练习编写。部分如表1所示。
例如,有关“数的家族”这个单元,又可以分为“整数家族”和“素数家族”两个小的单元。教材和习题中没有专门对其一一梳理,比如“求数的逆序,求水仙花数,回文数,完数”等,这些在学习循环结构和数组的时候比较典型。配合理论教学,教师可在每个单元中着重讲一个典型例子,其他要求学生分组讨论,并在实验结束后,以小組为单位把单元中的题目结果打印出来。这样寓教于乐,在上机实验时也不会感觉无事可做。
同样,在教师作了系统总结之后,还可以进一步引导学生对曾经做过的题目自己分析总结,比如有关“方程的根的求解”,可以用三种方法求得解,如“二分法求方程的根”,“梯形法或者牛顿迭代法”等,每种方法又和他们学习的高数知识联系在了一起,使学生能体会到编程的实用效果。每个单元结束后,都要求学生籽总结后的编程题目和解答以实验报告的形式上交,并写出编程心得。
3.适当设置较大难度题目,开发学生潜能,培植学生的思维
在实验教学当中,不仅要增加题目的趣味性,还要适当加大难度。设计题目时不光要有广度还可以根据一定的情况增加深度。教学时增加难度可以刺激智力发展。
太容易的知识激不起学生的学习兴趣。在以上策略实施之后,教师可以相应提出更有深度的题目,由学生当主角,让学生自己解决问题,锻炼他们综合运用知识的能力。适当增加难度,让学生在克服难题的同时,刺激智力和编程能力的提高。例如有关汉诺塔的问题,用递归法和非递归法两种方法都可以解决。教师可以先讲解一种解题方式,让学生实现另外一种方法。
难度较大的应用中,选取和学生生活贴切的问题:比如电梯算法的模拟实现,实现本年度的年历打印等,这些综合性编程题目较复杂,涉及的技巧也很多,在学生有余力的情况下,也可以让学生作为探索陛、提高性的题目来进一步拓宽编程思路,更好地锻炼他们的思维能力。
在教学中发现,学生对“模拟人工法”相关的题目表现出了极大的兴趣。比较有意思的题目如魔术师的猜牌术、常胜将军等,这些题目的设计,激发了池们挑战自我的兴趣,经过指导以及最终编程实现,学生们都感到兴奋不已。
三、实际效果以及今后的改进设想
实际教学中,笔者采用了上述教学方法,并紧紧配合理论教学的过程,与传统的实验教学方法相比,教学效果得到了明显的提高。虽然提出了结合兴趣化的实验教学方法,但并不是说可以不注重“基本功的扎实”。寓教于乐,也不能缺少科学的严谨性和知识的严密性。
在实际的实验教学当中,采用兴趣化的教学方法并不意味着学生上机实验可以光做感兴趣的,要强调并要求学生对于部分应该注意掌握的知识也不能马虎对待。例如在实验中要强调:C语言语法结构很简洁精妙,但要想用好它调试出最终结果,就一定要按照规定来,否则它肯定会“罢工”。也就是说很大部分的细节性概念是必须让学生强化理解并加以记忆的。例如初学C语言的学生应该首先了解C语言关键的杨心概念(结构化、三个执行流程、优先级、指针、文件、共用体、函数、作用域等),只有弄明白了这些才能在今后的学习中游刃有余地把握C语言的精髓。同时,在实验教学中要培养学生良好的学习态度和编程的认真精神,告诉他们学习和写代码的过程要认真,编程是要全身心投入的;要对自己写的代码负责;思考问题和编码要谨慎,不要想当然,每一行都要细细揣摩等等。这样,在培养学生兴趣的同时,还可以在教学中培养他们的注意力、思维能力,更好地发掘他们的想象力、自学探索能力。
参考文献:
[1]牛熠,董阿妮, C语言教学中学生兴趣的培养[J]冻莞理工学院学报(自然科学版),2006,(1).
[2]谭浩强,C语言程序设计教程[M].北京:清华大学出版社,2005.
[3]包玉林浅谈如何提高计算机课堂教学效果[J],辽宁师专学报(自然科学版),2007,9(2