数学与应用数学专业“C程序设计”教学改革

摘 要: “C程序设计”是数学与应用数学专业的一门基础课,目前该课程在这两个专业中的教学内容有很大的局限性.传统的教学模式基本上不考虑数学与应用数学的专业性,教学手段上还是以教为主,学为辅.根据数学与应用数学专业的特点,从教学内容、教学模式和教学手段等方面对“C程序设计”教学进行了改革.经学生实际学习情况验证,取得了较好的教学效果.

关 键 词 : 数学与应用数学; C程序设计; 教学内容; 教学模式; 教学手段; 探讨

中图分类号:G642 文献标志码:A 文章编号:1006-8228(2013)01-42-03

Research on teaching reform of C programming design for mathematics

and applied mathematics profession

Xu Shuhua

(Department of Mathematics, Shaoxing University, Shaoxing, Zhejiang 312000, China)

Abstract: "C programming design" is a basic course in specialties like mathematics and applied mathematics. At present, the teaching content of "C programming design" for mathematics and applied mathematics major students has significant limitation. Traditional teaching model basically does not consider the profession of mathematics and applied mathematics. Teaching is the main method while self-learning is assistance. According to the characteristic of mathematics and applied mathematics professional, teaching reform for "C programming design" is discussed from the aspects of the teaching content, teaching model and teaching methods in this paper. The students’ practical learning situation demonstrates the effectiveness of our proposed reform method.

Key words: mathematics and applied mathematics; C programming design; teaching content; teaching model; teaching method; discuss

0 引言

C语言是当前国内外广泛使用的计算机程序设计语言之一,由于其语言功能丰富,表达能力强,应用面广,目标程序效率高等优势[1],成为各高等学校理工科专业学生进行程序设计必选的语言之一.对于数学与应用数学专业来说,为了实现使学生“学有所用,学有所得”的教学目的,C语言程序设计课程不仅要求学生掌握其语法,更重要的是培养学生在运用数学知识和计算机解决实际问题时算法的设计与实现的能力,提高其知识应用的能力,逐步让学生筑就良好的程序设计基础,培养全新的思维习惯和严格的软件开发职业训练.从课程结构来看,C程序设计课程既可以作为数学统计分析软件SPSS、Matlab、Maple等其他程序设计课学习的基础,又可以作为数学建模和数值分析等课程的实验课程.因此,C程序设计课的教学在数学与应用数学专业课程结构中有着较为重要的地位.

在学习C程序设计课程中,数学与应用数学专业的学生表现出与计算机专业学生不同的方面,其主要表现在学习C语言的积极性和兴趣不高,存在的主要问题如下.

⑴ C语言知识点过多、过繁,学生在学习过程中可能注重语句、语法等细节而忽略了课程全貌,产生了“只见树木,不见树林”的感觉,因而对该课程心存畏惧,缺乏学习的兴趣;有些学生觉得学了C语言与自己的专业没有太多的联系,觉得学了C语言没用,缺乏学习动力.

⑵ C程序设计的教学模式仍然是一个个小的简单的例题,没有专业性、工程性,学生在学习程序设计的初级阶段没有树立正确的软件工程观念.

⑶ C程序设计的教学手段仍然是以教为主,学为辅,学生遇到问题就向教师求教,缺乏自主学习和自我探索的学习习惯.

⑷ 数学与应用数学专业的学生习惯动笔,不习惯上机操作,缺乏上机调试和改错的能力.

⑸ 学生在编程过程中没有注重培养良好的程序设计风格和规范,好的设计风格不仅使编码更加规范,而且也易于调试和改错.


本文从如何使C程序设计的教学更加符合数学与应用数学专业的要求为出发点,对C程序设计的教学改革进行探讨.

1.教学内容探讨

C程序设计课程在教学内容上力求体现课程的系统性、稳定性和知识的先进性.摒弃一些用得少、过时的知识,增加一些C++的知识.针对这一要求,教学改革过程中对教学内容作了如下几点调整.

1.1 输入与输出

由于C语言牵涉的概念比较复杂,规则繁多,用法灵活,容易出错,因而不少初学者感到困难.其中格式输入scanf函数与输出printf函数就是一个例子.格式输入输出的规定比较繁琐,此类函数的调用语句书写起来比较冗长,用的不准确就得不到预期的结果,而输入输出又是最基本的操作,几乎每个程序都包含输入输出,不少编程人员由于掌握不好这方面的知识而浪费了大量调试程序的时间.由于C++语言完全兼容C语言,因此在这一节内容的讲解时可引入C++中的标准输入流cin和标准输出流cout,以简化输入输出操作. 1.2 字符串

