非计算机专业C语言程序设计教学改革探索

2012-04-29 18:37裴福俊郭民
科教导刊 2012年27期
关键词:非计算机专业C语言程序设计教学改革

裴福俊 郭民

摘要 本文分析和论述了目前高等学校中C语言程序设计课程教学中存在的主要问题,提出了行之有效的教学改革方案,旨在提高教学质量,激发学生的学习兴趣,加深学生对理论知识的理解和掌握,培养分析和解决具体问题的能力。

关键词 非计算机专业 C语言程序设计 教学改革 案例驱动

中图分类号:G642文献标识码:A

高等学校非计算机专业的计算机程序设计课程是国家高等教育发展规划的必修课程,C语言以其知识结构体系合理、使用灵活、实用性强、可移植性好等特点使其成为众多高等学校的非计算机理工学科专业的计算机基础必修课。开设C语言程序设计课程不仅是让学生掌握一种软件开发工具,了解计算机的功能和工作原理,培养学生的计算机逻辑编程思维。更为重要的是让学生了解计算机编程技术在本专业领域中的作用,以便于在后期的专业课学习过程中进行相应的程序设计和开发奠定基础。

但是,在国内的多数高校仍然采用“多媒体教室讲课+学生上机训练”的传统教学模式。这种教学模式中的教学内容一般脱离了实际应用,将学习重点放在C语言的语法和理论讲解上,学生并不知道所学习知识的实际应用方向和价值,也就不能很好地调动学生的积极性,因此普遍存在着“教师难教,学生难学”的状况。针对目前C语言教学过程中的问题,本文结合作者多年的面向非计算机专业的C语言程序设计课程教育教学的经验,总结了非计算机专业C语言程序设计教学过程中存在的主要问题,并提出行之有效的教学改革方法,从而提高非计算机专业C语言教学的教学质量。

1 C语言教学中存在的问题

1.1 学生缺乏兴趣,学习主动性不足

自从我国大学教育实现扩招以来,很多学校均采用了多个班级同时上课的大课堂教学模式,大课堂导致学生很难始终保持精神集中,甚至有些学生上课期间上网、发短信、打游戏等等。另外,由于授课对象多为一年级的新生,对社会、职业和自己所学的专业尚无清晰的认知,往往会认为这是计算机专业的课程,对课程的重要性认识不足,也就对该课程提不起兴趣,缺乏学习的主动性。

1.2 教师教学方法不妥,影响教学效果

很多学校的教师仍然采用了以教师讲授为主的灌输式教学方法,讲授过程中只注重了知识点的系统性和完整性传授,但缺乏对各知识点之间的内在关系以及综合运用的深入分析和讲解,更忽略了对学生编程思想和逻辑思维能力的培养。同时,这是一个教师向学生单向传输过程,教学过程空洞、呆板、缺乏互动,学生很容易会感到课堂的枯燥乏味,造成课堂教学的效果不理想。

1.3 理论教学与专业需求脱节

目前,多数学校教学过程中仍采用“多媒体教室讲课+学生上机训练”教学模式,两者的学时比例一般为2:1或3:1。多媒体教室授课重点是对语法概念和语法规则的分析与讲解,内容枯燥、抽象,尤其是学生缺乏对实际物理对象和计算机逻辑思维方式的直观理解。同时,学生实践训练所占的课时比重过低,并且用于实践课程中的训练题目,大多数是一些简单的数学问题,也就无法真正体会到C语言在其未来专业课程中的作用和重要性。

1.4 考核方式不合理

目前,C语言程序设计课程的考核方式是“笔试+上机”的考核方式,笔试成绩占到总成绩的80%,明显偏重于对语法知识和语法规则的考查,而缺乏对学生实际编程能力和逻辑思维能力的考查,往往会导致学生“只会考试,不会编程”。上机考试占到总成绩的20%,重点是考核学生上机操作和现场编程能力,但上机考试的评估不够准确客观,而且所占比重过轻,学生缺乏足够的实践训练。

2 第一堂课尤为重要

兴趣是一个人力求认识并趋向某种事物特有的意向,是个体主观能动性的一种体现。因此,在第一堂课上如何激发学生对C语言程序设计课程的学习兴趣,调动学生的求知欲望和学习主动性将对后期的教学产生重要影响。对于刚刚接触C语言程序设计课程的学生,往往存在这样的误区:“计算机既然是智能的,那我们还学编程做什么”、“学习C语言到底能做什么”等等。因此,教师在第一堂课程教学过程中,首要任务是向学生解答这些疑问,让学生理解和认识到学习C语言程序设计课程的目的和作用,尤其是对后续专业课程的重要作用,从而令其能够端正学习态度、提高学习兴趣。具体可以采用如下途径:其一是通过一些日常生活中经常遇到的实例,如贪吃蛇、俄罗斯方块、网络聊天等小程序,让学生直观地看到C语言在日常生活中的重要作用。其二是教师可以结合往届学生编写的课程设计程序或参加科技竞赛的实例程序,给学生展示C语言并不难学,只要建立主动学习意识和不断实践编程训练就能学好C语言。其三是要结合学生的专业明确地讲述学习意义,例如给自动化专业学生任课时,可以结合同期开设的专业认知课程,将学生接触的实际自动化系统,通过实际的专业案例介绍程序设计课程的应用和重要性,使学生切身体会到C语言在自身专业上的重要作用。

3 多层次案例驱动教学

