高职院校中C语言的教学改革

2017-03-15 10:00郭树强沈娴
电子元器件与信息技术 2017年2期
关键词:上机C语言程序设计

郭树强,沈娴

(1.河北司法警官职业学院 石家庄校区,河北 石家庄 050000;2.河北工程技术学院,河北 石家庄 050000)

0 引言

计算机的语言分为机器语言,汇编语言和高级语言。在高级语言中C语言可以说算的上是一门兼顾了低级语言和高级语言优点的编程语言,也可以说是目前世界上生命力最旺盛的程序设计语言;它是一种结构化程序设计语言,有较为丰富的数据类型、运算符和函数供设计者使用,此外它还具有可直接访问物理地址,对硬件进行操作的功能。其实,很多大型的应用软件都是用C语言编写而成,这也是C语言经久不衰的一个重要原因。也正是基于其强大的实用性和重要性,国内很多高职院校把C语言程序设计作为计算机专业学生程序设计入门的首选课程;而本科类高校更是把《C语言程序设计》作为本校专接本考试的专业课程[1];在全国计算机等级考试中也有专门针对C语言程序设计的考核等级。

1 学习C语言的意义所在

现在很多公司流行使用C#、C++等语言,几乎都用不到C语言,于是就有人产生了疑问:为什么还要开始C语言呢?这不是一种过时的语言吗?我认为这种想法是错误的。

C语言是一种计算机程序设计语言,属于高级语言的范畴。它兼容了高级语言和汇编语言的特点,既可以作为工作系统的设计语言,也可以编写系统的应用程序,同时还可以作为应用程序设计语言,编写出不依赖于计算机硬件的应用程序,具有代码清洗简洁,设计灵活的特性。其实在生活中,我们使用的很多操作系统中都是用C语言编写的,它又被人们成为其他编程语言的母语。如果学过C语言,再去接触其他语言的时候,会感到很轻松,在很多程序中都会出现似曾相识的语法结构,这也是其他语言无法比拟的。如果掌握好了C语言的程序设计,特别是编程思想,对于今后学习C#、C++,甚至Java和PHP等语言的时候也不会感到困难,毫不夸张的来讲,C语言是编程语言的基础。

高校之所以开始C语言程序设计,正是基于C语言的编程语言基础。由于C语言的语法结构简洁精妙,通过C语言编写出来的程序高校实用;同时C语言也是一个深入系统底层的语言,对于未来研究操作系统的人员而言,也是一个重要的基础知识;此外目前社会上很多流行的语言也是由C语言衍生出来的。高校开设C语言程序设计课程,其目的就是让学生更加深入的了解计算机的相关知识[2],为今后学习其他计算机语言打下良好的基础。

2 目前高职院校中C语言的现状

2.1 语法结构复杂,学生兴趣匮乏

就C语言而言,其本身语法结构较为复杂,数据类型多样,表达式丰富,编写规则要求较多,初学者往往很难入手。况且很多高职院校将C语言的学习放在了大一的第一学期。对于刚刚进入大学的学生而言,大学的学习和生活还处于一个适应阶段,绝大部分同学从未接触过程序设计方面的知识。而C语言又恰好是一门本身数据类型偏多,运算符丰富且语法结构多变的课程。真正要实现一个C程序的运行结果,需要花大量的时间上机调试,有很多技巧需要在不断的调试中进行穿插式教学,这些都需要学生一点点地积累。在教学过程中,很多学生会感到枯燥,力不从心,从而觉得C语言很难学会;并因此产生了厌学情绪,从内心抵触课程的学习。

2.2 教学规划欠缺,课时略显紧张

高职类院校的人才培养方式和本科院校也存在一定的差别。教学计划往往在新生入学前就已经制定完成,很多高职院校把C语言的教学任务放在第一学期,却未曾考虑到新生入学后首先面临的是新生军训,时间长的甚至达一个月;此外下半年的假期过于集中,使得教学课时量无法保证。为了完成教学任务,在教学过程中很多老师不得不对C语言的相关章节进行删减,将教学的重点侧重于基础理论的学习,特别是前几章中的基础知识点,而对于指针、枚举、结构体和共同体部分的知识讲解往往是一带而过,甚至在时间不够的情况下,忽略掉这部分知识,给学生造成一种C语言的学习内容就是前几章,却不知道后面的指针和文件其实也是一个很重要的知识点。

2.3 理论教学偏重,上机实践偏轻

在授课过程中,教师往往注重理论知识的讲解,基本都是以语法为主线,内容相对枯燥,很难吸引学生的学习兴趣;学生在初学时不能及时掌握相关算法的思维特点,在上机实践环节往往是照本宣科的抄写课本上的案例,缺乏主观能动性,总是被动的去编写程序。这样就失去了上机实践的真正意义所在,也无法调动起学生对C语言程序编译和调试的学习兴趣,最终未能达到上机实训的根本目的。而传统的教学对实践的要求也不是很高,如果教师再不加以督促,一旦学生在编译中出现问题而无法解决,就会产生厌烦情绪,对编程产生惧怕心里,进而造成不爱听课,遇到问题就轻易放弃的局面,从而形成恶性循环,无法真正认识到C语言的实用性。

3 教学方法和手段的改进措施

3.1 改进教学方法,培养学生的编程兴趣

对于刚刚步入大学的学生而言,计算机并不是什么新鲜事物,但利用计算机编写一个程序并运行成功是一个相对陌生的事情[3]。因此我们在第一次上课的时候,可以采用引导式教学,将一个简单的小程序制作成较为生动的PPT课件,通过动画的方式展示给学生,吸引学生的学习兴趣;然后介绍一些关于C语言的相关知识及其与相关专业课程之间的关系,因势利导的引导学生来了解学习C语言的重要意义,让学生对C语言产生浓厚的兴趣;同时在学生中展开讨论,就程序设计中经典的编程案例进行互动讨论,引导学生积极主动地思考,在条件成熟的情况下,并让学生亲身体会用C语言解决问题的趣味性,为今后的教学做好铺垫[4]。

