APP下载

应用型本科院校非计算机专业C语言课程教学方法研究

2016-12-06唐永刚郝保明

铜仁学院学报 2016年4期
关键词:上机C语言程序设计

罗 鹏,唐永刚,郝保明

( 宿州学院 机械与电子工程学院,安徽 宿州 234000 )

应用型本科院校非计算机专业C语言课程教学方法研究

罗 鹏,唐永刚,郝保明

( 宿州学院 机械与电子工程学院,安徽 宿州 234000 )

应用型本科院校以培养高素质复合型应用人才为目的,在教学过程中更重视实践教学环节,而目前C语言程序设计这门课程的教学模式不能满足应用型本科院校的要求。文章介绍了现有的本科院校非计算机专业在C语言这门课程教学过程中存在的问题,并从教学内容、教学手段、实践教学、考核方式四个方面对C语言课程教学方法进行了探讨,不仅提高了C语言理论课程和实践课程的教学水平和质量,同时提高了学生的实践应用能力,为培养应用型人才打下了良好的基础。

C语言; 教学方法; 应用型

随着党中央、国务院关于引导部分地方普通本科高校向应用型转变的决策部署的提出,很多地方院校确定了培养应用型技术技能型人才的培养目标。C语言作为工科非计算机专业学生重点学习的程序设计语言[1],学习它能够为电信、电气、自动化等非计算机专业后续课程如数据结构、单片机原理[2]、面向对象程序设计语言等课程的学习打下良好的基础[3]。但是传统的灌输式教学方法易导致学生在学习C语言程序这门课程时出现目标不明确、概念不清晰、基础不牢固、应用不熟练等诸多问题。因此,为了提高该课程的教学效果,为培养应用型人才提供有力支持,本文从以下几个方面对C语言程序设计这门课程进行教学方法探索。

1.上好第一堂理论课

C语言的第一堂课非常重要,但是很多老师仅仅按照ppt内容介绍C语言的历史,然后讲讲编程环境,最后介绍几个简单的例子,学生很难对C语言有整体上的把握。因此,在第一堂课,为了明确程序开发的目标,我们首先要让学生明白什么是计算机程序,引导其明确软件是程序的集合,计算机的硬件需要系统软件和应用软件的支持才能有效的工作,而学习C语言目的是为了进行软件开发。一个完整程序应包含两方面内容:一是对数据的描述,二是对操作的描述。这可以为后面变量的定义和语句的书写打下基础。其次,应介绍C编程的一些预备知识:(1)明确CPU,内存,硬盘三者之间关系,通过形象的人、碗、锅的比方,让学生了解CPU无法直接访问硬盘,内存在两者之间起到至关重要的作用。(2)介绍什么是数据类型,因为我们编程的第一步就是数据存储,而且是分类存储。然后介绍C语言的6种基本数据类型并明确这6种基本类型类

似于6种不同的大小模子,模子所占用的字节数不同,当我们定义变量时,相当于拿着模子在内存中卡出不同大小空间,为数据的存储创造条件。(3)讲解什么是变量,强调变量的本质是内存中的一段存储空间,进而通过画图讲解内存的构成主要由地址和存储空间构成,并且每8位一个字节,每个字节分配一个地址。当我们定义变量并赋值,在运行时,是让变量名和内存中若干字节的存储空间产生一一映射的关系,数值最终是存放在内存中,而当程序终止之后为变量分配的内存空间的使用权限被释放,里面遗留下垃圾值。(4)介绍CPU,内存,集成开发环境VC++6.0和操作系统之间的关系,当编译通过,连接成功后,点击运行,即VC软件请求操作系统调用CPU,CPU作为核心控制单元,发送指令,在内存中分配存储空间,暂存从硬盘中调用的部分信息。再次,明确C语言是一种语言,本质上和学习英语没有区别,学英语为了和外国人交流,学C语言是为了控制计算机。类似于学英语,我们首先也要背单词,C语言需要真正背诵的单词量非常少,仅有32个关键字,而其他大量的词汇可以自己创造,即自定义标识符。掌握单词后学语法,数据类型的定义,运算符的功能和表达式的书写都要遵循一定的语法规则,掌握语法后学习如何造句子,C语言有5种基本语句,有了语句,试着将句子连成段落,即C语言的三种基本结构。