非计算机专业的学生学习C语言程序设计的目的是将其作为一种应用技术,而不是作为学习理论知识的课程。因此,针对非计算机专业学生的需求,我们采用了多层次案例驱动教学方法,采用知识导入型案例来引导新知识点的学习,从而让学生快速理解所学知识点的同时,也能帮助学生了解各个知识点的具体用法。在此基础上,结合学生的专业背景,用一个专业综合应用型案例使学生了解本知识点与前后知识点的联系,以及综合应用所有知识点解决实际问题。

3.1 知识导入型案例

针对C语言的语法繁琐复杂、知识点繁多、结构抽象复杂、难以理解等问题,我们以一个简单、直观的知识导入型案例的方式引入每个新的知识点,即可以生动地给出知识点的语法知识,又可以让学生理解知识点的实用价值。所选取案例尽量贴近现实世界的实际问题,同时具有典型性、综合性和示范性,例如,对于选择结构的知识导入型案例:出租车计费系统,起步价3公里10元,超过三公里每公里2元,编写一个程序自动计算出租车费用。将问题提出后,让学生思考这个问题的解决方案,学生根据已经学过的C语言知识编写程序,由于是有条件选择问题,学生无法有效计算费用。此时,教师给与学生引导,先列写该问题的伪代码解决方案,如果距离小于3公里,则费用=10元;否则费用为10+2*(距离—3)。学生通过该过程可以很容易地理解选择结构的基本实现流程和使用方法,同时也对选择结构的关键字if和else有了清晰的理解。

3.2 专业综合应用型案例

在学生掌握新的知识点以后,需要帮助学生掌握各个知识点之间的内在联系,如何综合应用各知识点进行复杂程序设计,如何解决本专业的实际问题。为兼顾理工类不同专业背景的学生,我们为不同的专业设计不同的专业综合应用型案例。案例将贯穿整个C语言的学习过程,按照C语言各阶段的教学目标和要求,将整个案例分解为多个子任务,以子任务之间的内在关联为线索,引导学生应用新学的知识点逐步解决一个个子任务,当学习完C语言课程时,该专业案例也将得到最终的解决。以自动化专业为例,我们使用了最为常见的炉温控制系统作为应用案例,将整个问题分解为:温度显示、温度计算与比较、统计数据计算与分析、多点测量数据处理、程序的模块化实现、指针提高程序的效率、数据存储与读取等多个小模块,在整个教学过程中,逐步解决每一个子问题,最终构成整个炉温控制系统程序,并通过实验平台展示的程序实际运行情况,使学生切身体会到C语言解决专业问题的方法和作用。

4 考核方式改革

考核在教学过程中起着非常重要的导向和督促作用,考核是了解学生学习状况的依据,学生和教师都非常重视。我们以理论与实践相结合为考核基准,以全面考查学生的实践操作和灵活运用能力为主要目标,建立阶梯式开放考核体系:“平时+笔试+上机”的综合考核方式,其中平时的阶段性实践考核占到总成绩的40%,期末笔试考核占到总成绩的40%,上机考试占到总成绩的20%。具体的形式是:充分利用实践教学的灵活性特点,结合每一阶段课程的难度和教学目标,将实践课程考核分为不同的阶段和级别,在每次实验课程中,以任务形式布置难度适中的编程题目,要求学生在本次课堂完成代码编写、调试并提交,教师根据学生编写程序的情况给予一个阶段性成绩。在整个C语言程序设计教学过程中,安排5—6次类似的阶段性考核,并把每一阶段的实践考核成绩作为重要的参考依据,以一定的比例加入到整个课程的最终考核成绩中,综合评价学生的学习成果。

5 结论

本文是作者结合多年的面向非计算机专业的C语言程序设计课程教育教学的实际经验,总结了目前国内高校非计算机专业C语言程序设计教学过程中存在的一些主要问题,从课堂教学、教学方法、考核方式等方面提出了行之有效的教学改革方法。从几年的实践经验来看,较好地改善了C语言教学的教学质量。但是,对于非计算机专业的学生来说,只有设置完善的课程体系,才能保障整个程序设计类课程的完整性和持续性,保证整个大学期间程序设计类课不断线,才能培养符合社会需求的优秀毕业生。

参考文献

[1] 陈一昌.C语言程序教学新探[J].科技经济市场,2011.9:107—109.

[2] 王国伟.C语言程序设计课程教学探析[J].教育教学论坛,2012.19:79—80.

[3] 刘帅,张星.基于案例的C语言程序设计教学改革[J].教育教学论坛,2011.20:160—161.

[4] 胡丹.非计算机专业《C语言程序设计》教学探讨[J].电脑知识与技术,2011.34(7):8983—8991.

[5] 房媛,赵秀岩,刘剑,王智森.高校非计算机专业C语言课程教学方法研究[J].计算机教育,2011.22:74—76.

[6] 张鑫,张菁,刘威.非计算机专业C语言程序设计教学改革探究[J].福建电脑,2011.11:189—190.

猜你喜欢
非计算机专业C语言程序设计教学改革
非计算机专业计算机基础教学的总结与思考
高校非计算机专业计算机网络基础教学改革探究
以“学生为中心”的《C语言程序设计》教学设计探究
程序设计课程中计算思维和应用能力培养问题研究
基于翻转课堂的《C语言程序设计》课程教学系统的实现与研究
浅谈《C语言程序设计》课程的教学改革
《C语言程序设计》课程的教学改革与实践
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究