论文部分内容阅读
摘要:C语言程序设计是高等农业院校非计算机专业的一门重要基础课程,也是一门实践性很强的课程。针对该课程难教、难学的现象,笔者结合实际从教学方法、教学手段、与专业结合、充分利用网络、改革考核办法等方面做了大胆的改革尝试工作,取得了良好的教学效果。
关键词:C语言;教学改革;教学方法
中图分类号:G640文献标识码:A 文章编号:1009-3044(2008)05-10000-00
1 引言
C语言是目前国内外最广泛使用的程序设计语言之一。它具有丰富功能、表达能力强、使用方便灵活、执行程序效率高、可移植性强等优点;既能实现高级语言的功能,又能完成汇编语言的功能[1,2]。它具有较强的系统处理能力,可直接实现对系统硬件和外部接口的控制。因此,它被广泛地用于系统软件和应用软件的开发[3,4]。同时在高等农业院校非计算机专业中《C语言程序设计》也被作为一门非常重要的公共基础课,列入教学计划中。然而笔者在讲授该门课程后发现:每堂课的教与学目标不够明确,难以调动学生的学习兴趣;传统的考核方式也难以反映学生的真实水平;多数学生在学完该门课程后,仅仅掌握了它的基本语法,所学知识不够系统,缺乏开发、创新能力;该课程跟自身的农科类专业很难结合,拿了学分却不知道有何作用。针对以上情况,本学年在讲授该门课程过程中,笔者进行了许多有益的尝试,取得了明显的成效。
2 改革教学方法
传统的“填鸭式”教学方法以课堂讲授为主,由教师选择一本教材,依据大纲逐章讲解说明,课后布置练习、作业,统一安排上机实习,学期末进行复习、考试。这种教学方式只注重知识传授,忽视对学生主动汲取知识能力的培养,作为学习主体的学生始终处于被动接受状态,造成学生学习主动性下降。教师作为教学的另一方,实际上也处于以完成教学进程计划为目标的被动状态。
在教学过程中,教师应遵循启发式教学原则,通过各种教学方式和手段激发学生的学习欲望,使其在学习活动中积极思考,发现问题、提出问题、并逐步解决问题。笔者在《C语言程序设计》教学过程中,没有对照程序清单讲程序,而是从分析问题入手,继而找出解决问题的方法,再给出算法,最后编写出完整的程序。其中最关键的是每一步都采用与学生一起探讨的方式,让学生在启发下思考,在思考中解决问题,从而掌握独立分析问题、解决问题的方法。
项目教学法,是德国教育专家弗雷德?海因里希教授倡导的教学理论,是师生通过共同实施一个完整的项目工作而进行的教学活动。通过对完整的项目的系统分析,培养学生良好的编程习惯,善于获取他人经验的能力以及掌握综合运用所学知识的能力,从而完全了解项目流程,真正提高编程水平。
笔者在课程讲授开始,演示了一个精心设计的、吸引学生注意的“拼图”游戏程序,并向学生提问:如何实现它?然后给出一定的课堂时间,让学生自由组合进行讨论,并提出具体实现的基本思路及实现这一思路存在的问题。接下去就学生所提的问题进行新的知识点介绍,再由学生上机实践,直到问题解决。这个过程实际上将学生由被动的学转变为了主动的学,通过每次给出的项目,引导出新的知识点,然后讲解并实现。在上机实验教学中,利用项目教学法,精选一些有趣的习题:如“猴子分桃”、“鸡兔同笼”、“韩信点兵”等多个实例来组织基本语法、函数、基本语句的学习,掌握累加器、累乘器、质数、最大公约数、累乘求积等必须掌握的程序段的编写。这些改革重视程序项目设计,培养学生的应用能力,收效很大。
3 积极使用现代化教学手段
程序设计语言的教学内容并不存在深奥的理论,相互之间缺乏逻辑推理关系,更多的是一些与硬件系统有关的输出格式的规定,以及各种数据类型、语句、函数等的定义、使用说明等。这些内容的讲授不适宜采用课堂黑板教学方式。原因是:对于不同的语言、甚至同一语言在不同机器上,这些规定都不尽相同,而且缺乏知识含量,对此加以机械性地讲授,将难以吸引学生的注意力,难以调动他们的学习情绪,教师也会缺乏激情;程序设计语言的教学除了把一些语法精要介绍给学生外,还要辅之于一定的程序示例讲解,但是随着学习内容的深入,示例程序语句越来越多,黑板书写要占用太多的空间和时间。为提高教学效率,增加教学的直观性、趣味性,必须采用多媒体教学。充分利用设在教室和实验室中的多媒体设备,进行现场编程,使同学们全程参与程序的调试过程,同时使用演示课件来进行语法知识点的学习。这种采用现代化教学手段并结合传统的“粉笔 黑板”的教学模式,学生接受知识更容易,能力提高也更快。
4 加强本课程与农科专业的联系
学习《程序设计语言》的主要目的在于培养学生应用计算机解决实际问题的能力。笔者讲授的对象主要是农业机械、农业经济管理、园艺、林学等农科专业的学生,寻找合适的切入口将程序设计与农科专业相结合,是《程序设计语言》课程教学大纲中应该着力改革的内容之一。
例如,针对农业机械专业的学生专业课程计算复杂,涉及到不定方程组、多元、非线性方程的求解以及实验数据处理等,计算量大且难,同学们对这类计算仍采用手算,花费大量的时间,且易出错。一方面是学了不少程序设计的知识,而另一方面在复杂的专业课计算中又采用手工计算。为了改变这种教学与应用相脱节的状况,在教学中可把相关知识引进到本课程教学和上机实习中来,既扩大了学生的视野,又开拓了学生的思路,更提高了本课程作为工具的应用能力,从而达到素质教育所追求的“融会贯通、增强能力、提高素质”的理想境界。
再如,针对农业经济管理专业的学生对管理信息系统的应用需要,将一个规模较大的、典型的、有实用价值的、学生感兴趣的核心实例“农业信息管理系统”贯穿于教学全过程。该实例涉及农业、信息、管理、编程等综合知识,而且讲授过程是从小到大、随章节的展开而逐步成长,使其呈现为逐步进化的多个版本。首先用最基本的概念和最简单的结构,给出该系统的第一个版本,以后每学习一个章节,都对该系统提出新的功能和结构上的要求,并用该章介绍的新概念和新方法对它进行功能上的扩充和结构上的改进。每一章得到该系统的一个增强的新版本,每章要学习的内容都十分明确。为达到设计目标,学生从第二堂课开始,就可以积极投入对该系统的调试、改进的实践中。而这个实例也很好的将学生的专业与程序设计结合到一起,达到了课程与专业结合的目的。
在教学实践过程中笔者发现,单纯理论与知识的传授不仅抽象,而且很难提高学生的综合素质,依托专业知识,不但可以充分调动学生的学习积极性,而且也培养了学生良好的编程能力,锻炼了学生自觉的规范意识和团队精神,加强了认识和运用数据的能力,强化了软件工程的概念,提高了认识问题、解决问题、查阅资料的能力等等。
5 充分利用网络
随着网络技术的飞速发展,教学手段、教学方法、教学观念与形式、课堂教学结构以及教学思想和教学理论都发生了深刻的变化。笔者将课程教学大纲、电子教案、历年等级考试真题等教学资源传到网上供学生自学,并利用电子邮件、本院网站的交流园地与学生进行课外交流,为学生答疑解惑提供了更为广泛的沟通渠道与环境。而且,学生通过在线测试系统可以随时考核自己的学习效果,查缺补漏。
网上学习、网上答题、网上测试等过程一改传统的学生被动学习的教学模式,使学生们真正感到了自己是学习的主体,对学习内容、学习形式等具有选择权,因而激发了他们主动学习的精神。新颖、有趣的网络学习可以做到每次完成作业后不仅可以知道对错,而且还有排行榜,这就强化了学生积极进取的精神和竞争意识。
网络教学与传统面授教学最大的不同在于,在学校是教师“要我学”,在网上则是“我要学”,而这种角色变换带来的变化对学生来说是巨大的。网络教育更多注重的是素质教育,它是网络和新型教育的完美结合,是一种全新的、汇集了优秀教师和计算机高级人才智慧的基地,是集知识性、趣味性于一体的教学模式,应在教学实践中尽可能广泛地采用。
6 改革考核办法
C语言课程所有考试均实行考教分离。这不仅促进了任课教师对教学的精益求精,而且也给了教师充分发挥、施展个人教学才能的空间。在考核方法上,采用多种形式考核学生的知识掌握程度和实践能力,包括笔试和实验考核。为了强调实验考核的重要性,如果学生没有通过实验考核,则课程成绩直接记为不及格。实验考核采用上机考试和平时测验相结合的方式,上机考试使用能自动组卷和评分的考试平台,平时测验包括课后作业和随机检查的完成情况。教师可以利用上机实验的时间,随机抽查学生的实验程序,并要求按规定修改程序,充分利用“考试指挥棒”引导和督促学生平时多编程,编好程。
7 结束语
根据高等农业院校培养学生的特点,在《C语言程序设计》的教学中,应寻找和农科专业合适的切入口,强调以程序设计和实验为主,充分利用网络,并通过课程的教学方式、考核方法的改变,激发学生学习该课程的兴趣。学生不但要掌握高级编程语言的知识、编程技术和基本算法,更重要的是掌握程序设计的思想和方法,具备利用计算机求解实际问题的基本能力,能灵活应用高级语言进行程序设计,适应社会发展的需求。在教学过程中积极的探索和总结,真正做到教学相长,是每一位高校教师教学的目的和教师的责任。
参考文献:
[1]薛小锋.C语言程序设计教学方法探析[J].福建电脑, 2004,(1).
[2]张敏霞.程序设计语言课程教学方法改革的探索与实践[J].中国高教研究, 2004,2.
[3]谭浩强.C程序设计[M].北京:清华大学出版社,2001.
[4]谭浩强.C程序设计题解与上机指导[M].北京: 清华大学出版社,1992.
收稿日期:2008-01-12
作者简介:章英(1978-),女(汉),湖北枝江人,讲师,硕士,主要研究方向:计算机软件与理论。
关键词:C语言;教学改革;教学方法
中图分类号:G640文献标识码:A 文章编号:1009-3044(2008)05-10000-00
1 引言
C语言是目前国内外最广泛使用的程序设计语言之一。它具有丰富功能、表达能力强、使用方便灵活、执行程序效率高、可移植性强等优点;既能实现高级语言的功能,又能完成汇编语言的功能[1,2]。它具有较强的系统处理能力,可直接实现对系统硬件和外部接口的控制。因此,它被广泛地用于系统软件和应用软件的开发[3,4]。同时在高等农业院校非计算机专业中《C语言程序设计》也被作为一门非常重要的公共基础课,列入教学计划中。然而笔者在讲授该门课程后发现:每堂课的教与学目标不够明确,难以调动学生的学习兴趣;传统的考核方式也难以反映学生的真实水平;多数学生在学完该门课程后,仅仅掌握了它的基本语法,所学知识不够系统,缺乏开发、创新能力;该课程跟自身的农科类专业很难结合,拿了学分却不知道有何作用。针对以上情况,本学年在讲授该门课程过程中,笔者进行了许多有益的尝试,取得了明显的成效。
2 改革教学方法
传统的“填鸭式”教学方法以课堂讲授为主,由教师选择一本教材,依据大纲逐章讲解说明,课后布置练习、作业,统一安排上机实习,学期末进行复习、考试。这种教学方式只注重知识传授,忽视对学生主动汲取知识能力的培养,作为学习主体的学生始终处于被动接受状态,造成学生学习主动性下降。教师作为教学的另一方,实际上也处于以完成教学进程计划为目标的被动状态。
在教学过程中,教师应遵循启发式教学原则,通过各种教学方式和手段激发学生的学习欲望,使其在学习活动中积极思考,发现问题、提出问题、并逐步解决问题。笔者在《C语言程序设计》教学过程中,没有对照程序清单讲程序,而是从分析问题入手,继而找出解决问题的方法,再给出算法,最后编写出完整的程序。其中最关键的是每一步都采用与学生一起探讨的方式,让学生在启发下思考,在思考中解决问题,从而掌握独立分析问题、解决问题的方法。
项目教学法,是德国教育专家弗雷德?海因里希教授倡导的教学理论,是师生通过共同实施一个完整的项目工作而进行的教学活动。通过对完整的项目的系统分析,培养学生良好的编程习惯,善于获取他人经验的能力以及掌握综合运用所学知识的能力,从而完全了解项目流程,真正提高编程水平。
笔者在课程讲授开始,演示了一个精心设计的、吸引学生注意的“拼图”游戏程序,并向学生提问:如何实现它?然后给出一定的课堂时间,让学生自由组合进行讨论,并提出具体实现的基本思路及实现这一思路存在的问题。接下去就学生所提的问题进行新的知识点介绍,再由学生上机实践,直到问题解决。这个过程实际上将学生由被动的学转变为了主动的学,通过每次给出的项目,引导出新的知识点,然后讲解并实现。在上机实验教学中,利用项目教学法,精选一些有趣的习题:如“猴子分桃”、“鸡兔同笼”、“韩信点兵”等多个实例来组织基本语法、函数、基本语句的学习,掌握累加器、累乘器、质数、最大公约数、累乘求积等必须掌握的程序段的编写。这些改革重视程序项目设计,培养学生的应用能力,收效很大。
3 积极使用现代化教学手段
程序设计语言的教学内容并不存在深奥的理论,相互之间缺乏逻辑推理关系,更多的是一些与硬件系统有关的输出格式的规定,以及各种数据类型、语句、函数等的定义、使用说明等。这些内容的讲授不适宜采用课堂黑板教学方式。原因是:对于不同的语言、甚至同一语言在不同机器上,这些规定都不尽相同,而且缺乏知识含量,对此加以机械性地讲授,将难以吸引学生的注意力,难以调动他们的学习情绪,教师也会缺乏激情;程序设计语言的教学除了把一些语法精要介绍给学生外,还要辅之于一定的程序示例讲解,但是随着学习内容的深入,示例程序语句越来越多,黑板书写要占用太多的空间和时间。为提高教学效率,增加教学的直观性、趣味性,必须采用多媒体教学。充分利用设在教室和实验室中的多媒体设备,进行现场编程,使同学们全程参与程序的调试过程,同时使用演示课件来进行语法知识点的学习。这种采用现代化教学手段并结合传统的“粉笔 黑板”的教学模式,学生接受知识更容易,能力提高也更快。
4 加强本课程与农科专业的联系
学习《程序设计语言》的主要目的在于培养学生应用计算机解决实际问题的能力。笔者讲授的对象主要是农业机械、农业经济管理、园艺、林学等农科专业的学生,寻找合适的切入口将程序设计与农科专业相结合,是《程序设计语言》课程教学大纲中应该着力改革的内容之一。
例如,针对农业机械专业的学生专业课程计算复杂,涉及到不定方程组、多元、非线性方程的求解以及实验数据处理等,计算量大且难,同学们对这类计算仍采用手算,花费大量的时间,且易出错。一方面是学了不少程序设计的知识,而另一方面在复杂的专业课计算中又采用手工计算。为了改变这种教学与应用相脱节的状况,在教学中可把相关知识引进到本课程教学和上机实习中来,既扩大了学生的视野,又开拓了学生的思路,更提高了本课程作为工具的应用能力,从而达到素质教育所追求的“融会贯通、增强能力、提高素质”的理想境界。
再如,针对农业经济管理专业的学生对管理信息系统的应用需要,将一个规模较大的、典型的、有实用价值的、学生感兴趣的核心实例“农业信息管理系统”贯穿于教学全过程。该实例涉及农业、信息、管理、编程等综合知识,而且讲授过程是从小到大、随章节的展开而逐步成长,使其呈现为逐步进化的多个版本。首先用最基本的概念和最简单的结构,给出该系统的第一个版本,以后每学习一个章节,都对该系统提出新的功能和结构上的要求,并用该章介绍的新概念和新方法对它进行功能上的扩充和结构上的改进。每一章得到该系统的一个增强的新版本,每章要学习的内容都十分明确。为达到设计目标,学生从第二堂课开始,就可以积极投入对该系统的调试、改进的实践中。而这个实例也很好的将学生的专业与程序设计结合到一起,达到了课程与专业结合的目的。
在教学实践过程中笔者发现,单纯理论与知识的传授不仅抽象,而且很难提高学生的综合素质,依托专业知识,不但可以充分调动学生的学习积极性,而且也培养了学生良好的编程能力,锻炼了学生自觉的规范意识和团队精神,加强了认识和运用数据的能力,强化了软件工程的概念,提高了认识问题、解决问题、查阅资料的能力等等。
5 充分利用网络
随着网络技术的飞速发展,教学手段、教学方法、教学观念与形式、课堂教学结构以及教学思想和教学理论都发生了深刻的变化。笔者将课程教学大纲、电子教案、历年等级考试真题等教学资源传到网上供学生自学,并利用电子邮件、本院网站的交流园地与学生进行课外交流,为学生答疑解惑提供了更为广泛的沟通渠道与环境。而且,学生通过在线测试系统可以随时考核自己的学习效果,查缺补漏。
网上学习、网上答题、网上测试等过程一改传统的学生被动学习的教学模式,使学生们真正感到了自己是学习的主体,对学习内容、学习形式等具有选择权,因而激发了他们主动学习的精神。新颖、有趣的网络学习可以做到每次完成作业后不仅可以知道对错,而且还有排行榜,这就强化了学生积极进取的精神和竞争意识。
网络教学与传统面授教学最大的不同在于,在学校是教师“要我学”,在网上则是“我要学”,而这种角色变换带来的变化对学生来说是巨大的。网络教育更多注重的是素质教育,它是网络和新型教育的完美结合,是一种全新的、汇集了优秀教师和计算机高级人才智慧的基地,是集知识性、趣味性于一体的教学模式,应在教学实践中尽可能广泛地采用。
6 改革考核办法
C语言课程所有考试均实行考教分离。这不仅促进了任课教师对教学的精益求精,而且也给了教师充分发挥、施展个人教学才能的空间。在考核方法上,采用多种形式考核学生的知识掌握程度和实践能力,包括笔试和实验考核。为了强调实验考核的重要性,如果学生没有通过实验考核,则课程成绩直接记为不及格。实验考核采用上机考试和平时测验相结合的方式,上机考试使用能自动组卷和评分的考试平台,平时测验包括课后作业和随机检查的完成情况。教师可以利用上机实验的时间,随机抽查学生的实验程序,并要求按规定修改程序,充分利用“考试指挥棒”引导和督促学生平时多编程,编好程。
7 结束语
根据高等农业院校培养学生的特点,在《C语言程序设计》的教学中,应寻找和农科专业合适的切入口,强调以程序设计和实验为主,充分利用网络,并通过课程的教学方式、考核方法的改变,激发学生学习该课程的兴趣。学生不但要掌握高级编程语言的知识、编程技术和基本算法,更重要的是掌握程序设计的思想和方法,具备利用计算机求解实际问题的基本能力,能灵活应用高级语言进行程序设计,适应社会发展的需求。在教学过程中积极的探索和总结,真正做到教学相长,是每一位高校教师教学的目的和教师的责任。
参考文献:
[1]薛小锋.C语言程序设计教学方法探析[J].福建电脑, 2004,(1).
[2]张敏霞.程序设计语言课程教学方法改革的探索与实践[J].中国高教研究, 2004,2.
[3]谭浩强.C程序设计[M].北京:清华大学出版社,2001.
[4]谭浩强.C程序设计题解与上机指导[M].北京: 清华大学出版社,1992.
收稿日期:2008-01-12
作者简介:章英(1978-),女(汉),湖北枝江人,讲师,硕士,主要研究方向:计算机软件与理论。