除了输入、输出和计算以外,文本处理也是编程过程中一个非常重要的方面.由于C语言中没有专门的字符串变量,如果想将一个字符串存放在变量中以便保存,一种方法是使用字符数组来存放,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符[2];另一种方法是使用字符指针实现字符串.但是在C++语言中提供了一种既方便又好用的string类型,其中包括能够用来遍历字符串中的部分或全部元素的四种迭代器,分别为begin、end、rbegin和rend,包括计算字符串容量的相关操作,还包括很多有用的成员函数,可以用来构建字符串对象,对字符串进行赋值,可以访问元素、修改、字符串操作.因此,在讲到数据的类型时会增加string类型的讲解,让同学们通过网络查找资料学会string类型相关函数的操作.

在讲解数据类型、运算符与表达式这章时,可以不讲解数据在计算机内存中的存储形式,因为对初学者来说接触这些内容会感觉比较难学.预处理命令这一章的内容不是最基本的,可以考虑让学生自学.位运算的内容适合于编写系统软件,适用于硬件,所以位运算这一章的内容也可让学生自学.

2.教学模式探讨

C程序设计课程在教学模式上要体现编程能力的实用性、专业性、工程性.在C语言的教学过程中,找到适合数学专业的学生学习特点的教学手段和方法,合理地组织教学内容、精心地设计教学案例,是整个教学改革的核心.我们选择了一个综合型的小型系统任务和与专业相关的一些案例.选择小型系统和案例的主要依据有,小型系统内容要基本涵盖C程序设计课程各章节的绝大部分知识点,并且是学生感兴趣的和熟悉的内容;所选择的小型系统应有一定的综合性,且要在任务驱动下容易完成,难度系数应该根据学生的知识掌握程度来设定,以维护学生信心,保持学习动力;系统的每个功能模块完成后应能看到具体的效果,使学生完成任务后有成就感,提高他们进一步学习的兴趣;最后让学生进行归纳、概括、总结,让知识理解升华.

在教学改革过程中,我们选择了学生成绩管理信息系统作为我们整个贯穿各章节知识的小型系统,该系统由标准任务和复杂任务构成,标准任务及其各模块所占分值如表1所示.

除了选择一个小型综合性的系统让同学们来开发,还根据教学大纲、教材内容安排和数学专业实际情况,选择超长整数运算、最大公因数、最小公倍数、因式分解、完美数、阿姆斯壮数、上三角、下三角、对称 矩阵、m元素集合的n个元素子集、数学拆解等案例作为小型系统任务的补充.每个案例都以表格的形式制定了严格的评分标准,由于篇幅关系,我们列举出一个案例的评分标准表格,如表5所示,其余案例的评分标准表格与此类似,在这就不累赘了.

3.教学手段探讨

教学手段需要体现课堂教学的互动性、网络平台的沟通及时性.为了及时了解学生的学习情况,我们每周安排了一次固定时间和地点的答疑,并且构建了该课程的网络学习平台(为http://zlgc.usx.edu./kc/cyuyan),在这个网站学习平台上,有实践教学、电子教案、作业习题、模拟试题、课程资料和在线答疑等栏目,学生可以下载学习资料,模拟做题,在线提问,教师可以在线答疑.在此列举一个学生的提问,如图1所示;针对该问题的回复如图2所示.教师会把一些典型的问题拿到课堂上进行讲解.

4.结束语

C程序设计是高等学校数学与应用数学专业的一门重要基础课,使用计算机语言编写程序解决数学问题,已经成为数学与应用数学专业大学生必备的一种能力要求[3],本文从教学内容上、教学模式上和教学手段上对数学与应用数学专业的“C程序设计”课程教学改革进行了探讨,突出其作为专业基础课的特点.以一个小型综合性的系统开发项目贯穿整个课程绝大部分知识点,同时挑选一些紧密结合本专业领域的案例作为辅助进行教学,为进一步的程序设计和专业运用奠定基础.本文这些教学改革已经在实际教学中得到了应用,并且取得了良好的效果.

类似论文

高校非计算机专业VFP程序设计教学

摘 要:当今社会,计算机技术广泛应用于各行各业,当代大学生必须掌握计算机知识和技能,以适应未来的竞争和发展 VF。
更新日期:2024-6-5 浏览量:14476 点赞量:4776

非计算机专业VB程序设计教学方法

【摘 要】VB程序设计作为一门可视化的高级编程语言,已成为高校非计算机专业学生必修的计算机课程之。
更新日期:2024-6-18 浏览量:82369 点赞量:18538

计算机专业Ja程序设计教学改革

摘 要:Ja程序设计是计算机专业的一门非常重要的课程,受到同学的欢迎,同时也存在很多问题、面临很多。
更新日期:2024-7-5 浏览量:15202 点赞量:4774

关于本科数学专业常微分方程教学改革的

摘 要:常微分方程在整个数学大厦中占据着重要位置,是数学分析,高等代数的后继课程,对培养学生进一步学习和研究的能。
更新日期:2024-1-21 浏览量:22567 点赞量:6776

非计算机专业C语言程序设计教学改革

摘 要本文分析和论述了目前高等学校中C语言程序设计课程教学中存在的主要问题,提出了行之有效的教学改革方案,旨。
更新日期:2024-10-3 浏览量:19608 点赞量:5956