通过以上对计算机基础知识和编程预备知识的介绍,能够让学生对C语言程序这门课程从总体上有个把握,所谓纲举目张,第一堂课讲好,C语言这门课程的讲授已经成功了一半。

2.丰富理论课的教学手段

传统的C语言教学手段多采用讲授加板书的方式,即使使用ppt也很难充分发挥其直观便捷的好处,往往陷入照ppt宣科的困境,导致学生无法提起兴趣。

2.1.合理有效地利用多媒体教学

ppt仅仅是个提高教学效果的工具,教师绝对不能完全依赖ppt,首先即使使用ppt也要做到备课充分,ppt应该主要是诸如语法格式,流程图,表格,大段的程序展示以及运行效果的显示,而格式的解释性文字,流程图的文字解释,程序的解读和注意事项都需要教师做足充分的准备,在展示ppt的同时就要熟练且连贯地把知识点和注意事项一一向学生讲述清楚。其次,不能照搬别人的ppt,即使采用书本附录的ppt也要经过自己的加工,以此来适应每节课的教学,比如讲解最经典的for循环和for循环的嵌套,如果直接采用流程图很难让学生理解,而采用动态效果演示的方式就能充分发挥ppt的优势,让学生一目了然(如图1所示)。

图1 for循环的嵌套示意图

通过动态效果一步一步展示,把学生最难掌握的循环嵌套非常便捷有效地讲述出来,教师只要加上少量的引导,学生自己就会跟着教师的思路逐步掌握该知识点。同时,很多例题不能直接通过ppt展示讲解就一笔带过,要挑选经典的例题在VC++6.0中一步步把语句敲出来,而写代码的过程就是教师带领学生主动积极思考的过程,这样可以化被动接受为主动学习,当然为了节省时间不一定每个程序例题都要在VC++6.0中编辑编译运行一遍。

2.2.采用案例教学法增强学生对编程的理解

案例教学是一种经典的教学方法,它采用互动模式,以案例分析为基础,一般要求涉及丰富的知识点,具有针对性、系统性、可实践性和启发性[4]。C语言内容丰富,知识点繁多,如果按章节学习,通常都是先介绍数据类型,运算符和表达式[5],知识点非常零碎枯燥,学生很难熟练掌握,而且不容易记忆,易产生厌学情绪,导致后面需要用到上述知识点时要么忘了,要么无法灵活运用。如果通过案例

引入知识点就能解决上述问题。例如:求一元二次方程的根问题,这个案例,首先明确算法,即数学解题过程就是编程过程,让学生明确计算机并没有智能到给出方程就能自己解题,而需要程序员通过确定算法,然后按步骤编程,计算机按步骤执行最基本的算术运算和输入输出等语句才能最终完成任务。最后在VC软件中现场编辑输入代码编译连接运行,通过该案例能够使学生认识程序的框架,头文件的意义,变量如何定义,基本输入输出语句的调用,表达式的书写规范等基本知识点,另外还可以把可执行文件单独拿出来双击运行,这样学生对程序开发整个流程就会有恍然大悟的感觉。

2.3.采用启发式教学方法,注重能力培养

教学过程中注重多联系旧的知识点以此来引出新的内容,比如:讲解利用循环嵌套打印输出各种星号图形,可以先利用已掌握的for循环打印输出一行星号和换行,然后启发学生主动思考如何输出多行,学生自然会想到通过嵌套让输出一行的语句重复执行即可。然后演示外层循环变量能够控制行数,内层循环变量能够控制列数,启发学生思考如何通过改变循环变量终值来改变图形形状。

