公务员期刊网 论文中心 正文

数学专业C语言程序设计课程教学探讨

数学专业C语言程序设计课程教学探讨

【摘要】本科院校非计算机专业C语言课程的教学一直是个重点和难点问题,本文以数学专业为例,分析了造成C语言课程教学效果不好的几个重要因素,并在此基础上提出了一系列的教学改革措施,包括根据数学专业的特点调整授课内容、改进教学方式方法、加强实践动手训练环节、对考核方式进行改革等。经过多年课堂教学实践,发现这些措施能取得较好的教学效果。

【关键词】C语言;数学专业;教学探讨

1前言

在本科院校中,《C语言程序设计》课程一直是计算机及其它理工科类专业的专业基础课程。该课程以C语言为载体,培养学生对计算机程序设计语言的直观认识和使用程序设计语言编写简单的应用程序以及解决实际问题的能力,并且能训练学生的逻辑思维能力,是理工类专业的重要基础课程[1]。对于数学专业学生来说,该课程既是该专业后续《数学建模》、《数值分析》等课程的实践基础,也是python、matlab等其它和数据分析关系较为紧密的编程语言的基础[2]。《C语言程序设计》课程知识掌握的好坏对该专业学生的后续学习来说显得尤为重要。虽然《C语言程序设计》课程较为重要,然而多年来学生普遍反映该课程较难,在很多时候往往不能取得较好的教学效果,经过对数学专业学生大量的问卷调查和经验总结,发现主要原因如下:(1)C语言本身特性较难。C语言特性决定了本身知识点较多,语法规则复杂难学,尤其是课程后期的指针、结构体等内容对初学者来说尤其难以掌握,而这些内容又是后续学习和日常应用中经常需要使用的,学生如果不掌握相关内容就无法学好C语言。(2)传统授课方式单调乏味。在传统的C语言教学方法中,通常都是先讲解概念,在此基础上介绍语法,然后再讲解例子并让学生上机练习[3]。该教学方式互动较少,学习起来枯燥乏味,学生容易产生厌倦及抵触情绪。(3)学生对该课程的重视程度不足。计算机专业学生大多清楚C语言在整个专业学习和后续就业工作中的重要作用,主观能动性和学习意愿较强,愿意投入大量的精力和实践到该课程的学习中去。而数学专业的学生,往往不重视该课程,甚至部分学生认为该课程是可有可无的副课,不愿投入精力进行学习和实践,导致学习效果不佳[4]。(4)实践效果不佳。C语言对实践要求很高,课程在教学过程中为了培养学生的动手能力,会配套设置若干学时的实验课。然而受传统的教学方法影响,学生和老师往往会忽视上机实践环节,教师在实验课时虽然也经常在学生机位前巡查指导,但由于学生数量较多无法顾及所有学生的实践情况,学生在上机实践过程中有了问题往往也不会主动询问,导致实践效果不佳。学生课外实践投入的时间精力不足进一步弱化了实践效果[5]。

2教学改革思路及措施

2.1根据数学专业的特点调整授课内容和重点难点

数学专业和计算机专业学生的计算机知识基础不同,C语言在以后两个专业学生各自学习工作中的地位和作用的偏重也有所区别,因此在教学过程中应根据数学专业的特点对课程授课内容和重点难点进行有针对性的调整,对C语言中一些涉及计算机底层硬件相关的内容酌情删减,对有利于数学专业学生增强了解C语言和以后学习工作中容易用到的相关知识进行详细讲解。例如,在介绍函数时可以举些常用的数学相关函数如求绝对值abs、求平方根sqrt等的实现作为例子;在介绍二维数组时通过和数学概念中的矩阵进行比较。同时,对C语言中和数学表述中的不同点要进行重点强调,以免学生产生混淆,比如赋值符号=,关系运算符<=、==、>=等。

2.2改进教学方式和教学理念

认真准备,上好《C语言程序设计》的第一堂课。数学专业的学生在上该课程之前普遍对计算机和程序设计语言没有直观的了解,可以通过一些图文并茂的方式介绍计算机和C语言的历史、C语言的用处、和数学专业的关系等内容,提高数学专业学生对C语言重要性的认识,增强学习兴趣和主观能动性。采用案例教学的方式进行授课,在教学过程中有关键的知识点时,除了介绍清楚相关的概念外,还要通过一些典型的案例和例子来进行辅助讲解,增强学生的映像和灵活应用能力。邀请各个层次各个专业(包括计算机专业和数学专业)的老师进行听课并进行深入的交流,全方位多角度的听取上课过程中的意见和建议,有针对性的提高和改进。并且经常去听取数学专业的老师是如何给数学专业学生上专业课的,从中学习和借鉴做的较好的地方。当前各种C语言相关的在线网络课程也很丰富,教学过程中也可以有针对性的推荐学生利用网络资源进行学习,和课上学习的内容互相补充、比较,更利用掌握相关知识。

2.3加强实践动手训练

C语言课程光掌握概念和理论知识并不能很好的写出能解决实际问题的程序,要真正掌握C语言,需要大量的上机实践。如何利用C语言实验课提高学生的实践动手能力显得尤为重要。首先,在实验课内容的安排上,应考虑到数学专业学生的特点,不能照搬计算机专业学生的实验内容。实验题目的选择不宜过多过难,实验题目背景应尽可能和数学专业相结合。实验课时以组为单位,每组指定一名掌握较好的学生担任组长,鼓励组员间在实验过程中相互讨论。

2.4考核方式的改革

传统的C语言考核方式分为平时得分和期末得分,平时得分很大一部分为作业,期末通常采用闭卷考试的方式,容易造成学生为了获得高分采用背概念、背习题的现象,容易造成“高分低能”,违背了C语言课程提高学生逻辑思维能力和解决实际问题能力的教学目标。为了避免此类为分而背的现象,可以尝试对考核方式进行适当调整,比如平时作业采用线上onlinejudge平台进行,学生在线编程,由系统对学生所提交的程序进行自动评判;鼓励学生积极参加计算机C语言等级考试,通过后给与适当加分;积极引导学生参加ACM程序设计竞赛,获得一定奖项甚至可以免考等。

3总结

对数学专业学生来说,C语言课程是一门较为难学的课程,学习效果往往差强人意。造成该现象的原因众多,包括既有课程本身难度较大、学生主观意愿不强、教师授课方式方法有待改进等。本文在对这些原因进行了细致分析后,在平时经验总结的基础上,提出了一系列教学改革建议,这些建议经过多年的教学实践,在地方本科院校数学专业班级取得了良好的教学成果。

参考文献:

[1]卢敏,沈伟华,朱文耀.C语言程序设计基础[B].浙江大学出版社,2013

[2]郭琳琴,高文莲.数学专业C语言循环结构教学研究[J].吕梁高等专科学校学报,2010(09):63-65

[3]陈伟宏,何建新,习胜丰.高校非计算机专业C语言教学改革探讨与实践[J].课程教材改革.2013:101-103

[4]湛静梅.数学专业C语言教学浅谈[J].中国校外教育.2013(05):166-167

[5]李楠.《C语言程序设计》公共课在应用型本科院校中的教学模式浅析[J].微型电脑应用.2015(12):19-20

作者:叶振 单位:浙江省丽水学院工学院