面向C语言课程的多角度模块化教学方法

点赞:4519 浏览:11813 近期更新时间:2024-04-11 作者:网友分享原创网站原创

摘 要 :针对C语言课程中概念繁杂,规则多样等教学难点,提出了多角度模块化教学方法,从概念、算法、实验三方面进行模块化教学探索.通过班级试点表明了该教学方法的有效性.

关 键 词 :程序设计;C语言;多角度;模块化;教学方法

中图分类号:G642.0?摇 文献标志码:B 文章编号:1674-9324(2013)19-0204-02

1.引言

程序设计课程是工科大学生的计算机基础教育必修课,而C语言作为一种常见的高级语言被广泛采用.另外,C语言程序设计课程也是计算机科学与技术专业的学科基础课程,是数据结构、操作系统等课程的先修课程.通过该课程的学习,可以使学生了解高级语言程序设计的基本思想,掌握相应的程序设计语法与一定的算法,为后续课程打下良好基础[1].

然而,C语言涉及的概念较多,其语法规则广且较分散,各知识点间有穿插,常常使初学者很难理清头绪.传统教学方法按照相关知识点顺序介绍,常常使学生在学习的中前期“只见树木不见森林”,陷入到语法规则中.这样,部分学生在趣味性较多的算法介绍到来之前容易丧失信心甚至放弃学习.


针对这种情况,本文提出了多角度模块化教学方式,通过对教学内容进行整体化归纳提炼,使得学生在教学的早期阶段能够对课程有感性的整体认识.另外,通过不同视角的知识点模块化,让学生从多个角度理解相关概念及它们的区别与联系,从而达到更好地掌握课程知识的目的.

本文剩余部分的结构为:第2节详细介绍了多角度模块化教学方法的实施细节,第3节介绍该教学改革的试点情况,第4节对全文进行了总结.

2.多角度模块化教学方法

C语言课程知识点较多,包括:数据类型,运算符与表达式,顺序程序,循环程序,数组,函数,编译预处理,指针,结构体与共用体,文件,等.这些知识点中又包含相当多的语法规则,显得零零碎碎,初学的学生很难把握[2].本章从三个不同的视角介绍模块化教学方式以解决这些问题.

2.1概念模块化

通过将众多的概念知识归纳提炼并模块化授课,可以有利于学生从总体上把握概念,也便于进一步自学更多的知识点.以数据类型为例,授课时并不是逐一讲解,而是首先以模块化方式展现这一部分的主要知识点,图1给出了这部分概念模块化的一个示意图.

授课时根据模块图讲解概念间的区别和联系,鼓励学生克服对这一部分的学习感到枯燥的情绪,然后再逐步讲解这些概念内容,讲解中注重相关比较,使得学生进一步加深印象.

由于从不同角度归纳总结存在不同的模块化,因此同时展现多个角度的知识概念模块对深刻理解问题是非常重要的,以C语言中的作用域与存储类别为例,通过时间和空间的不同角度可以加深学生对这部分重要概念的掌握.图2给出了从作用域角度和存在时间角度归纳的变量存储类别.这些模块化归纳对学生深入理解和掌握函数及软件复用的相关概念和思想是非常必要的.

2.2常见算法模块化

学生在课程教学的中后期开始逐步理解和阅读相关程序,但自己写程序却非常困难,常常对自己理解的简单的程序也难以独立写出,这是因为缺少常见算法的模式积累.如同英语作文写作需要积累一定的句式一样,程序设计初学者也需要积累一定的常见算法模块.可以从多个角度积累相关算法模块,如从实际问题的角度、从程序套路的角度归纳提炼并进行模块化.

以实际问题的角度为例,比较重要的算法有:求素数、求公倍数公约数等等,这些算法的重要性其实不在应用本身,而是一种编程思想的锻炼.对这些问题模块化,有助于训练学生快速独立编写程序,树立学习信心.

从程序套路的角度,对初学者而言,熟练掌握累加、阶乘、求最值等的模块化套路是非常重要的.以累加为例:诸如:□-□+等±□ 此类的程序均可模块化为如下代码:

面向C语言课程的多角度模块化教学方法参考属性评定
有关论文范文主题研究: 关于计算机基础的论文范本 大学生适用: 研究生毕业论文、研究生论文
相关参考文献下载数量: 37 写作解决问题: 如何怎么撰写
毕业论文开题报告: 标准论文格式、论文目录 职称论文适用: 期刊发表、职称评中级
所属大学生专业类别: 如何怎么撰写 论文题目推荐度: 最新题目

sum等于0;sign等于1;for(i等于0;i

其中□为泛化的累加项,sum记录累加和,sign记录正负号变化,i是循环变量,N是循环次数.通过将这些套路模块化也有助于学生理解计算机与人各自的优缺点,理解自然语言转化为高级语言直至机器语言的一般过程,激发学生程序设计的兴趣和灵感.

2.3 实验模块化

实验对程序语言的学习至关重要,只有通过实验反复训练才可能真正掌握纷繁复杂的C语言语法规则,领悟程序设计的思想[3].如何利用好有限的实验时间是非常值得探索的问题.将实验按内容或方式模块化可以方便程序验证,提高学习效率.

通常,实验根据课程进度分阶段完成不同的内容,前后联系并不大,如果能合理规划,将内容模块化,随着课程的推进,后面的实验内容利用前面的模块,可以极大地提高实验效率并培养学生软件复用的思想.

对初学程序设计的同学而言,对于布置的实验,常常对结果比较重视,而忽略了调试能力的锻炼.鉴于这种状况,对实验方式开展专项练习,对实验的代码编写、运行、调试、测试、维护等阶段开展专项模块化训练,可以锻炼学生对程序的排错能力,提高所编写代码的质量,并逐步体会到软件工程的相关思想.

3.班级试点结果

教学方法改革在多个计算机专业和非计算机专业班级均进行试点,所试点的计算机专业班级有多名同学参加程序设计竞赛获奖;所试点的非计算机专业班级在学校组织的同类型班级统考中多次名列前茅,在40多个同类型班级中一次排名第七,一次排名第四,一次排名第一,取得了较好的效果.

4.总结

C语言是一门重要的计算机基础教育课程,其教学方法的改革和创新是一项系统工程,涉及到教材选用、理论知识点的讲授以及实验的设计和创新.通过多视角多模块化教学方法的探索,可以有效地克服学生在学习中容易陷入繁杂知识点从而缺少整体观念的问题,提高学生的学习兴趣.总之,针对C语言程序特点,探索相应的教学方法创新有助于提高教学质量,为培养应用型、创新型、复合型人才做出贡献.