论文部分内容阅读
摘要:C语言程序设计是计算机专业必修的一门非常重要的专业基础课。也是一门实践性很强的课。通过这门课程的学习,不仅培养了学生用编程解决实际问题的能力和设计算法的能力,也为学生的后续课程打下基础。本文详细分析了在实际教学过程中存在的一些问题,并从几个方面提出了一些可行的改进方法和建议。
关键词:C语言 教学改革 改革建议
1、引言
C语言程序设计是很多理工科专业。尤其是计算机专业学生必修的一门非常重要的专业基础课。目前全世界的学术界和工业界都在广泛使用C语言编程,大部分的高等教育机构也在使用,C语言也是程序设计类课程的首选语言和用于计算机教育的主要语言。学生通过这门课程,可以掌握程序设计的基本方法。并逐步形成正确的编程思想,能够掌握C语言的编程技巧并具备一定的程序调试能力,这些都可以让学生毕业后很快地投入实际的工作,并为学习C++语言和其他面向对象语言打下扎实的基础。所以如何完善C语言程序设计的教学体系、改进教学方法、保证和提高教学质量和教学效果都是值得我们深入探讨和研究的问题。
2、C语言教学现状分析
C语言程序设计的教学目标是全面系统地介绍C语言的基本语法、掌握C语言程序设计的主要过程和方法,同时对C语言中的数组、函数和指针的使用有一个深刻的认识,能开发具有特定功能的程序,解决一些实际的问题。但大部分的高校C语言程序设计课程的教学效果都不尽如人意。主要存在以下几个方面的问题:
(1)不具备相关的专业基础。由于C语言程序设计是针对低年级学生的一门专业基础课,学生们普遍认为这门课程难度大。听不懂,尤其是刚入学的新生,很多人对最基本的电脑操作都很陌生,对C语言程序设计的学习就更困难了。由于没有一些最基本的专业思想。学生对地址、内存等基本概念的理解不深刻,从而导致了对数组、指针、结构体这三种数据类型的认识和理解困难较大,就是理解了也不能充分应用到编写实际的程序当中:对函数、函数的参数、函数的返回值、函数的调用和递归调用等理解也很吃力。尽管教师费尽唇舌,学生仍然理解得不透彻。致使教学效果不理想。这样无疑对学生后续专业课程的学习设置了一道屏障,不仅对C语言程序设计课程的学习兴趣大大减弱了。同时也对自己能否学好所在专业也产生了怀疑。
(2)实验方面,实验机会少,导致动手能力差。受现有教材的影响,在该课程的前几次课,教师一直在讲纯粹的语法知识,学生看不到一个完整的程序,也不了解这些语法和编程有什么关系,逐渐就丧失了学习兴趣。最终导致学生不爱学,更学不好;同时由于很多学校的学时设置存在理论课时多,实验课时少的情况。不仅不能满足培养学生动手能力的需要,而且会导致理论和实验的严重脱节。无法让学生学以致用,极大地限制了学生编程思维的形成和编程能力的提高,所学习到的知识也不能转化为实际的操作能力。
(3)学生的学习风气和习惯方面,整体学风较差。学习习惯不良。现在学生学习的积极性普遍不高,学习目标和学习动机不明确。尤其是低年级的学生。学习的主动性不高,同时也不知道该怎样自学,怎样通过查阅资料的形式进行课下学习。由于课时的限制,教师课堂上所讲的内容毕竟有限,不可能面面俱到,尤其是上机实验更不可能每个学生都照顾到,这就要求学生课下能积极主动地学习和上机实验,但很少学生能做到。这就导致了学生学习效率和效果低下。
3、改进的方法和建议
针对以上现状和实际教学中存在的问题,我们必须对C语言程序设计的教学进行有效改进。在理论教学、实验教学、树立学生良好的学习习惯等方面提出可行的、更加科学更加有利于学生课程学习的方法和建议。
(1)补充介绍涉及到的基本概念。对于刚入学就学习C语言程序设计的新生或低年级的学生而言。他们的专业知识较薄弱。或者说不具备什么专业知识。这就要求教师在上课的时候要充分考虑到这种情况,对于你认为很容易理解的知识和概念也要进行详细的介绍,而且针对涉及到的一些地址、内存、变量名称、变量值等基本概念要结合具体的实例或者是生活中存在的实例进行详细介绍,这样形象化的实例对于学生理解抽象的专业概念具有很好的教学效果。
在实际的教学过程中,大多数的学校都会运用多媒体课件进行辅助教学,多媒体辅助教学不仅仅是板书和课本概念的另一种展示形式,更可以通过多媒体来演示C程序运行的过程,教师可以在课堂上通过单步调试程序或在程序执行的过程中设置断点来加强学生对函数、函数的参数和函数的调用等抽象概念的理解。通过一步一步演示程序的执行过程和观看执行结果,不仅可以加深学生对概念理解的深度,而且可以充分调动学生学习兴趣和学习积极性。
(2)加强学生的实验。任何一门编程课,离开了实验操作就无从谈起,即使语句写得再严谨,算法设计得再巧妙。没有上机的调试和运行。所有的一切都是“纸上谈兵”。针对实验的重要性,我们可以合理调整实验课的课时量。并且让实验课和理论课的授课时间尽量达到同步,这样有利于学生在学习理论知识的同时,通过实际操作来消化和运用所学到的知识,并且极大提高学生调试程序的能力和实际应用能力。
当然,我们还可以考虑尝试新的实验教学方式:
实验分组制
传统的实验课一般是学生单独完成实验,这种实验机制多少会对基础差的、实际操作能力弱的学生造成一种紧张和排斥的心理,而对基础较好和实际操作能力强的学生造成一种优越和骄傲的心理。针对这种情况,教师可以根据学生的实际情况,按组划分,有针对性地分别设计和布置不同的实验内容,学生可以根据学习程度的好坏,有选择地做实验。同时每组安排一个操作能力强的学生作为组长,予以帮助。通过这种协作学习的方式,学生为了达到小组学习目标,组员之间通过对话、讨论等形式对问题进行讨论和解决,以期获得最好的学习效果。这种学习方式不仅能够提高学生对实验课的积极性,增加学生的学习兴趣。而且可以加强学生之间的交流沟通能力和团队合作精神,而这种能力和精神对于软件开发行业来说是一个非常重要的职业素养。
实验内容的多样化。
对于初学者来说,还没有建立起编程的思维,编写的程序可能会出现较多的错误,当一个简单的程序屡次调试不通的时候,难免会打击学生的积极性,增加学生的挫败感。如果教师能在实验的初期改变传统的从头到尾编程的这种实验题型,改为先给出程序的开头和结尾,让学生填写程序的主体部分;或者让学生填写一个For循环当中最关键的部分以完善整个程序的功能,这样逐渐地培养学生的编程思想和编程能力,对于学生循序渐进地学习第一门编程语言是非常有好处的。
(3)改善教学方法、培养学生的学习习惯。传统的授课方式一般只注重知识的传授,没有强调学生的学习主动性和积极性,而学习的主动性、积极性和自学能力对于大学生来说是非常重要的。所以教师在C语言程序设计的教学过程中,是否能够充分发挥和调动学生的积极性和主动性是一个非常重要的教学环节。在初学时,教师可以在授课结束时针对本次授课内容提出一些思考题,让学生利用课余时间去思考和讨论,也可以通过查阅资料的方式,寻找答案。教师在下次课堂中抽出几分钟组织学生发言和讨论,这种方式不仅可以让学生获得很多的课外知识,而且可以充分调动学生的学习热情和学习积极性,培养学生的自学能力,尤其对于学有余力的学生,要提供高于课堂学习难度的扩展空间,鼓励他们进行自学,并给予方向性指导,让他们超前学习。
(4)重视算法和编程思想的建立。在教学过程中,我们发现学生在学习C语言的过程中,经常出现能够理解书上的例题,教师的课堂讲授也很清楚,但面对具体的编程题目就感到无从下手的问题。这些都是学生没有掌握如何分析问题和设计算法的能力,同时对于初学者来说阅读的代码量也较少,没有建立起编程的思想。因此在教学过程中应着重对算法进行多方面的讲解。尤其是对于一些经典的算法要加以总结和归纳,让学生进行重点学习和记忆。学生在掌握这些算法的基础上,进行一些有针对的实验练习,并在此基础上加以延伸和扩展,就可以逐渐地培养起一种编程的思维。
同时,要想较快地提高编程能力、培养编程思想,读程序也是一种有效的学习途径,学生对于每章的所有例程,都仔细地研读,直到每一行都理解了。然后找几个相关的编程题目,自己试着写出这段已经读懂的程序,如果写不出,再回头继续研究例程,如此反复。直到面对相同类型的题目,都能很快地给出代码。
4、结语
C语言程序设计的教学目的。不仅仅是要掌握C语言的基本规则和语法,更要帮助学生建立起编程的思维,提高他们用编程解决实际问题的能力和设计算法的能力。对于C语言程序设计这样一门专业的基础骨干课,它的课程教学的讨论还将继续。作者只是根据自己的教学经验和体会,提出了实际存在的问题和改进办法,并在实际的教学过程中得到了验证,不足之处还会继续探讨研究。
关键词:C语言 教学改革 改革建议
1、引言
C语言程序设计是很多理工科专业。尤其是计算机专业学生必修的一门非常重要的专业基础课。目前全世界的学术界和工业界都在广泛使用C语言编程,大部分的高等教育机构也在使用,C语言也是程序设计类课程的首选语言和用于计算机教育的主要语言。学生通过这门课程,可以掌握程序设计的基本方法。并逐步形成正确的编程思想,能够掌握C语言的编程技巧并具备一定的程序调试能力,这些都可以让学生毕业后很快地投入实际的工作,并为学习C++语言和其他面向对象语言打下扎实的基础。所以如何完善C语言程序设计的教学体系、改进教学方法、保证和提高教学质量和教学效果都是值得我们深入探讨和研究的问题。
2、C语言教学现状分析
C语言程序设计的教学目标是全面系统地介绍C语言的基本语法、掌握C语言程序设计的主要过程和方法,同时对C语言中的数组、函数和指针的使用有一个深刻的认识,能开发具有特定功能的程序,解决一些实际的问题。但大部分的高校C语言程序设计课程的教学效果都不尽如人意。主要存在以下几个方面的问题:
(1)不具备相关的专业基础。由于C语言程序设计是针对低年级学生的一门专业基础课,学生们普遍认为这门课程难度大。听不懂,尤其是刚入学的新生,很多人对最基本的电脑操作都很陌生,对C语言程序设计的学习就更困难了。由于没有一些最基本的专业思想。学生对地址、内存等基本概念的理解不深刻,从而导致了对数组、指针、结构体这三种数据类型的认识和理解困难较大,就是理解了也不能充分应用到编写实际的程序当中:对函数、函数的参数、函数的返回值、函数的调用和递归调用等理解也很吃力。尽管教师费尽唇舌,学生仍然理解得不透彻。致使教学效果不理想。这样无疑对学生后续专业课程的学习设置了一道屏障,不仅对C语言程序设计课程的学习兴趣大大减弱了。同时也对自己能否学好所在专业也产生了怀疑。
(2)实验方面,实验机会少,导致动手能力差。受现有教材的影响,在该课程的前几次课,教师一直在讲纯粹的语法知识,学生看不到一个完整的程序,也不了解这些语法和编程有什么关系,逐渐就丧失了学习兴趣。最终导致学生不爱学,更学不好;同时由于很多学校的学时设置存在理论课时多,实验课时少的情况。不仅不能满足培养学生动手能力的需要,而且会导致理论和实验的严重脱节。无法让学生学以致用,极大地限制了学生编程思维的形成和编程能力的提高,所学习到的知识也不能转化为实际的操作能力。
(3)学生的学习风气和习惯方面,整体学风较差。学习习惯不良。现在学生学习的积极性普遍不高,学习目标和学习动机不明确。尤其是低年级的学生。学习的主动性不高,同时也不知道该怎样自学,怎样通过查阅资料的形式进行课下学习。由于课时的限制,教师课堂上所讲的内容毕竟有限,不可能面面俱到,尤其是上机实验更不可能每个学生都照顾到,这就要求学生课下能积极主动地学习和上机实验,但很少学生能做到。这就导致了学生学习效率和效果低下。
3、改进的方法和建议
针对以上现状和实际教学中存在的问题,我们必须对C语言程序设计的教学进行有效改进。在理论教学、实验教学、树立学生良好的学习习惯等方面提出可行的、更加科学更加有利于学生课程学习的方法和建议。
(1)补充介绍涉及到的基本概念。对于刚入学就学习C语言程序设计的新生或低年级的学生而言。他们的专业知识较薄弱。或者说不具备什么专业知识。这就要求教师在上课的时候要充分考虑到这种情况,对于你认为很容易理解的知识和概念也要进行详细的介绍,而且针对涉及到的一些地址、内存、变量名称、变量值等基本概念要结合具体的实例或者是生活中存在的实例进行详细介绍,这样形象化的实例对于学生理解抽象的专业概念具有很好的教学效果。
在实际的教学过程中,大多数的学校都会运用多媒体课件进行辅助教学,多媒体辅助教学不仅仅是板书和课本概念的另一种展示形式,更可以通过多媒体来演示C程序运行的过程,教师可以在课堂上通过单步调试程序或在程序执行的过程中设置断点来加强学生对函数、函数的参数和函数的调用等抽象概念的理解。通过一步一步演示程序的执行过程和观看执行结果,不仅可以加深学生对概念理解的深度,而且可以充分调动学生学习兴趣和学习积极性。
(2)加强学生的实验。任何一门编程课,离开了实验操作就无从谈起,即使语句写得再严谨,算法设计得再巧妙。没有上机的调试和运行。所有的一切都是“纸上谈兵”。针对实验的重要性,我们可以合理调整实验课的课时量。并且让实验课和理论课的授课时间尽量达到同步,这样有利于学生在学习理论知识的同时,通过实际操作来消化和运用所学到的知识,并且极大提高学生调试程序的能力和实际应用能力。
当然,我们还可以考虑尝试新的实验教学方式:
实验分组制
传统的实验课一般是学生单独完成实验,这种实验机制多少会对基础差的、实际操作能力弱的学生造成一种紧张和排斥的心理,而对基础较好和实际操作能力强的学生造成一种优越和骄傲的心理。针对这种情况,教师可以根据学生的实际情况,按组划分,有针对性地分别设计和布置不同的实验内容,学生可以根据学习程度的好坏,有选择地做实验。同时每组安排一个操作能力强的学生作为组长,予以帮助。通过这种协作学习的方式,学生为了达到小组学习目标,组员之间通过对话、讨论等形式对问题进行讨论和解决,以期获得最好的学习效果。这种学习方式不仅能够提高学生对实验课的积极性,增加学生的学习兴趣。而且可以加强学生之间的交流沟通能力和团队合作精神,而这种能力和精神对于软件开发行业来说是一个非常重要的职业素养。
实验内容的多样化。
对于初学者来说,还没有建立起编程的思维,编写的程序可能会出现较多的错误,当一个简单的程序屡次调试不通的时候,难免会打击学生的积极性,增加学生的挫败感。如果教师能在实验的初期改变传统的从头到尾编程的这种实验题型,改为先给出程序的开头和结尾,让学生填写程序的主体部分;或者让学生填写一个For循环当中最关键的部分以完善整个程序的功能,这样逐渐地培养学生的编程思想和编程能力,对于学生循序渐进地学习第一门编程语言是非常有好处的。
(3)改善教学方法、培养学生的学习习惯。传统的授课方式一般只注重知识的传授,没有强调学生的学习主动性和积极性,而学习的主动性、积极性和自学能力对于大学生来说是非常重要的。所以教师在C语言程序设计的教学过程中,是否能够充分发挥和调动学生的积极性和主动性是一个非常重要的教学环节。在初学时,教师可以在授课结束时针对本次授课内容提出一些思考题,让学生利用课余时间去思考和讨论,也可以通过查阅资料的方式,寻找答案。教师在下次课堂中抽出几分钟组织学生发言和讨论,这种方式不仅可以让学生获得很多的课外知识,而且可以充分调动学生的学习热情和学习积极性,培养学生的自学能力,尤其对于学有余力的学生,要提供高于课堂学习难度的扩展空间,鼓励他们进行自学,并给予方向性指导,让他们超前学习。
(4)重视算法和编程思想的建立。在教学过程中,我们发现学生在学习C语言的过程中,经常出现能够理解书上的例题,教师的课堂讲授也很清楚,但面对具体的编程题目就感到无从下手的问题。这些都是学生没有掌握如何分析问题和设计算法的能力,同时对于初学者来说阅读的代码量也较少,没有建立起编程的思想。因此在教学过程中应着重对算法进行多方面的讲解。尤其是对于一些经典的算法要加以总结和归纳,让学生进行重点学习和记忆。学生在掌握这些算法的基础上,进行一些有针对的实验练习,并在此基础上加以延伸和扩展,就可以逐渐地培养起一种编程的思维。
同时,要想较快地提高编程能力、培养编程思想,读程序也是一种有效的学习途径,学生对于每章的所有例程,都仔细地研读,直到每一行都理解了。然后找几个相关的编程题目,自己试着写出这段已经读懂的程序,如果写不出,再回头继续研究例程,如此反复。直到面对相同类型的题目,都能很快地给出代码。
4、结语
C语言程序设计的教学目的。不仅仅是要掌握C语言的基本规则和语法,更要帮助学生建立起编程的思维,提高他们用编程解决实际问题的能力和设计算法的能力。对于C语言程序设计这样一门专业的基础骨干课,它的课程教学的讨论还将继续。作者只是根据自己的教学经验和体会,提出了实际存在的问题和改进办法,并在实际的教学过程中得到了验证,不足之处还会继续探讨研究。