3.2 合理分配学时,保证学生的学习进度

调整教学计划,合理分配学时。本人建议将C语言的课程设置为两个学期,第一学期以基础知识和三大语法结构为主,上机为辅,给学生打下一个坚实的基础,同时培养学生独立编写程序和调试程序的能力;将函数、指针、结构体和共同体、文件等知识安排在第二学期,此外在第二学期中加大上机实训环节的课时。这样做的好处在于,经过第一学期的基础性学习,学生基本具备了程序编译的能力,同时对于程序编译过程中的一些常见问题的解决也了如指掌,对于一些较大型程序的编译和调试奠定基础,在进行函数、指针等较为复杂的程序编译时,能够自己解决一些常见问题。而上机实训课时的加大,可以大大提高学生进行完整程序的编译和调试。

3.3 任务驱动模式,提高学生的主观能动

改变传统的教学模式,将传统教学中的先理论后实践,改为案例和任务驱动的教学模式,让学生由被动变主动。将知识点以任务的方式下发给学生,在程序设计和编译中穿插讲解相关的知识点。当学生在编译过程中出现较为集中的问题时,将问题拿出来全班讨论并提出修正的方案。这样,既可以了解学生对知识点的掌握程度,也训练了学生的思维能力,调动起学生主动学习的积极性。又或者模拟软件公司的项目开发方式,分组进行设计,协同合作来完成某一个程序的编译问题,培养学生团队协作的能力,激发学生对项目设计的兴趣,培养学生的自学能力。教师要鼓励学生对程序的改进,在遇到问题的时候,及时引导和解决,增加课程设计的趣味性[5]。

4 考核方式的改进

对于一个优秀的程序员而言,在学习程序设计之初,最好的学习方式就是大量的阅读程序,分析现有的经典案例,培养自己阅读程序和分析程序的能力,从而达到自己独立完成程序的设计和编译[6]。可现实生活中,各大高职院校中的C语言考核仍然采用以笔试为主,包括专接本考核,这在一定程度上制约了学生的主观能动性和独立设计程序及分析程序的能力,但因此而剔除掉笔试考核也不是一个明智的选择。因为,就C语言的基本知识而言,必要的理论知识也是需要熟记于心的[7]。本人认为,我们在大一第一学期的考核不妨采用闭卷考核的方式进行,主要检查学生对于C语言基础知识点的掌握程度,而第二学期的考核,可以采用上机考核或课程设计的方式,检查学生对于程序编译的综合应用能力。通过理论考核、上机考核或课程设计方式来检查学生对于语法的掌握程度,对学生分析和阅读程序的能力、独立编写程序及调试程序的能力、团队协作和整体开发能力有一个更加全面客观的认识[8]。

5 结论

“工欲善其事,必先利其器”。学习C语言程序设计,其实是为了掌握计算机思维打基础。毫不夸张的讲,掌握了C语言程序设计,就等同于你已经掌握了很多门程序设计语言[9]。在经过了系统的学习之后,学生不仅掌握了程序设计的基本语法,也熟悉了程序编译的相关流程,即使再接触新的程序设计语言,也不会像初次接触语言那样懵懂,可以很快速的熟悉甚至掌握新的程序设计语言,种种迹象表明C语言是程序设计的重要基础[10-11]。C语言的教学不仅仅是为了让学生明白程序设计的基本知识,熟悉程序设计的基本流程,掌握程序编译的技能,同时也是专接本考核的重要内容。只要了解了学生的心理,在教学过程中,因材施教,多激发学生的学习兴趣,调动学生的主观能动性,C语言的学习其实还是能够收到良好的教学效果的。

参考文献:

[1]胡宏智著.C语言程序设计[M].北京:中国水利水电出版社,2010.

[2]陈一飞.关于C语言教学改革的探讨[M].北京:中国电力出版社,2012.

[3]李国桢著.理念·思路·特色 高职院校教学改革的探索与实践[M].天津:天津科学技术出版社,2008.

[4]吴龙川,陈国钦主编.交通高职院校教育教学改革与实践[M].长春:吉林大学出版社,2007.

[5]陈红. 翻转课堂在高职院校非计算机专业C语言教学改革中的应用与实践[J]. 电脑知识与技术,2016,12(05):114-115.

[6]李志芳,孙辉,李淑娣. C语言在高职院校计算机专业的教学改革[J]. 信息与电脑(理论版),2010,(10):101.

[7]张静,罗大晖. 高职院校C语言教学改革探索[J]. 常州信息职业技术学院学报,2009,8(04):70-72.

[8]方少卿. 《C语言程序设计》课程教学探索[J]. 安庆师范学院学报(自然科学版),2013,19(02):112-115.

[9]沈建国. 浅谈高职院校C语言课程的教学改革[J]. 无锡商业职业技术学院学报,2008,(03):77-78+84.

[10]梁英坚. 高职院校工学结合在C语言程序设计课程教学改革的探索[J]. 计算机光盘软件与应用,2013,16(08):220+222.

[11]焦华. 从C编程到C#控制台编程及窗体编程的教学实践研究[J].软件,2017,38(03):42-47.

猜你喜欢
上机C语言程序设计
周金应
标准化护理程序对体外膜肺氧合术患者上机各阶段用时的影响
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
从细节入手,谈PLC程序设计技巧
上机数控“可疑”的高毛利率
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用