【摘要】本科院校非计算机专业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

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

阅读次数:人次

数学在c语言的作用,【程序设计论文】数学专业C语言程序设计课程教学探讨(共3174字)...相关推荐

  1. 中专计算机设备与学生比例,【计算机教育论文】中职生计算机基础教学分析(共3170字)...

    一课程现状和问题 在教学当中,计算机课程的内容都要给学生全面细致的教授.虽然要一学年的时间完成该课程的学习,但是还是会出现课时少.内容多的现象,尤其是上机实训课时,尽管现在在教学方式上不断改革优化,但 ...

  2. 高职院校计算机基础课程,高职院校计算机基础课程教学探讨的论文

    高职院校计算机基础课程教学探讨的论文 [论文摘要]计算机与信息技术的迅猛发展,迫使高职院校的计算机基础课程教学内容也必须进行相应的调整.本文以力求提高高职院校计算机基础课程教学效果为出发点,提出了加强 ...

  3. c语言程序设计思路文字,【程序设计论文】谈C语言程序设计教学方法(共3703字)...

    [摘要]C语言程序设计是非计算机专业学生学习的第一门高级程序设计语言,在教授这门课程的时候,会发现教学中存在各种各样的问题.教师应该从实际应用出发,找到教学的重难点如算法和数据结构上,注重学生的逻辑思 ...

  4. C语言程序设计技能教程,【程序设计论文】C语言程序设计课程的教学方法(共4033字)...

    摘要:C语言程序设计是目前计算机类专业的必修课程,旨在让学生了解程序设计的基本原则以及程序设计语言的有效运用.C语言程序设计在未来的工作实践中应用性广泛,因此积极探讨相应的教学方法,分析不同教学方法的 ...

  5. 翻转课堂计算机语言逻辑性,【程序设计论文】翻转课堂在程序设计课程中的应用(共4312字)...

    摘要:随着信息技术的迅猛发展,涌现出了物联网技术.云计算技术.人工智能技术等一系列高精尖技术,并不断推动编程语言的改革与发展,C语言作为众多编程语言之首,也迎来了新的机遇与挑战.与此同时,高校对于教学 ...

  6. 电气自动化学c语言有什么作用,电气工程及其自动化专业C语言课程教学改革-2019年教育文档...

    <电气工程及其自动化专业C语言课程教学改革-2019年教育文档>由会员分享,可在线阅读,更多相关<电气工程及其自动化专业C语言课程教学改革-2019年教育文档(4页珍藏版)>请 ...

  7. 计算机课程教学探讨新闻,信息学院召开《计算机程序设计》课程教学研讨会

    为适应新的本科生教学培养方案,信息学院<计算机程序设计>课程组于7月11日举行了课程教学研讨会.<计算机程序设计>课程组全体教师,后续计算机类通修课程的相关教师和信息学院本科生 ...

  8. matlab仿真参考文献,学生仿真论文,关于《MATLAB仿真》课程教学改革和相关参考文献资料-免费论文范文...

    导读:该文是关于学生仿真论文范文,为你的论文写作提供相关论文资料参考. 樊春霞 (南京邮电大学自动化学院,江苏 南京 210003) 摘 要: MATLAB软件是科学研究.工程技术以及管理决策等领域内 ...

  9. 计算机组成原理课内实验,【计算机基础论文】计算机组成原理课程实验教学改革(共2885字)...

    摘要:目前<计算机组成原理>的实验内容存在与课程定位目标相悖的问题,一味追求实验内容的复杂性,而忽视了计算机组成原理实验教学的完整性和概念性.针对上述问题,本文对<计算机组成原理&g ...

最新文章

  1. Android SDK 2.3与Eclipse最新版开发环境搭建(一)
  2. 安装SQLserver2008
  3. 日志组件DotNetCommon.Filelog
  4. Centos 7和 Centos 6开放查看端口 防火墙关闭打开
  5. 计算机双一流a水平大学,教育部公布:全国双一流A类名单出炉,36所大学上榜,你的大学在内吗...
  6. linux定时监控端口并重新启动shell脚本命令
  7. JMeter基础之组件的作用域与执行顺序
  8. [翻译]Hystrix wiki–How it Works
  9. intellij idea 2016.3.5 控制台取消行数限制
  10. 五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg, THULAC, HanLP
  11. HTML5基础知识习题 一
  12. 使用uddi sdk发布服务到UDDI时的安全配置
  13. php酒店客房管理,基于PHP的酒店客房管理系统的设计与实现2.doc
  14. C语言99乘法表,求指点
  15. 积雪草酸肌白蛋白纳米粒|野黄芩苷豆清白蛋白纳米粒|黄芩苷蓖麻蛋白纳米粒(齐岳)
  16. 如何优雅的将代码粘贴到报告上(高亮+格式化+行号)
  17. win7网络本地连接服务器未响应,Win7本地连接未识别无法连接网络如何解决
  18. 这样构建的用户画像!想不懂你的用户都难
  19. 西工大NOJ数据结构理论——015.建立二叉树的二叉链表存储结构(严6.70)
  20. Vue:获取当前定位城市名

热门文章

  1. 成熟港口人工智能Ceaspectus领跑全球智能港口码头人工智能应用落地,全球No.1集装箱AI企业中集飞瞳建设智慧港口智能码头
  2. 通信算法之149:EVM测量
  3. 怎样学习嵌入式软件开发
  4. excel表格分割线一分为二_Anki+思维导图的两种方法(Anki+表格,Anki+幕布)
  5. 水文气象学数据可视化——Panoply软件的下载
  6. 4.6有一个函数。 写程序,输入x的值,输出相应的y值
  7. 中心极限定理-通俗理解
  8. 佟年计算机大赛,《亲爱的,热爱的》热播,吴白见到佟年第一眼,这眼神亮了!...
  9. 算法mips与mcps 的分析
  10. java中printf,print,println,区别及用法详解