应用型本科C语言少学时教学实践

2018-05-14 17:05李果
农村经济与科技 2018年10期
关键词:C语言应用型人才教学实践

李果

[摘 要]在向应用型本科转型背景下,计算机基础课程教学课时大幅降低,C语言的教学面临课时短和内容多的矛盾,通过优化教学流程、突出程序教学关键点、以项目编程收尾等方式改进C语言教学,帮助学生掌握编程通识,提升编程能力。

[关键词]应用型人才;C语言;少学时;教学实践

[中图分类号]G642 [文献标识码]A

C语言诞生于上世纪70年代初,是一门久远但富有生命力的计算机语言,长期高居编程语言排行榜前三。在中国众多高校,C语言一直是理工科专业大学计算机基础教学的首选语言。近年来,随着普通本科教育向应用型本科教育转型发展,大学课程建设也要紧紧围绕这一主题。以我校为例,C语言作为大学计算机基础课,面向的是大一非计算机专业理工科学生,大多数没有计算机编程经验甚至计算机基本操作都不熟练。我校C语言理论课时为26学时,分13次进行,要在较短学时前提下,完成C语言完整的知识传授并为今后拓展学习打下良好基础,这对课堂教学是个挑战。本文从近年来教学实践中总结出少学时前提下一些有效教学的经验。

1 教学实践

1.1 优化教学流程

谭浩强先生的《C语言程序设计》是我国高校中使用最廣泛的C语言教材,2017年第五版发行已超1400万册,对同类教材编写和高校C语言教学影响深远。教材前六章按照C语言简介、算法简介、顺序结构、选择结构、循环结构、数组的顺序编排,直到第七章才正式介绍C程序基本的组成模块——函数。教材编排直接影响到课堂教学的进度安排,参考该教材顺序开展教学的话,需要先花十几个学时在C语言基本语法细节上,比如常量和变量、数据类型、各种运算符的使用等。过于追究语法细节,花了大量时间到头来仍搞不清程序基本构造,学生学习热情受挫、学习动力不足。一个较好的教学实践是以函数作为教学的起点,让学生从宏观角度把握C程序的基本构造,掌握模块化编程的思想,即C程序都是由函数构成的:一是作为程序“司令官”的独一无二的main函数;二是前人造好的“轮子”库函数;三是我们为实现特定功能编写的自定义函数。任何函数都具有相同的结构,独占一行的函数头以及由大括号包围的函数体。通过对函数类型的介绍以及函数结构的分析,理解模块化编程思想,无论长短的C程序,在读程序时都能清晰识别其结构。

1.2 程序教学关键点

通过函数的教学让学生从宏观角度快速掌握C程序的基本结构,之后便可在教学中完善计算机语言通用语法知识。从教学实践看,有两个关键知识点需要突出:一是关于变量,程序编写必然涉及大量数据,变量是不可或缺的。同时变量关联的知识极广,从为变量赋值、变量类型、变量运算到指针的运用。然而多数教材对C语言中的变量着墨不多,比如谭版C停留在变量是值可以改变的量这一抽象层面。必须指出变量本质是关联的存储单元,若存储器是大厦,变量便是大厦的房间,由此关于变量关联的知识便引刃而解,比如变量有不同规格、变量中的值可以修改、变量的地址即指针。二是简单程序的编写方法,即DIPO方法。对于C语言初学者,面对简单问题写程序却不知如何下手,其实这些问题大都有固定的编程模式。第一步,D即define,首先定义程序需要使用的变量,遵循变量先定义后使用的原则。第二步,I即input,对程序中的变量进行初始化或者手工输入赋值。第三步,P即process,根据问题进行相应计算或其他处理。第四步,O即output,输出程序运行结果。理解了变量和DIPO方法,也就消除了通用简单程序设计的基本障碍。

1.3 以项目收尾

当前多数C程序设计教材,编程练习以数值计算问题为主,难度不大,结构简单,实现代码短,但对学生代码能力锻炼不够。在教学的收尾阶段,宜通过小型项目形式串联起所学全部知识,如简单动画、小游戏和小型信息管理系统等,单项目代码量数百行。但要指出的是,C语言目前主要活跃于系统软件和嵌入式软件开发,脱离具体场景很难谈实际应用,而这些光靠C语言一门课程是难以实现的,还需要后续配套课程的跟进。

2 结语

在C语言教学中,通过优化教学流程、突出教学关键点和以项目结束教学,在短学时教学中取得了一定的教学效果,多数学生能在全程保持较高的学习热情,对程序设计基本通识掌握较好。但作为非计算机专业的大学计算机基础课程,C语言作为贴近硬件并广泛使用的系统语言难以满足普遍的兴趣和需求,毕竟在C语言诞生的年代,互联网、移动应用等都还没出现。2017年,Python语言进入浙江省信息技术教材,同时成为全国计算机等级考试新增科目,并成为IEEE计算机编程语言排行榜第一名。简单易学、拥有丰富数据结构、代码规范且深受人工智能算法青睐的Python语言也许代表今后计算机基础教学改革的方向。

[参考文献]

[1] 谭浩强.C程序设计(第5版)[M].北京:清华大学出版社,2017.

[2] 车万翔,苏小红,袁永峰,等.计算机专业高级语言程序设计课程改革探索[J].计算机教育,2014(13).

猜你喜欢
C语言应用型人才教学实践
“C语言程序设计”课程混合教学探索
基于C语言的计算机软件编程技术探究
中职C语言单片机课堂教学中的趣味性探讨
计算机原理中C语言的应用价值
艺术设计专业应用型人才培养的教学探索研究
中职计算机应用课程教学改革与反思
浅论高中化学生活化教学的实践与思考
浅谈初中物理实验教学与学生创新能力的培养
测量平差课程教学改革探讨与实践
浅析应用型人才培养下的物理教学改革