针对某个问题,可以启发学生采用多种方法来实现,并自己去比较方法的不同和优劣。学生尝试不同方法的过程就是主动思考的过程,不仅能够锻炼其编程能力,还能充分激发其主观能动性,养成良好的编程习惯,做到将所学知识融会贯通。

3.加强实践教学,拓展教学方式

C语言是一门实践性很强的课程,高校非计算机专业的C语言程序设计教学环节通常包括课堂理论教学和上机实践两部分[6]。教师通常只注重理论教学而忽视实践,这与建设应用型、服务地方型本科院校的办学定位是不符的。因此为了提高学生的实践应用能力,职业素养和创新能力,适应社会的发展,必须不断丰富实践教学的内容和形式。

3.1.提高上机课学习效率,鼓励学生实践与创新上机课是锻炼学生的实践应用能力的最好的机会,一般也是由理论课老师负责,且学时安排上通

常是一次理论课后紧接着就是上机课。但是上机课往往流于形式,学生自学或者仅仅做做课后练习很难达到实践教学的目的。因此要求教师上机课也要做足充分的准备,每一堂上机课都要有教学大纲和教学目标,备好每一堂上机课,充分配合理论教学。上机时选取符合刚刚理论教学的内容的上机题目让学生练习,做到趁热打铁,并给学生一定的主动思考尝试的时间,然后教师带领学生跟着老师的思路过一遍程序,并强调仅供参考,如果自己有更好的解决办法应给予鼓励。

3.2.采用项目驱动式实践教学提高编程兴趣

项目驱动式教学法是在学生掌握一定的基础知识后,将所学知识隐含在项目中[7],教师提供多种项目供学生选择,学生也可自选,但需经教师审核同意。通过完成项目,驱动学生应用理论知识解决实际问题,同时使学生能够更深入理解C语言,在实践过程中发现程序的优缺点,并积极主动地去寻找改进的途径。项目选取遵循难易适中原则,即要尽可能的覆盖所学知识点,又不能过于复杂,要有一定的实用性,能够吸引学生让其对完成项目有兴趣有信心。学生一般通过分组方式共同完成任务,不同组选择不同项目,教师围绕项目讲解需要用到的知识点,鼓励组员互相讨论解决问题,有意识地培养学生的团队合作意识。这种方法有利于充分调动学生学习的热情,鼓励创造性和个性的发挥,能够有效防止上机实践抄袭现象,而且通过项目实训,学生能够从整体把握C语言的用处,达到融会贯通,提高其实践应用能力。

3.3.搭建自主学习平台,增加师生互动

C语言内容丰富,但学时通常较少,课堂教学讲授的知识往往有限[8],为了能够丰富学生的知识面,更有效地帮助和提高学生的程序设计能力和自学能力,创建了该课程网站,把最新的资料和教案上传到网上提供给学生供学生自学。同时建立qq交流群和微信群,可以随时随地及时地在线解决学生学习C语言时遇到的各种问题,充分利用碎片时间,在这种双向互动中,学生学习能力和积极性可以得到提高,同时教师的教学水平也可以在这种不断解决问题的过程中得到提高,最终达到教学相长的目的。

4.丰富考核方式和考核内容

考核方式能够对学生分析解决问题的能力进行有效的测试,直接决定了学生如何去学习,老师如何去教学[9]。因此考核方式非常重要,但是大多数学校考核方式非常单一,部分院校甚至直接以是否通过省二级考试作为C语言这门课程考核通过与否的标志[10]。这造成了学生不重视平时积累,养成了考前突击的坏毛病。因此需要丰富考核方式,考核内容应该不仅包括对理论知识的掌握情况和上机实践操作的熟练水平的考核,还要强调程序调试技能和学习过程表现等方面的考核,并且要提高平时表现和上机实践在学生考核成绩中所占的比重。平时表现主要考察其主动思考问题的情况、笔试作业完成情况,以及平时点名到课率。上机实践考核主要包括对学生实践过程的监控和考察其平时上机实验题目和项目的完成情况。在上机过程中还可以适当融入一些程序设计竞赛,竞赛题目以实用简短能考察其理论和应用水平为宗旨,设定一定的奖励激发其积极性,程序完成后教师需逐一对程序完成的质量评定相应的分数,并把分数按一定比例折合记入实践考核中,作为成绩构成。

