摘要:C语言程序设计是高职计算机相关专业的基础课程,课程开设于学生入学初期,因C语言具有简单易学、编程语言严谨、编译环境友好等特点,在学生系统化学习下,可形成良好的编程能力并拥有独立编程思想,但现阶段教学仍存在问题需针对性改善。
关键词:C语言;教学方法;高职教改;编程类课程教学
一、引言
考虑到部分学生学习C语言相关课程时,存在知识点不易记忆或学习效率不佳等问题,本文将对现阶段C语言课程的课堂教学现状与存在问题剖析,并给出若干创新性课改方案,以提升学生对课程的满意度为目标,让学生在结课后拥有编程能力。
二、学生学习C语言课程的现状与课堂教学存在的问题
因编程知识具有一定学习技巧,在教师给出相关概念后,学生不但要经过深入思考,以完成对相关概念实例的引用,还需形成一定复习与自学能力,学生编程能力优劣也多取决于课后编程练习时对编程知识的掌握能力,进而可根据不同需求编出个性化程序。现阶段很多学生解决编程问题时更偏好于翻看参考书实例或去互联网搜索对应源代码的形式代替独立编程,这部分学生无法意识到独立思考程序问题对自身带来的益处,与直接照搬源代码相比,独立撰写代码也是成为合格程序员的必有能力。考虑到以往教学期间,很多学生不能与教师产生较深层次互动,多因为高职C语言教学内容偏向基础,即便如此很多学生仍缺乏独立思考能力,更无法正视C语言对计算机专业学生的重要性,故听课效率得不到有效提升,亦不能深入理解教学内容。若教学期间做到学生人手一台计算机,配合教师教学进度当堂完成各项练习,将显著提升授课过程有效性,现阶段考虑到部分学生自制力较差,学生当堂写程序时也多通过纸笔记录的形式完成,也让教学过程略显无效。C语言课时多是分散在一周内不同时间的,授课的不连续也将让学生在不同课时授课期间存在空档期,很多学生做不到每天花少量时间对编程练习,也无法意识到独立编程是一名合格程序员的必备技能的真谛,此部分学生也无法有效衔接各部分课时。
三、提升课堂效率的C语言教学方法阐述
(一)使用分层教学法
分层教学法可将不同学习能力的学生加以区分,对基础薄弱的学生只要求对基本概念和简单变式达到掌握程度即可,学有余力的同学可考虑继续学习深层次内容,在不同要求下学生将更易达到预期学习目标,以提升学生自信心为主要目的,教学内容不但具有层次化特点,在不同掌握能力的要求下,学生达到对应学习目标难度将明显降低,学生还可根据教师的有效引导,让学有余力的学生利用课下时间辅导薄弱学生理解知识,让学习过程更有效。
(二)让学生上讲台讲解算法
以往教师单方面的知识讲授不但难以和学生有效互动,学生真正的编程能力也将不为人知。在给出题面后,让学生上台讲解算法的实现过程,可提升学生的编程能力和逻辑推理能力,也可类比为让学生当堂讲解应用题的解题步骤,此举将显著改善学生的编程水平,也将教师与学生的角色互换,因学生编程思路的提升过程可通过讲解算法方式实现,也方便其他学生直接指出他人在理解相关知识时存在的问题,为后续教学阶段打造高效课堂提供坚实保障。
相关期刊推荐:《电脑与信息技术》(双月刊)创刊于1993年,由中国电子学会;湖南省电子研究所主办。是经国家新闻出版总署正式批准,面向国内外公开发行的国家期刊,杂志集权威性、理论性与专业性于一体,具有很高的学术价值,是作者科研、晋级等方面的权威依据。设有:研究与分析、网络与通信、开发与设计、数据库与信息系统等栏目。
(三)案例教学引入学生易理解的数学实例
以往在案例教学环节,存在一部分学生课前从未听闻的教学案例,不但在理解相关概念时存在困难,学生也不能对相应知识有举一反三能力,因此以学生易理解的鸡兔同笼问题、阶乘问题、数列问题为案例列举,可提升学生对知识的理解能力。引用教学案例要注意案例的典型性和代表性,不但可在课上根据例题解题思路,布置3-4道变式练习题供学生当堂完成,还可邀请学生畅谈自己心中的经典数学算法,并用合理的编程形式诠释算法实现思路与编程思想,进而学以致用、拥有独立编程能力。
(四)每节课留适当量级编程作业
以往在设置教学作业时,多考虑中游水平学生的学习感受,且每节课后作业布置量一般存在较大差异,若对应课时教学内容难度较大则可能布置学生难以完成量级的作业,不但难以检验学生真正的学习效果,也将让学生倍感焦虑,故分层次留合适量级作业,将对改善学习效率有利。也可根据分层教学思想,根据学生的不同学情将学生分为三个组别,以区分其知识掌握能力和学习水平,对学习能力强的学生在布置作业时可考虑适当加量,对基础知识掌握不扎实的学生,教师要督促学生巩固概念和例题,以相关内容填空形式留作业,不但可减轻学生的学习负担,学生也将逐渐适应教师的教学方法,进一步提升教学有效性。
(五)讲解ACM比赛真题
ACM竞赛给计算机专业学生提供平台,不但在比赛中可提升团队协作能力,还对拥有较清晰的编程思想有利,因ACM比赛竞赛试题难度较大,学生不易在课下单独做出正确解答,教师可利用课上时间以小组为单位,让学生独立探讨问题解决思路,以提升对难题的解答能力。考虑到部分学生课前对ACM概念较陌生,且学校近年来也鼓励学生参加ACM编程竞赛,不但可让学生提前适应项目开发团队协作的工作形式,还可在参赛过程中将学生合理分工,在完成对应任务量后帮助团队其他成员调试程序,巩固在校学习成果。
(六)开展游戏式教学法
将课堂教学过程趣味化改造后,可通过举办你问我答的基础知识竞赛活动,或当堂给出后续算法的填空游戏,让学生在妙趣横生的授课过程中拥有对编程知识的全新理解,也将活跃教学气氛。游戏式教学法对高职层次学生有效性高,部分对编程课程不感兴趣的学生也将逐步改变看法,也可让教学过程体现以生为本的特点。
(七)鼓励学生当堂写程序
学生当堂写程序能力的养成,不但需要学生在课下积极练习,还需教师通过有针对性的辅导让学生对晦涩的编程知识独立思考,在当堂给出对教材习题的变式题后,鼓励学生独立完成,在当堂检验学生完成程度同时,也可发现自身教学存在的问题。教师在教学期间适当观察学生对编程思维的掌握情况,根据接受度调整后续教学方法。
(八)以讲专业相关故事形式活跃课堂气氛
在每个知识点讲解过程间穿插几分钟学生感兴趣的话题,如计算机专业就业方向、后续开设课程内容、往届毕业生就业情况等学生感兴趣的内容都将有效聚集学生的注意力,进而可对授课内容有更深层次理解,在活跃课堂气氛同时提升授课效率。此部分教学内容一般可让全体学生有强烈的听课兴趣,相对单纯的讲授模式也将被改变。
(九)适当调整上机教学内容
现阶段上机教学针对性不强,且偏基础的教学内容很多学生也只通过抄课本实例代码的形式完成练习,此过程无异于练习打字,学生难以形成对程序的正确认识。因此可考虑将小型C语言编程项目做为考核内容,上机教学内容的调整也将符合学生的职业素养培养路线,也可改变课程考核分数比重,加大实习项目分数比例。
(十)根据学生需求调整授课内容
在看到多年来C语言教学大纲教学方向未做调整的同时,根据学生对授课内容的反馈情况灵活调整授课内容,如学生对顺序结构和分支结构有较好掌握,对指针与数组知识掌握程度欠缺,未来可考虑适当加大指针与数组的教学课时,提高教学效率的同时让授课过程符合学生对应的学习心理。
四、结束语
C语言做为计算机专业的基础入门课程,不但教学难度较小,学生的学习成本也偏低,在学生拥有C语言编程能力后,还能将C语言的编程思想适当应用到其他编程语言中,也可凭借课程学习经验,在就业时投递嵌入式相关岗位,进而提升高职院校培养质量。——论文作者:崔莉 任玲
* 稍后学术顾问联系您