APP下载

新工科背景下的C语言教学改革探索

2019-04-19张亚红陈辉

教育教学论坛 2019年17期
关键词:C语言新工科教学改革

张亚红 陈辉

摘要:为了适应新形势下新工科人才培养的需要,本文通过分析《C语言程序设计》教学中存在的问题,从教学模式、考核方式等方面进行改革探索,旨在提高学生分析问题、综合运用所学解决实际问题的能力。

关键词:新工科;C语言;教学改革

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2019)17-0125-02

教育部提出新工科的概念,对工程科技人才提出了更高的要求,迫切需要加快工程教育改革创新,培养工程实践能力强、创新能力强、具备国际竞争力的高素质复合型“新工科”人才[1],以满足未来新兴产业和新经济需要。新工科人才不仅能运用所掌握的知识解决现有的问题,还有能力学习新知识、新技术以解决未来发展出现的问题,对未来技术和产业起到引领作用[2]。

在工业4.0时代,“中国制造2025”,物联网、云计算、大数据等创新业态催生了大学教育转型,那么在新工科的背景下,我们应该如何主动进行《C语言程序设计》课程教学方法的改革,以满足新形势下社会对大学生的需求呢?本文主要从侧重实践激发学生兴趣、提高学生程序调试能力、考核模式等方面进行了探讨。

一、C语言教学当前的现状

C语言跟其他语言比较,它的算法描述直观通用,语法结构简洁,程序性能高。学好C语言将有助于学习其他语言。开设C语言程序设计的目标是培养学生初步具有求解复杂科学问题的计算思维能力、算法设计能力、程序编程能力和测试分析能力[3]。但在教学实践过程当中不难发现大多数学生在课上能听懂和理解基本语法和语句执行过程,但是让他们上机编程时却不知如何下手,稍稍复杂一点的程序设计题更是无从下手。出现这种状况的原因有如下几方面。

1.教学内容繁杂,学习兴趣低。C语言知识点繁多,数据结构复杂。对于绝大多数非计算机专业学生而言,《C语言程序设计》是一门公共基础课,只要求学生了解程序设计的基本原理、基本的编程步骤和算法设计的基本思想,因此大多数教师主要从语法出发来讲授这门课。然而,近年来大学的大规模扩招,地方院校的许多学生基础较为薄弱。教师花了较多时间来讲授语法知识,学生通过死记硬背,虽然看懂了例题,但要自己动手编程时不知道如何下手,因此容易对这门课产生畏难心理。

2.偏理论,轻实践。要想让学生学好C语言,必须通过大量的编程实践。只有不断地进行调试和改错,才能让学生对语法和编程思维有深刻的理解。以我校的《C语言程序设计》为例,总课时为48,理论课时为30,实践课时为18。教师上课讲的较多,演示的也多是课本上的典型案例。学生没有大量时间去上机编程、调试、改错,因此无法掌握编写程序的基本思维,因此在遇到实际的编程问题时自然无从下手。

3.考核方式单一。该门课程考核方式为笔试,占总成绩的70%,实验只占20%,平时占10%,在这种考核方式下,学生为了通过考试只能靠死记硬背、囫囵吞枣,除了在有限实验课上机编程外,课外只有很少学生花时间练习编程。

二、改革的具体措施

1.侧重实践,激发学生的学习兴趣。《C语言程序设计》实践性强,只有通过实践才能加深理解并掌握逻辑性强的知识,因此需要在理论课讲完知识点后,立即让学生上机操作及时验证和理解讲授的内容。与此同时,实践方面的课时也要增加,以指导学生进行大量的编程练习。对于选取的实验题目,难度不但要循序渐进,而且要兼顾实用性和趣味性,使得基本语法和流程控制语句在程序的运行过程中逐步被学生掌握。在此基础上可适当增加难度,让学生逐渐克服学习C语言的畏难情绪,使得原先的“要我学”变成“我要学”,以提升他们学习的积极性和主动性。

