论文部分内容阅读
摘要:《C语言程序设计》课程,是计算机科学与技术专业本科的一门必修课,也是一门实践性很强的课程,有较高的实验要求。旧有的教学模式很难将的知识传授给学生,传统的教学方法和手段已不能适应发展的需要,我们在C语言程序设计课程的教学中引入改革措施,首先编写教材,并在实验教学环节进行一系列的改革措施,得到了较好的效果。
关键词:《C语言程序设计》;教材建设;教学改革;教学模式
中图分类号:TP312文献标识码:A文章编号:1009-3044(2007)04-11170-02
1 引言
程序设计作为计算机等有关专业必修的一门重要的专业技术课程,是信息系统学科的一门核心课程,是一门理论性和实践性都很强的课程。C语言程序设计是理工科各专业计算机应用能力培养的重要技术基础。C语言既具有低级语言可直接访问内存地址、能进行位操作、程序运行效率高的优点,又具有高级语言运算符和数据类型丰富、结构化控制语句功能强、可移植性好的优点,成为程序设计语言的常青树。C语言课程是数据结构、C++面向对象程序设计、操作系统和软件工程等课程的基础,并可为这些课程提供实践工具。
C语言是一门实用性的语言。其实验教学环节作为C语言程序设计课程教学中一个十分重要的教学环节,对于实现课程教学的目标起着重要的作用,是理论联系实际的必需的手段,对于理工科大学接受系统的实验方法和实践技能训练,培养科学实验能力是很好的锻炼,学生经过C语言程序设计实验教学环节后对于C语言程序设计理论知识的“三基”(基本理论、基本方法、基本手段)才会有更为深刻地理解。
传统的教学方法中,程序实验环节只是配合每一章所学的内容进行在计算机上的实践,这样的方法让学生只是孤立的了解了某些C语言程序设计知识,所涉及的知识面较窄,缺少学科的综合性,而且动手能力很差,无法将实际的具体问题和C语言程序设计知识联系起来。学生的学习兴趣不高,教学效果较差。为了改变这一现状,我们对C语言程序设计实验教学的实验教学观念、实验教学内容、实验教学的组织方式和实验教学的手段进行改革性的探索和实践,将教学的目的变为理论和实践并重,以提高学生的实用的掌握这门语言的能力。
2 教学改革方法
针对这些问题,我们在教学中进行了大胆的探索和尝试,主要从以下几个方面进行的:
2.1 加强教材建设
在教学工作中,我们主张讲授要少而精,而选择教材则应在广度和深度上留有较大的余地。在高等学校中应该提倡老师讲授的内容和课时不要太多,为学生提供的教材和学习材料则应该尽量多,并且有一定的深度。这样,才可能让学生有充分的主动学习的空间,使学生在花费精力学习不同课程时有较大的选择余地,同时,学生学习这门课程的能力和兴趣往往差别很大,对于水平高有兴趣的同学,应该为他们创造深入学习的条件。教材应该是一个学习园地,而不是讲稿,老师的讲课好像是导游,为学生的游览(学习)提供指导。讲授的内容不可能与教材的内容相一致,正是这种不一致性,使得学生获得了较大的独立学习的空间,这样培养出来的人才,才可能有较强的学习和创新能力。我们将“少课时,大教材”作为教学改革的一项措施,认为教材应该为学生留有主动学习的空间,这样有利于加强素质教育,从而提高教学质量。
另外,我们针对当前市场上课本的鱼龙混杂的情况,常常在语言的细节上浪费笔墨,这样不但容易使得初学者迷失在这些复杂而庞大的细枝末节上,而且不能很好的掌握C语言程序设计的实质。我们根据自己多年来从事C语言程序设计语言教学的经验和实际开发软件项目所积累的丰富的软件开发经验编写教材。强调程序设计方法和技巧的掌握比对语言细节的理解重要得多,而对语言细节的透彻理解只有通过大量的时间和长期的编程实践才能获得。我们编写《C语言程序设计》教材使学生能在较短的时间内理解C语言程序设计的基本概念并掌握C语言程序设计的方法,初步培养学生按C语言的思想方式分析和解决问题的思维习惯。
2.2 编程实践环节驱动的教学模式
上机编程实践是学好C程序设计语言的关键。“精讲多练”式教学方法的基本特点是上机时数较多。上机实践是掌握Visual C++的一种有效途径,我们在教学中采用1.5:1的模式,即每上3课时的理论课,安排2课时的上机实践。在讲授理论课时,还要针对自学部分和调试技术等内容进行简短的指导, 然后学生在教师指导下上机练习。
2.2.1 重视C语言的上机编译环境的运用
C 语言的理论知识是以实践作为依据的,一个程序的执行过程涵盖该程序所有知识点。我们机房提供了TurboC 2.0、WinTC、Visual C++6.0三种C语言的编译和运行环境。我们认为WinTC虽然基于windows环境,操作简单,但调试功能不强。我们采用Visual C++6.0集成开发环境,强调利用调试工具帮助编程者去思考程序,我们强调单步执行功能(step in、step out、step over)、设置断点(breakpoint)、添加变量监视框(Add Watch)的运用,这样可以对程序执行过程进行跟踪监视,可以帮助学生更好的理解程序中的分支结构、循环结构和函数的虚参实参调用等C语言的知识点,从而弥补课堂教学的距离感和枯燥感,使学生学的更有兴趣,更为主动,掌握的知识也更全面。
2.2.2 重视对警告信息的改正
学生通过课堂和书本的学习,编出来的C语言程序,在实际上机运行时可能会不断出现麻烦,特别在编译程序时计算机会检测出许多错误,这时的错误可大致分为语法错误和语义错误,我们认为学习C语言就是一个发现错误和改正错误的过程,强调学生自己的去发现和改正错误。Visual C++6.0集成开发环境会提示两种信息,一种信息为错误信息,另一种信息为警告信息。一般情况下只要将错误信息改正过来,程序就能通过运行给出结果,这样警告信息往往会被忽略。我们在实践教学中要求学生将警告信息与错误信息一样重视,在调试过程中遇到警告信息必须改正,因为警告信息的出现说明了学生对知识点理解的偏差,让学生通过改正警告信息来正确的理解理论知识,会给学生留下深刻印象,在进一步理解理论知识的同时培养学生严肃、认真的科学态度。
2.3 综合性“大作业”的引入
我们在实验教学的开始就引入软件工程的理念,强调学生们从一开始了解到养成良好的软件设计规范的重要性。我们在实验内容上引入面向对象的软件思想和软件工程的理念,将C语言课程和软件工程紧密的有机联系起来,要求学生按照软件工程的思想去分析设计实现一个具体的MIS系统。
具体说来,我们的实践教学分为以下几个环节:
第一阶段,学习C语言的各个理论知识点和熟悉VisualC++6.0的开发环境。
第二阶段,我们在第一段学习的基础上,引入综合性“大作业”。先由教师给出实验题目,提出具体要求,而后学生根据要求查阅相关的书籍资料,写出实验原理、实验方法步骤交给教师批阅;师生一起讨论,确定实验方案;然后在限定的时间内进行实验,并写出相关的系统的分析、设计、实现等实验报告,然后分组讨论,最后进行集体的总结交流,初步掌握C语言软件系统的设计方法和步骤,锻炼学生灵活运用C语言开发语言进行软件开发的初步能力。
大作业的具体内容如下:
Step 1:教师给学生讲解大作业的题目要求,要求学生在选好题目的基础上,认真研究题目要求,自行查阅有关资料,实行系统的需求分析,总体框架设计;
Step 2:完成C语言的设计,建立C语言;
Step 3:编写界面,要求完成各个功能单元的实现和调试;
Step 4:联编调试,要求把各个功能块联编起来进行调试;
Step 5:上机检查;
Step 6:实验报告软件文档。
第三阶段,继续完善实际系统的开发。本阶段主要让学生在注重基本功能的实现的基础上,对其所完成的软件进行正确性的测试和进行必要的包装设计。
在实验教学中,我们突出以项目训练为主的教学实践。我们使用项目驱动的教学方法,针对学习目标设计问题与任务,将所要学习的概念技巧蕴含在所要解决的问题之中,通过解决问题,从中发现知识点和实践技巧。我们通过实例讲解,系统开发与调试的基本方法的讲解,使得学生从实际中学习。
2.3 采用教学网站作为教学的辅助方法
目前,计算机和互联网已渗透到各个领域。我们可以充分利用互联网的优势,设计网络课件来提高学生的自学与复习的积极性,开辟新的教学与复习手段,使学生学习和巩固知识的渠道多样化,进而提高我们的教学质量。网络课件主要具有两方面的功能:留言板和网络题库。学生可在网络课件留言板中提出问题,教师可在短时间内在留言板中给予答复,实现老师与学生的相互留言,发表通知公告或进行解惑。特别是学生都会遇到的共性问题,教师一旦在留言板上留言,就不需再为每个人分别解答了。网络题库是检验学生每章或每节课阶段性成果的有力工具,它可使学生尽快知道自己哪一方面不足,还有待加强。通过网络课件这样的辅助教学方法,既提高了学生的学习兴趣,又提高了教师的工作效率和教学效果。
2.4 考核方式的改革
考核在教学过程中起着重要的作用。对教师来说,它是教师了解学生学习状况、因材施教的基本依据;对学生来说,它是学生自我评价的依据。
我们认为,在实验教学中加强基本实验方法基本技能和实验过程的规范训练要比掌握一些具体的实验操作更为重要。因此,我们从实验教学的特点和培养学生实践能力的角度出发,重视学生基本实验方法和实验过程的规范操作,突出实验能力的培养,弱化实验结果的评审。
3 结束语
通过我们不断改进教学方法,完善教学手段,学生学习的自觉性、主动性有了很大的提高。上机实验和机考的程序调试通过率也有明显提高。这些表明我们的探索得到大部分学生的认可,受到了老师的普遍欢迎,通过对学生的调查中,大多数学生认为是他们对于课本知识理解更加深入了,他们的主动思考问题的能力也得到了提高 。教师们也普遍反映《C语言程序设计》的教学质量和教学效果得到极大的提高。
参考文献:
[1] 王曙燕. C语言程序设计[M]. 北京:科学出版社,2005.
[2] 房鼎益,等. 计算机科学与技术专业面向21世纪教学改革与新教学计划[J]. 计算机科学,1999,6(2):153-155.
[3] 沈天晴,刘维富等. VC程序设计基础课程实践教学方法的探讨[J]. 南通大学学报(教学科学版),2005,21(3):88-91.
[4] 沈备军,顾春华. 软件工程教学模式的研究和实践[J]. 计算机教育,2005,1:40-42.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:《C语言程序设计》;教材建设;教学改革;教学模式
中图分类号:TP312文献标识码:A文章编号:1009-3044(2007)04-11170-02
1 引言
程序设计作为计算机等有关专业必修的一门重要的专业技术课程,是信息系统学科的一门核心课程,是一门理论性和实践性都很强的课程。C语言程序设计是理工科各专业计算机应用能力培养的重要技术基础。C语言既具有低级语言可直接访问内存地址、能进行位操作、程序运行效率高的优点,又具有高级语言运算符和数据类型丰富、结构化控制语句功能强、可移植性好的优点,成为程序设计语言的常青树。C语言课程是数据结构、C++面向对象程序设计、操作系统和软件工程等课程的基础,并可为这些课程提供实践工具。
C语言是一门实用性的语言。其实验教学环节作为C语言程序设计课程教学中一个十分重要的教学环节,对于实现课程教学的目标起着重要的作用,是理论联系实际的必需的手段,对于理工科大学接受系统的实验方法和实践技能训练,培养科学实验能力是很好的锻炼,学生经过C语言程序设计实验教学环节后对于C语言程序设计理论知识的“三基”(基本理论、基本方法、基本手段)才会有更为深刻地理解。
传统的教学方法中,程序实验环节只是配合每一章所学的内容进行在计算机上的实践,这样的方法让学生只是孤立的了解了某些C语言程序设计知识,所涉及的知识面较窄,缺少学科的综合性,而且动手能力很差,无法将实际的具体问题和C语言程序设计知识联系起来。学生的学习兴趣不高,教学效果较差。为了改变这一现状,我们对C语言程序设计实验教学的实验教学观念、实验教学内容、实验教学的组织方式和实验教学的手段进行改革性的探索和实践,将教学的目的变为理论和实践并重,以提高学生的实用的掌握这门语言的能力。
2 教学改革方法
针对这些问题,我们在教学中进行了大胆的探索和尝试,主要从以下几个方面进行的:
2.1 加强教材建设
在教学工作中,我们主张讲授要少而精,而选择教材则应在广度和深度上留有较大的余地。在高等学校中应该提倡老师讲授的内容和课时不要太多,为学生提供的教材和学习材料则应该尽量多,并且有一定的深度。这样,才可能让学生有充分的主动学习的空间,使学生在花费精力学习不同课程时有较大的选择余地,同时,学生学习这门课程的能力和兴趣往往差别很大,对于水平高有兴趣的同学,应该为他们创造深入学习的条件。教材应该是一个学习园地,而不是讲稿,老师的讲课好像是导游,为学生的游览(学习)提供指导。讲授的内容不可能与教材的内容相一致,正是这种不一致性,使得学生获得了较大的独立学习的空间,这样培养出来的人才,才可能有较强的学习和创新能力。我们将“少课时,大教材”作为教学改革的一项措施,认为教材应该为学生留有主动学习的空间,这样有利于加强素质教育,从而提高教学质量。
另外,我们针对当前市场上课本的鱼龙混杂的情况,常常在语言的细节上浪费笔墨,这样不但容易使得初学者迷失在这些复杂而庞大的细枝末节上,而且不能很好的掌握C语言程序设计的实质。我们根据自己多年来从事C语言程序设计语言教学的经验和实际开发软件项目所积累的丰富的软件开发经验编写教材。强调程序设计方法和技巧的掌握比对语言细节的理解重要得多,而对语言细节的透彻理解只有通过大量的时间和长期的编程实践才能获得。我们编写《C语言程序设计》教材使学生能在较短的时间内理解C语言程序设计的基本概念并掌握C语言程序设计的方法,初步培养学生按C语言的思想方式分析和解决问题的思维习惯。
2.2 编程实践环节驱动的教学模式
上机编程实践是学好C程序设计语言的关键。“精讲多练”式教学方法的基本特点是上机时数较多。上机实践是掌握Visual C++的一种有效途径,我们在教学中采用1.5:1的模式,即每上3课时的理论课,安排2课时的上机实践。在讲授理论课时,还要针对自学部分和调试技术等内容进行简短的指导, 然后学生在教师指导下上机练习。
2.2.1 重视C语言的上机编译环境的运用
C 语言的理论知识是以实践作为依据的,一个程序的执行过程涵盖该程序所有知识点。我们机房提供了TurboC 2.0、WinTC、Visual C++6.0三种C语言的编译和运行环境。我们认为WinTC虽然基于windows环境,操作简单,但调试功能不强。我们采用Visual C++6.0集成开发环境,强调利用调试工具帮助编程者去思考程序,我们强调单步执行功能(step in、step out、step over)、设置断点(breakpoint)、添加变量监视框(Add Watch)的运用,这样可以对程序执行过程进行跟踪监视,可以帮助学生更好的理解程序中的分支结构、循环结构和函数的虚参实参调用等C语言的知识点,从而弥补课堂教学的距离感和枯燥感,使学生学的更有兴趣,更为主动,掌握的知识也更全面。
2.2.2 重视对警告信息的改正
学生通过课堂和书本的学习,编出来的C语言程序,在实际上机运行时可能会不断出现麻烦,特别在编译程序时计算机会检测出许多错误,这时的错误可大致分为语法错误和语义错误,我们认为学习C语言就是一个发现错误和改正错误的过程,强调学生自己的去发现和改正错误。Visual C++6.0集成开发环境会提示两种信息,一种信息为错误信息,另一种信息为警告信息。一般情况下只要将错误信息改正过来,程序就能通过运行给出结果,这样警告信息往往会被忽略。我们在实践教学中要求学生将警告信息与错误信息一样重视,在调试过程中遇到警告信息必须改正,因为警告信息的出现说明了学生对知识点理解的偏差,让学生通过改正警告信息来正确的理解理论知识,会给学生留下深刻印象,在进一步理解理论知识的同时培养学生严肃、认真的科学态度。
2.3 综合性“大作业”的引入
我们在实验教学的开始就引入软件工程的理念,强调学生们从一开始了解到养成良好的软件设计规范的重要性。我们在实验内容上引入面向对象的软件思想和软件工程的理念,将C语言课程和软件工程紧密的有机联系起来,要求学生按照软件工程的思想去分析设计实现一个具体的MIS系统。
具体说来,我们的实践教学分为以下几个环节:
第一阶段,学习C语言的各个理论知识点和熟悉VisualC++6.0的开发环境。
第二阶段,我们在第一段学习的基础上,引入综合性“大作业”。先由教师给出实验题目,提出具体要求,而后学生根据要求查阅相关的书籍资料,写出实验原理、实验方法步骤交给教师批阅;师生一起讨论,确定实验方案;然后在限定的时间内进行实验,并写出相关的系统的分析、设计、实现等实验报告,然后分组讨论,最后进行集体的总结交流,初步掌握C语言软件系统的设计方法和步骤,锻炼学生灵活运用C语言开发语言进行软件开发的初步能力。
大作业的具体内容如下:
Step 1:教师给学生讲解大作业的题目要求,要求学生在选好题目的基础上,认真研究题目要求,自行查阅有关资料,实行系统的需求分析,总体框架设计;
Step 2:完成C语言的设计,建立C语言;
Step 3:编写界面,要求完成各个功能单元的实现和调试;
Step 4:联编调试,要求把各个功能块联编起来进行调试;
Step 5:上机检查;
Step 6:实验报告软件文档。
第三阶段,继续完善实际系统的开发。本阶段主要让学生在注重基本功能的实现的基础上,对其所完成的软件进行正确性的测试和进行必要的包装设计。
在实验教学中,我们突出以项目训练为主的教学实践。我们使用项目驱动的教学方法,针对学习目标设计问题与任务,将所要学习的概念技巧蕴含在所要解决的问题之中,通过解决问题,从中发现知识点和实践技巧。我们通过实例讲解,系统开发与调试的基本方法的讲解,使得学生从实际中学习。
2.3 采用教学网站作为教学的辅助方法
目前,计算机和互联网已渗透到各个领域。我们可以充分利用互联网的优势,设计网络课件来提高学生的自学与复习的积极性,开辟新的教学与复习手段,使学生学习和巩固知识的渠道多样化,进而提高我们的教学质量。网络课件主要具有两方面的功能:留言板和网络题库。学生可在网络课件留言板中提出问题,教师可在短时间内在留言板中给予答复,实现老师与学生的相互留言,发表通知公告或进行解惑。特别是学生都会遇到的共性问题,教师一旦在留言板上留言,就不需再为每个人分别解答了。网络题库是检验学生每章或每节课阶段性成果的有力工具,它可使学生尽快知道自己哪一方面不足,还有待加强。通过网络课件这样的辅助教学方法,既提高了学生的学习兴趣,又提高了教师的工作效率和教学效果。
2.4 考核方式的改革
考核在教学过程中起着重要的作用。对教师来说,它是教师了解学生学习状况、因材施教的基本依据;对学生来说,它是学生自我评价的依据。
我们认为,在实验教学中加强基本实验方法基本技能和实验过程的规范训练要比掌握一些具体的实验操作更为重要。因此,我们从实验教学的特点和培养学生实践能力的角度出发,重视学生基本实验方法和实验过程的规范操作,突出实验能力的培养,弱化实验结果的评审。
3 结束语
通过我们不断改进教学方法,完善教学手段,学生学习的自觉性、主动性有了很大的提高。上机实验和机考的程序调试通过率也有明显提高。这些表明我们的探索得到大部分学生的认可,受到了老师的普遍欢迎,通过对学生的调查中,大多数学生认为是他们对于课本知识理解更加深入了,他们的主动思考问题的能力也得到了提高 。教师们也普遍反映《C语言程序设计》的教学质量和教学效果得到极大的提高。
参考文献:
[1] 王曙燕. C语言程序设计[M]. 北京:科学出版社,2005.
[2] 房鼎益,等. 计算机科学与技术专业面向21世纪教学改革与新教学计划[J]. 计算机科学,1999,6(2):153-155.
[3] 沈天晴,刘维富等. VC程序设计基础课程实践教学方法的探讨[J]. 南通大学学报(教学科学版),2005,21(3):88-91.
[4] 沈备军,顾春华. 软件工程教学模式的研究和实践[J]. 计算机教育,2005,1:40-42.
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。