论文部分内容阅读
摘要:C#已成为非计算机专业的专业基础课程,其传统教学重语法和理论,存在实践教学少、教学效果不佳和学生动手能力差等缺陷。分析总结了传统教学的不足,在此基础上,提出了从优化教师配置、面向应用构建教学体系、构建系列综合问题进行引导式教学三方面来进行主要教学改革的思路。实践表明,该思路能提高教学效果和学生的编程及解决问题的能力。
关键词:C#教学;教学改革;实践
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2012)01-0124-03
当前,计算机技术及其相关基础理论成为了高等院校教学的主要内容之一,不少高校或专业也相继为学生开设了计算机程序设计语言课程,并根据专业背景讲授C、C++、C#、JAVA等不同语言。C#是微软公司发布的一种简单、安全和面向对象的程序设计语言,是专门为NET的应用而开发的语言,是当前软件业的主要应用语言之一,现也成为了多数高校非计算机专业的专业基础课。其教学效果直接影响后期應用和其他相关课程的学习,对于学生在逻辑思维能力上的锻炼、在工作技能方面的提高更有着重要作用。相关资料表明,在当前C#的教学中,存在过分注重语法,教学内容与应用脱节,实践课时偏少,学生入门难,教学效果不佳等不足,学习后,多数学生无法编写系统性程序,更缺乏解决实际问题和综合应用的编程能力。与学校的培养目标及当前国家迫切需要卓越工程师的目标不相适应。为此,综合先前教学经验,我们对其教学进行了改革尝试,并取得了良好的教学效果。
一、C#课程当前教学的不足
1.课程授课时机安排过早,学生入门难。多数高校或专业将C#列为计算机基础知识课程,一般都将该课程或同类课程的教学安排在大学前3学期进行,更有部分高校安排在第1学期。由于C#是一种程序设计语言,涉及较多的计算机硬软件基础技术,安排过早,学生缺乏计算机相关理论或对计算机基础知识的掌握参差不齐,差距很大,加之接触应用软件不多,对软件编程实践缺乏认识,直接学习与学生的认知基础相差较大,学生理解困难。更有部分学生连键盘可能都不熟悉,录入程序缓慢,严重影响了学习教学效率,也给学生造成了很大心理负担。最终使其感到学习难度大,而失去兴趣。其次,安排过早,多数学生还没有自配计算机,缺乏自主学习和练习的条件,不能很好巩固所学知识和弥补课堂课时有限的不足。
2.过分注重语法或理论教学。这是多数高校非计算机专业甚至计算机专业普遍存在的问题。因课时有限,超越学生基础过多,及考试侧重于语法应用,教师的讲授内容偏重于语言本身,主要的讲授重点都放在语法上,当然这也与第(1)方面密切相关。在有限课时内,学生只学到了语法,能基本读懂程序,可应付考试,但缺乏灵活运用和系统理论,根本不理解面向对象理论和数据库应用,更谈不上程序设计,或者只能编写控制台程序。这与实际应用和教学目标大相径庭。也因过分注重语法,反而使学生感觉到该课程很难,记忆理解的东西太多。而事实上,部分较难理解语法规则在一般编程应用中使用频度非常低,如委托。
3.缺乏综合性的教学体系。教学的根本目的在于让学生掌握相关知识,并具有学以致用的能力。这需要通过教学、实践和应用等多个配套环节来实现,也要求有相应的教学条件和内容、方法做支撑。C#传统教学中明显重理论、轻实践,实验上机课时明显少于理论教学课时,缺乏集理论、实验和综合应用的系统性的教学内容体系和相应教学方法,整个环节的实验、教学缺乏引导性,学生上机练习效率不高也无明确的目标,只能一味地抄写书上例题程序,却忽略了其中的关键知识点及其关联性,及编程设计应注重的需求分析、算法设计和调试程序的方法和技能。由于缺乏实际应用环节,也使学生对这门课程的用途认识不足,削弱了其学习兴趣。以上不足忽视了学生的认知规律,使得学生经过多年学习后仍无法掌握这门编程语言,更谈不上编程应用,迫切需要纠正。
二、教学改革思路
教学过程是一个综合性复杂交流的创新过程,应包含计划、分析设计、实施和反馈等诸多环节,C#当前教学的不足,与教学安排、老师、学生基础和教学环境的客观条件都密切相关。但教学安排等因素调整周期长、影响甚大,而行之容易的还应坚持以学生为本,在遵循学生认知规律情况下,以培养学生应用技能为目标进行改革。
1.优化教师配置。教师是教学过程的主导者,教师的知识、实际操作能力和教学风格直接决定了学生对教师的认可度和学习兴趣,也影响教学进度和教学效率。C#作为一种应用性、操作性和时效性较强的课程,涵盖和涉及的知识面广,但针对不同应用环境和背景,要求各不相同,教学中更需要演示,及对学生进行调试程序、算法设计和编程风格方面的培养,但这些最终都受老师控制。因此,在教师配置上应选择好动手实践,尤其是有编程经验的青年教师。根据以往调查,没有编程经验的老师虽然也能完成教学任务,但教学上多以理论、语法教学为主,更缺乏对学生编程好习惯的培养,对学生群体练习中出现的各种各样的问题可能因缺乏经验无法高效处理,加剧了课时和教学任务之间的矛盾。青年教师教学热情高,对计算机技术相对熟悉,也更敏感。这样,老师能把握住重点、难点,并通过实践引导学生分析、编写、调试程序,较好地解决学生练习中存在的问题。在讲解C#某方面知识点的同时,使学生熟知编程的系统性知识,包括需求分析、流程设计、代码编写、调试、注释等,引导学生有良好的编程习惯。
2.面向应用构建教学体系。当前,国家对本科层次的教学目标逐渐向应用为主的工程师转变,因此让学生掌握实际应用技能,具有解决实际问题的能力是本科教学的重点,更何况C#本身就是一门应用性非常强的课程。传统填鸭式教学过分突出了语法和工具的应用,学生感觉枯燥,学习难度大,且学习内容残缺,不系统,学习后无法实际应用。为此,应在教学中突出实践和布置好教学内容,以便在有限时间内较好地实现教学目标。鉴于C#的应用性,其教学体系应包含理论教学和实践两大内容,且应通过实践来理解理论内容。C#涉及的知识点较多,面向不同应用环境其应用知识点却不同,部分基本语法知识点使用频度低,理解困难,教学中虽花费了较多课时但学生掌握得却不够好,在教学中应该弱化。在常规的开发应用中,基本程序设计、面向对象开发方法、界面设计、基本逻辑表达、数据的存取等是核心,因此其教学的知识点可以包括:基本语句、算数运算表达、逻辑运算表达、面向对象理论及其描述方法、界面设计、数据库存取技术及其方法、文件数据存取及其操作,每个大知识点下面又包含若干小知识点,如基本语句里面又包括变量、常量、语句构成等,在以上核心内容基础上,可结合专业需要和课时额度适当增加图形编程、网站编程等方面的教学,将语法重点放在实践中。实践方面应结合教学内容,形成实践教学体系,重点是突出实验地位、增加课时和做好实验内容安排,并与考核结合。我们的做法是:教学与实践融为一体,教学直接安排在机房进行,实施边教学边演示边练习教学,这样课时也因结合了实验而延长,教师可以更灵活安排教学内容,学生则直接巩固了所学知识。实践时主要训练学生录入程序、调试运行程序和解决问题的技能;实践内容包括课本讲解程序和拟定的设计,拟定的设计按3.3部分建设,学生先完成课本讲解程序的录入、运行,完成后再完成拟定设计的内容。这样可同时达到训练学生输入程序速度、掌握调试程序的方法,理解对应知识点和灵活运用解决实际问题的能力,更加深了记忆。为了使学生重视实践,还加重了实践分在考核成绩中的分布,实践分与传统笔试按1:1比例配置,采用与国家计算机等级考试类似的考核方法,即期末考试分上机考试和笔试,学生的实践分值包括平时上机练习分值和期末上机考试分值两部分。
3.构建系列性、层次性问题串联知识点,引导教学。问题引导式教学是一种采用的有效的教学方法。该方法通过构建问题,触发学生思考,激发学生兴趣,然后讲解知识点,能提高学习效果。安排C#课程的目的也主要让学生掌握通过该语言解决工程背景下的管理、控制等问题,因此适合用问题引导方法来布置教学任务。已开展的C#问题式教学多以松散性问题为基础,松散的问题虽然也能激发学生的学习兴趣,但前后知识的关联性不够,问题和知识点不是按需逐步引入的,也不符合学生学习规律。以上3.2部分所列教学内容体系存在很强的关联性,且是面向不同级别、层次和不同时间维度需求的技术或方法,学习后学生可用来实现不同的应用。为了提高效果,在教学实际中,可选择一核心问题展开知识点的布置,基于核心问题,围绕知识点,逐渐增加问题的难度和应用需求,形成一系列有层次的综合性问题,使得整个教学就围绕一个问题背景展开,从而加深学生的记忆,也是学生认识到软件的聚沙成塔的功能演绎规律。教学中,不要过分依赖于书本,要将知识点打乱,配合问题和学生的基础,不断增加问题难度,构建层次性问题。如结合学生信息管理需要和教材的程序,选择向学生问好为核心问题,可构建以下问题:在控制台向具体某个学生问好,向指定的5个学生依次问好,针对5个人中某一指定个人问好,问好时能报出个人住址等其他信息,通过可视化界面问好等;它们逐渐引入和关联了控制台基本程序设计、数组、循环、条件、逻辑判断、面向对象理论、界面设计等知识点。当课程结束时,一旦学生通过练习实践,就形成了一个系统性程序。这对帮助提高学生今后编程兴趣大有裨益。此外,在教学中,教师不要想面面俱到,应以应用频度高的知识点为重点,通过考核方式和实践来发挥学生自主性,完成简单的知识点学习。在教学中,还要把握住节奏。教学初期就应抛出所构建的系列综合问题,让学生了解教学目标和本学期的任务,练习时让学生保存好自己的程序。每堂课开始时应向学生掌握问题进度,并应用新问题引导学生思考,然后再讲解引入的新知识点。
C#是一门应用性较强的专业基础课程。传统教学存在课时安排过早、过分注重语法、缺乏综合性教学体系等不足,造成学生学习难度大,教学效果不佳,学生动手能力差。通过优化教师配置,选择有编程经验的老师教学,面向应用来构建教学体系和构建系列性问题进行引导式教学几个方面的改革,强化了以学生为本和以培养应用工程师为目标的教学原则,优化了教学内容,突出了学生自主学习和实践应用的重要地位,能在相对有限的时间内提高教学效果。为本课程及其他相关课程的改革也供了一些新的思路。
参考文献:
[1]刘方,倪飞舟,左翔.高等医学院校计算机程序设计课程教学探索与实践[J].电脑知识与技术,2009,5(5):1277-1278.
[2]朱民,刘骥宇.C#程序设计教学改革探索[J].电脑知识与技术,2011,7(10):2480-2481.
[3]陸红蕾.基于CDIO的“C#面向对象程序设计”教学改革与实践[J].长沙通信职业技术学院学报,2011,10(2):60-62.
[4]丁海燕.计算机专业高级语言程序设计课程改革方案[J].云南大学学报(自然科学版),2010,32(S1):387-390.
[5]邓建.物流运筹学问题引导式教学方法探讨[J/OL].教师纵横,http://221.7.199.184:8080/e-journal/magazine/32/32-67
8.html,2009.8.
作者简介:邓建新(1979-),男,四川广安人,博士,副教授,广西大学物流工程系教师。
关键词:C#教学;教学改革;实践
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2012)01-0124-03
当前,计算机技术及其相关基础理论成为了高等院校教学的主要内容之一,不少高校或专业也相继为学生开设了计算机程序设计语言课程,并根据专业背景讲授C、C++、C#、JAVA等不同语言。C#是微软公司发布的一种简单、安全和面向对象的程序设计语言,是专门为NET的应用而开发的语言,是当前软件业的主要应用语言之一,现也成为了多数高校非计算机专业的专业基础课。其教学效果直接影响后期應用和其他相关课程的学习,对于学生在逻辑思维能力上的锻炼、在工作技能方面的提高更有着重要作用。相关资料表明,在当前C#的教学中,存在过分注重语法,教学内容与应用脱节,实践课时偏少,学生入门难,教学效果不佳等不足,学习后,多数学生无法编写系统性程序,更缺乏解决实际问题和综合应用的编程能力。与学校的培养目标及当前国家迫切需要卓越工程师的目标不相适应。为此,综合先前教学经验,我们对其教学进行了改革尝试,并取得了良好的教学效果。
一、C#课程当前教学的不足
1.课程授课时机安排过早,学生入门难。多数高校或专业将C#列为计算机基础知识课程,一般都将该课程或同类课程的教学安排在大学前3学期进行,更有部分高校安排在第1学期。由于C#是一种程序设计语言,涉及较多的计算机硬软件基础技术,安排过早,学生缺乏计算机相关理论或对计算机基础知识的掌握参差不齐,差距很大,加之接触应用软件不多,对软件编程实践缺乏认识,直接学习与学生的认知基础相差较大,学生理解困难。更有部分学生连键盘可能都不熟悉,录入程序缓慢,严重影响了学习教学效率,也给学生造成了很大心理负担。最终使其感到学习难度大,而失去兴趣。其次,安排过早,多数学生还没有自配计算机,缺乏自主学习和练习的条件,不能很好巩固所学知识和弥补课堂课时有限的不足。
2.过分注重语法或理论教学。这是多数高校非计算机专业甚至计算机专业普遍存在的问题。因课时有限,超越学生基础过多,及考试侧重于语法应用,教师的讲授内容偏重于语言本身,主要的讲授重点都放在语法上,当然这也与第(1)方面密切相关。在有限课时内,学生只学到了语法,能基本读懂程序,可应付考试,但缺乏灵活运用和系统理论,根本不理解面向对象理论和数据库应用,更谈不上程序设计,或者只能编写控制台程序。这与实际应用和教学目标大相径庭。也因过分注重语法,反而使学生感觉到该课程很难,记忆理解的东西太多。而事实上,部分较难理解语法规则在一般编程应用中使用频度非常低,如委托。
3.缺乏综合性的教学体系。教学的根本目的在于让学生掌握相关知识,并具有学以致用的能力。这需要通过教学、实践和应用等多个配套环节来实现,也要求有相应的教学条件和内容、方法做支撑。C#传统教学中明显重理论、轻实践,实验上机课时明显少于理论教学课时,缺乏集理论、实验和综合应用的系统性的教学内容体系和相应教学方法,整个环节的实验、教学缺乏引导性,学生上机练习效率不高也无明确的目标,只能一味地抄写书上例题程序,却忽略了其中的关键知识点及其关联性,及编程设计应注重的需求分析、算法设计和调试程序的方法和技能。由于缺乏实际应用环节,也使学生对这门课程的用途认识不足,削弱了其学习兴趣。以上不足忽视了学生的认知规律,使得学生经过多年学习后仍无法掌握这门编程语言,更谈不上编程应用,迫切需要纠正。
二、教学改革思路
教学过程是一个综合性复杂交流的创新过程,应包含计划、分析设计、实施和反馈等诸多环节,C#当前教学的不足,与教学安排、老师、学生基础和教学环境的客观条件都密切相关。但教学安排等因素调整周期长、影响甚大,而行之容易的还应坚持以学生为本,在遵循学生认知规律情况下,以培养学生应用技能为目标进行改革。
1.优化教师配置。教师是教学过程的主导者,教师的知识、实际操作能力和教学风格直接决定了学生对教师的认可度和学习兴趣,也影响教学进度和教学效率。C#作为一种应用性、操作性和时效性较强的课程,涵盖和涉及的知识面广,但针对不同应用环境和背景,要求各不相同,教学中更需要演示,及对学生进行调试程序、算法设计和编程风格方面的培养,但这些最终都受老师控制。因此,在教师配置上应选择好动手实践,尤其是有编程经验的青年教师。根据以往调查,没有编程经验的老师虽然也能完成教学任务,但教学上多以理论、语法教学为主,更缺乏对学生编程好习惯的培养,对学生群体练习中出现的各种各样的问题可能因缺乏经验无法高效处理,加剧了课时和教学任务之间的矛盾。青年教师教学热情高,对计算机技术相对熟悉,也更敏感。这样,老师能把握住重点、难点,并通过实践引导学生分析、编写、调试程序,较好地解决学生练习中存在的问题。在讲解C#某方面知识点的同时,使学生熟知编程的系统性知识,包括需求分析、流程设计、代码编写、调试、注释等,引导学生有良好的编程习惯。
2.面向应用构建教学体系。当前,国家对本科层次的教学目标逐渐向应用为主的工程师转变,因此让学生掌握实际应用技能,具有解决实际问题的能力是本科教学的重点,更何况C#本身就是一门应用性非常强的课程。传统填鸭式教学过分突出了语法和工具的应用,学生感觉枯燥,学习难度大,且学习内容残缺,不系统,学习后无法实际应用。为此,应在教学中突出实践和布置好教学内容,以便在有限时间内较好地实现教学目标。鉴于C#的应用性,其教学体系应包含理论教学和实践两大内容,且应通过实践来理解理论内容。C#涉及的知识点较多,面向不同应用环境其应用知识点却不同,部分基本语法知识点使用频度低,理解困难,教学中虽花费了较多课时但学生掌握得却不够好,在教学中应该弱化。在常规的开发应用中,基本程序设计、面向对象开发方法、界面设计、基本逻辑表达、数据的存取等是核心,因此其教学的知识点可以包括:基本语句、算数运算表达、逻辑运算表达、面向对象理论及其描述方法、界面设计、数据库存取技术及其方法、文件数据存取及其操作,每个大知识点下面又包含若干小知识点,如基本语句里面又包括变量、常量、语句构成等,在以上核心内容基础上,可结合专业需要和课时额度适当增加图形编程、网站编程等方面的教学,将语法重点放在实践中。实践方面应结合教学内容,形成实践教学体系,重点是突出实验地位、增加课时和做好实验内容安排,并与考核结合。我们的做法是:教学与实践融为一体,教学直接安排在机房进行,实施边教学边演示边练习教学,这样课时也因结合了实验而延长,教师可以更灵活安排教学内容,学生则直接巩固了所学知识。实践时主要训练学生录入程序、调试运行程序和解决问题的技能;实践内容包括课本讲解程序和拟定的设计,拟定的设计按3.3部分建设,学生先完成课本讲解程序的录入、运行,完成后再完成拟定设计的内容。这样可同时达到训练学生输入程序速度、掌握调试程序的方法,理解对应知识点和灵活运用解决实际问题的能力,更加深了记忆。为了使学生重视实践,还加重了实践分在考核成绩中的分布,实践分与传统笔试按1:1比例配置,采用与国家计算机等级考试类似的考核方法,即期末考试分上机考试和笔试,学生的实践分值包括平时上机练习分值和期末上机考试分值两部分。
3.构建系列性、层次性问题串联知识点,引导教学。问题引导式教学是一种采用的有效的教学方法。该方法通过构建问题,触发学生思考,激发学生兴趣,然后讲解知识点,能提高学习效果。安排C#课程的目的也主要让学生掌握通过该语言解决工程背景下的管理、控制等问题,因此适合用问题引导方法来布置教学任务。已开展的C#问题式教学多以松散性问题为基础,松散的问题虽然也能激发学生的学习兴趣,但前后知识的关联性不够,问题和知识点不是按需逐步引入的,也不符合学生学习规律。以上3.2部分所列教学内容体系存在很强的关联性,且是面向不同级别、层次和不同时间维度需求的技术或方法,学习后学生可用来实现不同的应用。为了提高效果,在教学实际中,可选择一核心问题展开知识点的布置,基于核心问题,围绕知识点,逐渐增加问题的难度和应用需求,形成一系列有层次的综合性问题,使得整个教学就围绕一个问题背景展开,从而加深学生的记忆,也是学生认识到软件的聚沙成塔的功能演绎规律。教学中,不要过分依赖于书本,要将知识点打乱,配合问题和学生的基础,不断增加问题难度,构建层次性问题。如结合学生信息管理需要和教材的程序,选择向学生问好为核心问题,可构建以下问题:在控制台向具体某个学生问好,向指定的5个学生依次问好,针对5个人中某一指定个人问好,问好时能报出个人住址等其他信息,通过可视化界面问好等;它们逐渐引入和关联了控制台基本程序设计、数组、循环、条件、逻辑判断、面向对象理论、界面设计等知识点。当课程结束时,一旦学生通过练习实践,就形成了一个系统性程序。这对帮助提高学生今后编程兴趣大有裨益。此外,在教学中,教师不要想面面俱到,应以应用频度高的知识点为重点,通过考核方式和实践来发挥学生自主性,完成简单的知识点学习。在教学中,还要把握住节奏。教学初期就应抛出所构建的系列综合问题,让学生了解教学目标和本学期的任务,练习时让学生保存好自己的程序。每堂课开始时应向学生掌握问题进度,并应用新问题引导学生思考,然后再讲解引入的新知识点。
C#是一门应用性较强的专业基础课程。传统教学存在课时安排过早、过分注重语法、缺乏综合性教学体系等不足,造成学生学习难度大,教学效果不佳,学生动手能力差。通过优化教师配置,选择有编程经验的老师教学,面向应用来构建教学体系和构建系列性问题进行引导式教学几个方面的改革,强化了以学生为本和以培养应用工程师为目标的教学原则,优化了教学内容,突出了学生自主学习和实践应用的重要地位,能在相对有限的时间内提高教学效果。为本课程及其他相关课程的改革也供了一些新的思路。
参考文献:
[1]刘方,倪飞舟,左翔.高等医学院校计算机程序设计课程教学探索与实践[J].电脑知识与技术,2009,5(5):1277-1278.
[2]朱民,刘骥宇.C#程序设计教学改革探索[J].电脑知识与技术,2011,7(10):2480-2481.
[3]陸红蕾.基于CDIO的“C#面向对象程序设计”教学改革与实践[J].长沙通信职业技术学院学报,2011,10(2):60-62.
[4]丁海燕.计算机专业高级语言程序设计课程改革方案[J].云南大学学报(自然科学版),2010,32(S1):387-390.
[5]邓建.物流运筹学问题引导式教学方法探讨[J/OL].教师纵横,http://221.7.199.184:8080/e-journal/magazine/32/32-67
8.html,2009.8.
作者简介:邓建新(1979-),男,四川广安人,博士,副教授,广西大学物流工程系教师。