具体设计实验题目的步骤为:首先,理解每条语句。可以让学生根据程序注释完成程序填空,或者对已给出的程序语句写出它的注释。其次,引导学生建立编程思维。可以给出程序的功能注释和流程图,要求根据流程图完成程序填空或程序的编程,或者给出程序让学生画出流程图并写出程序的功能注释。最后,编程训练,学习分析经典算法的程序代码,提出类似的问题,要求学生进行模仿编写程序,通过调试发现错误,寻找错误,改正错误直至编译通过,从而激发学生对编程的兴趣。在写实验报告时,要求每个程序都要有程序流程图、注释、运行结果及分析。

2.提高学生程序调试能力和解决实际问题的能力。学习C语言的目的是通过编程来解决实际问题,那么学生应具备的最基本的也是最重要的能力就是程序调试能力。换句话说,《C语言程序设计》这门课的教学首要任务就是培养学生具备一定的程序调试能力[3]。学生能够运用调试工具,通过编译器给出的出错提示信息或观察程序运行的错误结果,分析程序运行的过程,找到出错代码的位置。分析出是什么原因导致此类错误的出现,通过改正错误代码,逐步积累编程经验,从而掌握语法细节和算法思想,不断提高编程水平。总的说来,C语言源程序中出现的错误有语法错误、逻辑错误和算法错误这三种[3]。对于语法错误,处理的难度较小,因为C语言的编译器会给出一些信息提示;对于逻辑错误和算法错误,调试处理起来难度相对较大,因为它考验的是学生对算法和逻辑知识的掌握。这就要求学生能够运用C语言的调试工具跟踪其中变量值的變化,理清程序运行的过程。为了提高学生独立调试程序的能力,教师在演示程序调试过程时,指导学生根据错误提示判断错误代码出现的位置,进而修改错误代码直至调试通过,还可以将编程中经常遇到的语法错误进行归纳总结,并将总结的出错类型和错误原因分发给学生。对于逻辑错误,教师通过举例,利用C语言的调试工具讲解如何根据单步运行和设置断点来分析程序的运行过程以及跟踪变量值的变化,从而确定错误出现的位置。

教师通过讲解调试过程,让学生通过大量的上机编程练习,熟悉调试步骤,逐步养成独立调试程序的习惯,形成以学生为中心的工程教育模式,使得学生的程序调试能力和编程能力得到提高。

3.改革传统考核方式。传统的笔试考核方式对于学生的编程能力不能做出较为客观的评价。因此,在对C语言课程考核中应该减少笔试考试占总评成绩的比重,加强编程能力和程序调试能力的考核。考核方式可由四部分组成:平时成绩10%、实验成绩20%、上机考试40%、期末成绩30%。其中,平时成绩包括作业和出勤;实验和上机考试主要考核学生的编程调试能力和解决实际问题的能力,上机考试采用在试题库中随机抽取的方式进行考核。

4.鼓励和引导学生参加比赛,提升学生的创新能力。为了提高学生解决实际问题的能力和开阔他们的视野,提升创新能力,教师应该积极鼓励和引导学生参加程序设计类大赛,如蓝桥杯大赛、ACM大赛等,以赛促学,激发学生的学习兴趣,提高学生的编程能力和创新能力。

三、结语

结合新工科形式下人才培养的目标,针对C语言课程现状及存在的问题。本文通过侧重实践,提高学生的程序调试能力,改革传统考核方式,鼓励学生参加程序设计类比赛,将学习的积极性、主动性激发起来,让学生学会如何去发现问题、分析问题,从而提高解决问题的能力和创新能力。

参考文献:

[1]杨晓燕,梁丰,王仁芳,等.新工科教育中计算机应用型人才培养实践探索[J].计算机教育,2018,(5):56-58.

[2]孙安媛,孙德林,徐舒.“互联网+”背景下新工科信息化创新创业多样化探索[J].江西通信科技,2008,(1):35-38.

[3]闫红彦,王玉秋.《C语言程序设计》课程面向创新型实用型人才培养的实验教学改革探讨——以白城师范学院为例[J].白城师范学院学报,2016,30(12):101-103.

猜你喜欢

C语言新工科教学改革
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
面向新工科的Python程序设计交叉融合案例教学
高职高专院校C语言程序设计教学改革探索
论子函数在C语言数据格式输出中的应用