景鹏斌
(陕西机电职业技术学院,陕西 宝鸡 721001)
C语言是程序设计人员主要使用的一种面向过程的计算机编程语言,主要在底层开发中进行应用。目前众多高职院校中都开设了《C语言程序设计》课程,将其作为学生学习编程语言的一门基础课程,主要培养学生的编程思想,使其养成良好的编程习惯和编程风格,锻炼学生程序编写的规范要求和基本技能,为学习相关编程语言打好基础。然而在实际教学中,C语言课程的教学效果并不理想,本论文就《C语言程序设计》课程教学过程中存在的问题进行分析,探讨C语言课程教学改革的方向,提出C语言课程的教学策略和授课技巧。
C语言是一种高级语言,它将低级语言的实用特点与高级语言的语句和基本结构相结合。C语言本身具有结构简单、灵活方便、运算符与数据类型丰富,并且生成目标代码的质量高,程序执行效率高、表达能力强、可移植性好等特点。同时C语言允许对物理地址进行直接访问,可对硬件操作,而且C语言在参数传递时主要以值进行传递的,也可以传指针,只有32个关键字,使变量和函数的命名更加灵活,函数的调用及应用使C语言程序编写更加容易。
C语言自身特点决定了《C语言程序设计》课程(以下简称C语言课程)具有五个方面的特点,第一,C语言课程具有很强的实践性,理论知识一定要和实践相结合;第二,C语言课程要求学生在程序编写时遵循严格的语法结构;第三,C语言课程在教学时教师要注重培养学生的编程思想及逻辑思维能力,要求学生掌握面向过程程序设计的基本方法,提升学生程序编写能力;第四,C语言课程对学生的逻辑思维能力有一定要求,如数学底子好的学生,C语言学起来较容易;第五,C语言课程在课后教师要安排一定的具有实际意义的作业,使学生巩固所学知识。
C语言课程作为编程语言课程,理论和实践都有一定的要求,并且具有很强的综合应用性,后续相关课程都会用到C语言编程,如单片机课程,嵌入式开发等。而目前C语言课程的教学现状主要表现为:第一,教学过程中过多重理论教学而实践教学比例较低,理论与实践做不到合理对接,甚至严重出现脱节现象,以致于学生的编程能力较弱,对理论知识理解不透彻,导致学生感觉C语言课程较难;第二,过多依赖教材,局限于教材中的知识体系,以教材为中心的教学模式,导致教学思想较僵化,忽略了学生编程思想的培养;第三,侧重强调教师的作用和地位,忽视了学生的地位,学生对教师的讲授内容完全信服,使学生的思维不够开阔,忽视了学生编程思维能力的培养;第四,忽略学生的个性差异,失去了因材施教的意义,采用同起点同方法的培养,导致部分学生的学习积极性丧失和自信心收到不同程度的打击;第五,学生实验课缺乏有效激励机制,课堂效率较低,部分学生滥竽充数,丧失学习动力;第六,教学评价方式单一,主要以学生的理论试卷成绩为主,忽略了学生实践能力和创新能力的培养。
可见,为了使学生能更好的掌握C语言课程的基本知识,运用C语言编程语言解决相关实际问题,有效提升学生的编程思维,提高学生分析问题和解决问题的能力,C语言课程的教学改革势在必行。
C语言课程教学改革要从C语言课程教学中存在的实际问题出发,结合学生实际情况,依据C语言课程的教学目标,从以下几个方面进行教学改革。
教师应对C语言课程教学内容进行优化,明确每次课的重点及难点,对于重点知识如何解决,对于难点问题如何突破,对整个教学内容要有一个宏观的认识,具体教学时要做到微观的讲解。对应知识点讲授后要赋予一定的习题,使学生能够进一步理解相关知识,并且达到应用的教学目标。
教学方法方面,要做到因材施教,随着教学内容的不断变化,授课对象的不断变化,适当调整教学方法,以最大化提高教学质量。教学过程中,应引导学生探求一题多解,培养发散性思维,不断提高学生的编程能力,指导学生有效利用网络资源进行协作学习。
教学模式要围绕教学内容的特点及教学效果不断调整,从而才能够较好的实现教学目标。C语言的特点决定了C语言课程必须采用理论与实际相结合的教学模式,只有将理论知识与上机实践有效结合,才能取得良好的教学效果,达到教学目标的要求。C语言课程相对其他课程而言,具有很强的实践性,因此只有大量的上机实践才能使学生灵活运用所学知识,有效提高学生的编程能力,提升学生的分析问题及解决问题的能力。切忌只看书本,不能停留在阅读程序方面,一定要加强上机实践练习,只有不断的上机操作,编写、编译、调试,经历大量的实践练习,才能使学生的编程水平得到提高,教师在教学中应强化和引导学生不断练习,从而落实C语言课程的教学目标。
C语言教学时,应注重基础知识的教学,只有使学生理解了诸如数据类型、变量、常量、表达式、语法等相关基础知识,才能在后续的函数应用中减少错误,否则,编程时就会错误百出,教学中要让学生理解函数在C语言课程学习中的重要地位,对函数的灵活调用多加强调和大量练习。因此,教学中要注重基础知识讲授,其次严格遵守语法结构,强调语法的重要性,使学生在学习程序一开始就注重语法结构,从而养成良好的编程习惯,使学生在编程过程中自觉的建立良好的编程风格,这样既巩固了基础知识,又可以编写出高质量的程序。
C语言课程在教学时应把学生编程思想的培养作为出发点,教师在教学时不可能把所有的程序给学生都讲授,因此,教师在教学过程一开始就要注重编程思想的培养,从简单程序入手,不断引导、启发、鼓励学生进行程序编写,着力培养学生的编程思想,不断激发学生学习C语言的兴趣,指导学生通过大量的实践操作,采用多种方式,如循环结构应用时,应反复使用while语句、for语句、do-while语句等多种方式大量练习,最终提高学生的程序编写能力。
C语言课程的教学要善于激发学生的学习兴趣,兴趣的培养至关重要,如果学生对该门课程缺乏了学习兴趣,很难把学生引入课题,甚至会出现事倍功半,因此在C语言编程过程中,教师应从简单程序入手,让学生理解每条语句的含义,从而读懂程序,会修改程序,当学生编程正确时,给予一定的鼓励和表扬,从而有助于提高学生的学习兴趣。
对C语言课程的考核评价,不能以理论试卷成绩一刀切的形式进行评价,应充分考虑到学生平时的上机实践编程水平,以及学生的分析问题及解决问题的相关能力,建议增设上机实践考核环节,从而做到较为全面的考核评价方式。
C语言课程的教学中要加强学生逻辑思维和创新性思维能力的培养,强调编程规范,使学生养成良好的编程风格。同时要注重教学方法和教学策略。
教师在授课时,注重培养学生的学习方法及编程思维,作为初学者,要让学生能够根据现有的程序,学习语法结构,理解每条语句的含义,敲代码,照着程序能够完整敲出来。使学生熟悉程序结构,理解语句的写法及代表的含义。
在C语言课程教学中完整的敲完所有程序,更要对计算机上敲的代码能够应用编译软件进行编译,若程序编写不正确,编译时会提示出现错误,教师应引导学生能够根据C语言语法结构找出问题所在,既锻炼了学生的C语言语法知识,提高了学生程序编写的操作规范,又强化了学生的C语言基础知识,如32个关键字不能写错等。
C语言课程教学中,教师不可能讲授完所有的程序,程序因问题变化而变化,应指导学生在理解现有程序的基础上,注重对学生编程思维的培养,对现有程序在理解的基础上可以进行修改,找到解决新问题的方法,同时让学生熟练经典程序,如“Fibonacci数列、杨辉三角、完数”等经典程序,使学生从中可以有所启发,从而能够对现有程序进行修改、调用来解决新问题,做到为我所用,从而逐渐提升自己的编程能力。
C语言编程中,大部分问题需要采用数学方法进行分析,数学是计算机之母,没有数学的依据和基础,就没有计算机的发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。如“冒泡排序、Fibonacci数列、杨辉三角形、完数、π的近似值、1-100的和、九九乘法表”等等,因此,在C语言程序设计课程教学中,教师要引导学生应用数学方法来分析问题,培养学生的编程思维,对于复杂问题可画出流程图,进一步分析,从而解决问题。
C语言课程的教学中,理论与实践必须相结合,绝对不能给学生只是做题与读程序,C语言课程作为一门实践性很强的课程,一定要安排足量的上机实践操作,课后也要有一定的实践性练习。只有通过上机实践才能验证所学的理论知识,通过软件编译查找错误来巩固概念,从而提高上机能力来促进理论学习,开阔编程思路,提高分析问题及解决问题的能力,锻炼心理素质,最终提高学生的编程能力。
本论文分析了高职院校C语言程课程的教学现状,提出了C语言课程教学改革的必要性,从五个方面对高职C语言课程教学改革的方向进行了阐述,通过对教学改革方向的分析,提出了C语言课程在教学中的相关策略以及授课过程中应注意的教学技巧,为教学工作者进行C语言课程教学改革提供了理论参考,也为教师在C语言课程教学中提高学生的编程能力提供了新的教学模式,也为其他编程语言课程提供了借鉴,为提高职业教育教学质量提供一定的参考。