- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
辩证法和认识论指导下的C++程序设计教学
摘要:C++程序设计是计算机专业的核心基础课,是一门实践性很强的课程。本文以辩证法为指导,提出整合C++程序设计教学内容,阐述变量的时空性、函数的控制性、循环的递进性和类的封装性。以认识论为指导,在理论教学中提出“问题导向、兴趣驱动、项目贯穿”的案例式教学法,在实验教学中提出平时试验、课程设计、毕业设计相结合的三位一体的实验教学体系。按照以上方法进行教学,学生的学习兴趣得到激发,动手能力得到了提高,取得了良好的教学效果。
关键词:C++;辩证法;认识论;案例教学
程序设计贯穿于计算机专业教学的全程,是培养学生计算机能力的出发点和落脚点。对于计算机专业的学生来讲,不掌握程序设计,就不能算真正地学习了计算机。C++语言是应用最为广泛的程序设计语言之一,它功能强大,使用灵活,是大学计算机专业程序设计类课程的首选语言。但是C++语言过于灵活,被公认为是最难学的程序设计语言,尤其是指针、对象等概念的引入更进一步增加了C++语言教和学的难度。
作为认识世界和改造世界的有力工具,辩证法和认识论已用来阐释计算机科学和技术领域的某些问题[1-3],并用来指导计算机专业的课程教学[4-5]。本文将辩证法和认识论用于C++程序设计教学,对教学内容进行整合,阐述C++自身存在的辩证规律;同时,按照认知规律和实践第一的观点,提出一种新的案例教学模式。通过以上教学方法,力图解决C++教与学中存在的难题,从而达到良好的教学效果。
1辩证法指导下的教学内容设计
1.1课程的知识点及其关系
本门课程的知识点及相互间关系如图1所示。数据类型中的简单类型包括整型、实型、字符型、布尔型和枚举型等,复合类型包括数组、向量、字符串和文件等。流程控制由顺序、选择和循环三种结构完成。
数据类型和流程控制的集成形成函数,函数进一步发展形成对象,封装性、继承性和多态性是面向对象程序设计的三要素。模板编程和异常处理可以保证程序的重用性和健壮性。在求解复杂问题时,需要对程序结构进行组织,如采用多文件编程等;如果同一问题的求解有多种算法,则需进行性能测试,选择运行效率最高的算法。
图1C++语言的知识结构
1.2内容整合
C++语言与C语言、数据结构等课程紧密相关。合理安排每门课程的内容,科学地处理好三者的关系对课程教学具有重要意义。
1.2.1C语言与C++语言内容的整合
在传统的教学方法中,通常是先进行C语言教学,然后再进行C++语言教学,造成了部分教学内容的重复。因为C语言是C++语言的一个子集,因此完全可以直接进行C++语言教学,将其分为C++(上)和C++(下),C++(上)侧重于基础语法和结构化程序设计;C++(下)侧重于面向对象程序设计和简单算法。整合前后的效果如表1所示,整合后的效果明显好于整合前,体现了整体大于部分之和的系统论思想。
1.2.2与数据结构课程的衔接
C++程序设计与数据结构一脉相承,C++程序设计是数据结构教学的基础,数据结构可以促进C++程序设计水平的提高,将二者资源进行整合与共享对两门课程建设均有好处。为了使二者更好的衔接,在C++程序设计语言中主要介绍简单的排序和查找算法及线性链表的基本操作。
1.2.3教材的选择
基于前述的知识点及整合后的教学内容。我们选用了清华大学出版社出版的三本书作为教材和参考书。第一本是钱能编写的《C++程序设计教程(第二版)》(以下简称“钱版”),该书重于编程技能的培养,讲解纯粹的C++语言;第二本是谭浩强编写的《C++程序设计》(以下简称“谭版”),该书讲解细致,在讲解C++语言的同时也讲解了C语言的内容,适合初学者;第三本是郑莉编写的《C++语言程序设计(第三版)》(以下简称“郑版”),该书引入案例教学,知识讲解逐层深入,思路清晰。此外,郑版以国家精品课为支撑,配套资源丰富。
在具体教学中,我们以钱版作为教材,同时汲取谭版和郑版的部分内容,并融入我们的经验,形成具有自身特色的内容组织与安排。整本教材分为两个学期讲授:上学期讲授第一部分“基础编程”和第二部分“过程化编程”,下学期讲授第三部分“面向对象编程”和第四部分“高级编程”。
1.3C++语言自身存在的辩证规律
1.3.1变量的时空性
变量是程序设计语言中最重要的元素之一。而生存期与作用域是变量的两个重要属性,体现了变量的时空性,如图2所示。
图2变量的时空模型
下面是一个C++程序,记为代码段1,对该程序进行分析,可得图3所示的时空模型。
//代码段1
#include
using namespace std;
void test();
int
文档评论(0)