APP下载

高职C语言程序设计教学方法探讨

2015-02-10刘慧梅

关键词:项目C语言教学方法

刘慧梅

摘要:近年高职院校招生分数下降,生源质量有所下滑,这种情况对教师的教学工作造成一定难度。我院软件技术专业实行文理兼收,怎样上好课,让学生能够很好地接受课程内容,是每个专业课教师都在考虑的问题。文章从实际教学出发,就C语言程序设计这门课程的教授谈几点体会。

关键词:C语言 教学方法 项目

C语言程序设计经常作为计算机的专业基础课,由于学习者没有任何编程语言的基础,课程语法繁杂,逻辑性强,学生容易产生畏难心理。而C语言又是学好其他专业课程的基础,如何提高课程的教学效果,调动学生的学习兴趣,对学习其他相关程序类课程具有非常重要的意义。[1]作者长期从事软件技术专业该门课程的讲授工作,就该门课程教学工作谈几点心得体会,与同行共勉。

1 引入项目,实践中学习理论

该课程的学习包含两大部分语言知识和程序设计[2],教学以程序设计为主线,语法是编程的基础,程序设计需要语法的灵活应用。学生首先需要掌握语法知识,才能理解程序和程序设计。然而实际教学时受授课课时的限制,教师教学中有时感到很难抉择,强调语法的学习,学生会感觉枯燥,学习目标不明确;没扎实的语法基础,学生会感到程序抽象难懂,编程中大多会被语法错误绊住,无法集中精力在算法上。在对软件技术专业学生教授时采用引入项目的方法,只讲授完成项目需要的知识点,基本使用方法会用即可。例如课程第一个项目“超市收费系统”完成前,需要讲解的知识点有基本数据类型、变量、数据的输入/输出、数据运算这四部分知识,具体讲解内容涉及数据类型介绍int、float、char;变量的概念和存取值;借用scanf() printf()使用格式说明%d、%f、%c将整数、实数和字符输入输出;运算讲解算术和赋值运算。过于繁杂的语法规则,比如数据类型unsigned、格式说明%md%m.nf、自增自减运算等均不介绍。教师介绍语法时注意强调它在程序中的使用方法、使用场合及作用,多演示程序让学生看到所实现的功能,这样学生更愿意接受。学生先学些基本语法,然后在项目中熟悉语法的使用,同时项目中如有新的需求在解决问题的驱使下会产生求知欲,此时教师稍作指导,学生会非常快地接受。缩短单纯语法讲解时间,项目中学习效率会非常高。

2 阶段性项目,循序渐进

该门课程内容多、知识的前后逻辑性非常强,也是造成初学者学习难度大的原因。教学中也发现,学习有问题的学生随着课程进度的进行会越来越跟不上,而掌握好的学生会越学越轻松,越学越爱学。为了能够让学生跟上课程进度学习,结合学生理解和接受能力,从实际出发,授课时并没有引入一个包含所有知识的大项目,而是引入多个阶段性项目。这样每个项目包含的知识点不是太多,学生更容易掌握。各项目是从小到大,从简到难层层递进,符合学习者学习规律。

3 任务铺垫,项目综合

教学中发现如果将项目直接抛给学生,学生理解项目需求,分解项目功能能力很差,看到题目后很茫然,难度太大,会影响到学生继续学习的信心。教师需要将项目细化,给出项目相关的任务,并对任务作出详细要求。任务一方面能够推动学生一步步了解项目需求,理解功能如何分步实现,另一方面又分解细化了项目,降低项目实现难度。当学生把任务完成后,对项目相关技能已经熟练掌握,将各任务整理完善后即是项目程序。

例如课程中的第二个项目“小学生算术出题系统”,该项目主要练习三种基本结构的应用,教学中将该项目分成三个任务,任务一系统登录要求用户输入密码,给三次机会,密码输入正确程序往下执行,三次输入均不正确退出程序;任务二系统菜单显示,要求某个菜单项处理完后,系统菜单重复显示,程序由用户通过菜单项的选择结束;任务三随机出题功能,要求程序能够连续出十道题,并且能够判断用户的答案是否正确。任务二即是项目的框架结构,将任务一和任务三合并到框架中,项目的主要功能也即实现了,最后针对项目细节要求完善和补充项目功能。项目完成后教师引导学生按整体到局部的顺序进行分析,让学生了解项目是如何划分成任务逐步实现的,培养学生分析问题、解决问题的能力。

4 演示项目与实践项目并进

授课时学生跟着完成演示项目及相关任务,然后教师给出类似的实践项目由学生分组实现。例如“小学生出题系统”作为演示项目,上课时由教师带领学生共同完成,之后给出一个知识点对应的实践项目“通用图形面积计算系统”,由学生通过相互讨论教师引导完成。实践项目用于开阔学生思路,巩固所学知识,让学生在多练多做的过程中熟能生巧。

5 分组协作,个体带动整体

分组协作教学模式是由教师通过小组的形式组织学生进行学习的一种策略。[3]新生组织纪律性较强,分组教学更容易实施。高职学生整体素质不高,可一个班总有几个较突出的,将这些学生选为组长,其他学生自由组合5至6个人一组。组长在教学中起到不可忽视的作用。首先通过组长教师能够快速了解学生学习情况,由组长将本组问题汇集,教师重点讲解,可以达到事半功倍的效果;其次組长是教师的帮手,组长接受知识解决问题的能力较强,遇到问题一点就通,教师的讲解没听懂的学生可随时再与组长沟通,这样组长在教学过程中充当教师的重要帮手;最后组长在帮助别人解决问题的同时自己也会进步很快,并且增强了自信,往往会超额完成任务,拔高了教学要求,对教学起到了推动作用。分组学习过程中,同学间通过相互讨论,容易激发个人潜能,从而发挥出最好水平。另外,由于教师与学生之间的数量级的关系,教师无法照顾到层次不同的每位学生,分组教学能够很好弥补这一教学不足。

C语言程序设计课程是软件编程的启蒙课程,学生在学习过程中需要不断地积累相关知识,锻炼分析问题、设计算法、编写代码、调试程序的综合能力;教师也要深入理解课程中各知识点的内在联系,精心设计课程项目和任务,不断探索课程教学内容、方法和手段,逐步降低学生学习的难度。

参考文献:

[1]蔡志荣.高职程序类课程教学效果量化管理的思考——以《C语言程序设计》课程为例[J].职教论坛,2014(26).

[2]肖捷,肖海容.《C语言程序设计》课程教学问题分析及对策研究[J].东莞理工学院学报,2013(05).

[3]赵建华,李克东.协作学习及其协作学习模式[J].中国电化教育,2000(10).

猜你喜欢

项目C语言教学方法
初中英语写作教学方法初探
基于Visual Studio Code的C语言程序设计实践教学探索
教学方法与知识类型的适宜
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
房地产开发项目精细化管理研究
加强公路工程成本管理的措施分析
论子函数在C语言数据格式输出中的应用
初中数学教师不可忽视的几种教学方法
我的教学方法