5.结语

实践证明,通过以上教学方法的改进,能够提高C语言程序设计这门课程的教学效果,提高学生对理论知识的理解和对实践操作,编程技能和调试技巧的掌握。为培养应用型人才打下了良好的基础,为学生学习后续课程提供有力的支持。同时作为从事C语言教学的老师,我深刻的意识到随着社会的发展,对人才的需求也在不断的变化,为了适应这种变化培养能够适应社会发展的应用型复合型人才,作为教师应该不断将最新的成果融入到课程教学中去,做到与时俱进适应社会。

[1] 颜丽君.应用型本科院校“高级语言程序设计”实践教学改革措施[J].楚雄师范学院学报,2015,30(3):61-63.

[2] 秦玉平,马靖善.“C语言程序设计”课程教材建设与教学方法研究[J].计算机教育,2010,(4):157-160.

[3] 田华,赵光亮.深层次研究面向对象程序设计中的类和对象[J].铜仁学院学报,2015,17(4):120-121.

[4] 熊启军,宁彬,等.C 语言程序设计课程案例式教学研究及实践[J].计算机时代,2013,(1):55-56.

[5] 王鹏远,苏虹.高校非计算机专业C语言教学改革与实践[J].计算机教育,2010,(2):15-18.

[6] 程波,熊江.面向应用型本科院校的C语言程序设计教学方法改进[J].轻工科技,2015,(5):142-143.

[7] 赵海兵.应用型本科院校C语言程序设计基础课程教法探析[J].福建电脑,2015,(1):130-131.

[8] 陈婷.C语言程序设计实验教学改革探究[J].实验技术与管理,2010,27(10):182-184.

[9] 谢竞博.C语言程序设计教学中的问题及改革建议[J].重庆邮电大学学报(社会科学版),2008,20(2):137-140.

[10] 李翠玉,刘彤,等.应用型工科院校C语言程序设计课程教学改革的探讨[J].福建电脑,2014,(8):133-134.

(责任编辑 田 波)(责任校对 印有家)

Exploration of C Language Programming Course Teaching Method of Non-computer Major in Oriented Universities

LUO Peng, TANG Yonggang, HAO Baoming
( Suzhou University, College of mechanical and Electronic Engineering, Anhui, Suzhou 234000,China )

At present, the teaching mode of C language programming course can not meet the requirements of application oriented universities, the purpose of oriented universities is to train high quality compound application talents, so the practical teaching links in the teaching process was more emphasised; in this paper the problems in the teaching process of C language programming course existing in the non-computer majors in undergraduate colleges and universities was introduced, and the teaching method of C language course was improved and carried out from aspects of teaching content,teaching method,practice teaching,examination way, it not only improved the teaching level and quality of the C language theory course and practice course,but also improved the practical application ability of the students,which has laid a good foundation for the cultivation of application-oriented talents.

C language, teaching methods, application-oriented

G642

A

1673-9639 (2016) 04-0097-04

2016-04-14

安徽省教育厅重大教改项目(2015zdjy160);安徽省教研项目(2014jyxm382);安徽省教育厅质量工程项目(2013zy079);宿州学院自旋电子与纳米材料安徽省重点实验室开放课题资助(编号2014YKF50)。

罗 鹏(1987-),男,汉族,安徽宿州人,助教,硕士,研究方向:光通信新技术。唐永刚 (1971-),男,汉族,安徽宿州人,硕士,教师,教授,主要研究方向:钙钛矿应用。郝保明(1980-),男,汉族,山东东明人,硕士,教师,讲师,主要研究方向:信号与信息处理。

猜你喜欢

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