对于应用型院校《C++程序设计》课程体系教学整合

更新时间:2024-02-09 作者:用户投稿原创标记本站原创
摘 要:《C++程序设计》课程教学一直是基于语法体系的,采用在课堂讲授语法、上机验证程序,强调语法规则的掌握。课程应从宏观上把握课程教学体系,坚持整体性原则,注意和其他相关课程之间的横向联系,强调教学的目应该使学生逐步掌握程序设计的思想和策略,即算法。随着信息技术的发展,必须及时整合课程体系、教学内容、教学策略、教学手段和考核方式,构建《C++程序设计》大课程教学体系。
关键词:C++程序设计;算法;整合
本课题是江西教育考试招生“十二五”规划课题《应用型本科院校程序设计课程教学体系建设的研究与实践-----以江西科技学院试点本科为例》阶段性成果之一(课题批准号:1361)
1 《C++程序设计》及相关程序设计课程教学中存在的理由---片面强调语法
第一、学校在教学计划中设置了多门程序语言的课程,目的是使学生掌握更多的语言,便于就业。但在这些程序设计类课程的教学大纲中过多地强调语法,对付考试,这就导致了程序设计课程的教学重点出现偏差,甚至本末倒置,丧失了学习语言课的目标;第二、由于现在的课程教学是基于语法体系的,并且采用在课堂语法、上机通程序的教学模式,教师只能将课本的程序语法规则和程序设计例题讲解给学生,把教材作为指定的读本,学生上机实验也是一种验证式的工作。在这种教学模式下,教师往往把很大力,甚至是主要精力放在特定语言的语法规则和语义上。这样做其实是不自觉地把程序设计课上成了程序语言课,没有真正去区别程序设计和程序语言这两者之间的不同。第三、在教学过程中,程序设计课程的教学一般围绕语言本身的体系展开,孤立地教授语言本身的语法知识,把低级语言与高级语言硬性割裂开来,把面向过程的语言与面向对象的语言硬性割裂开来分,把各种面向对象的语言硬性割裂开来分,把语言课程与算法课程硬性割裂开来分。
2 《C++程序设计》教学内容整合研究
2.1 教学内容整合思路
依据程序设计课程特点和实际需要,在教学过程中,注重学生分析理由和解决理由能力培养,将理论课与实验课进行整合,使学生感觉到堂堂都是实验课,调动了学生自主学习的积极性。这样即保证了课程内容的充实,又能作到信息量大;即避开了理论和实践的脱节,又避开了内容的重复讲授,使学生感到学有所值,学有所用。为此,我们精选了大量的教学案例,制订了课程知识点教学大纲,同时申报了院级网络课件的项目,并将成果软件运用于实践教学。一年的实践表明,学生的编程能力有显提高,学习兴趣较之以前有了大幅度提高。
2.2 C和C++语言的语法内容整合思路
C++的概念庞杂,难以理解,不容易深入,同时,C++新标准的出现使C++和数据结构的学习顺序发生冲突:数据结构的先修课是C++,而C++的新特性中包含数据结构的内容,它们互为前提。要有效地解决这两个理由,必须把C、C++和数据结构整合。需要注意的是,把C 作为C++的元语言,这时C++的概念就可以用C 程序严格地描述,避开C++解释中的歧义性和模糊性,有利于理解,而且C++也就不必从开头讲起,我们可以直接讲授C++相对C 的修正和补充部分,有利于深入。
2.3 语法教学内容难重点教学思想
语法是算法的基础。从发展辩证的观点认识语言中的地址、指针、数组等内在联系,对于语言本质的把握具有良好的指导作用。
(1)指针的重要性
指针为C 语言编程提供了强大的支持,一个很好地利用了指针的程序会非常高效、简洁和精致。学好指针也是为通用的数据结构和具体的标准模板库的学习做准备,因为C++的STL 迭代器的机制是模拟指针的操作而设计[3],迭代器是指针的高级形式。事实上,指针是数据和处理的:计算机处理的数据需要存储,数据存储是为了处理,处理一般通过指针找到存储中的数据。程序语言的发展都会反映在指针的发展上。
指针在程序设计语言中,早期的体现形式就是汇编语言的物理地址,如何存储和表示地址是指针演变的前提,于是,指针作为处理地址相关数据的数据类型就应运而生,随着程序语言的发展,指针也在不断丰富和抽象,在C++语言中,则发展为引用,迭代器,功能更加丰富和强大。在指针语法讲解的时候,采用简单图示教学,形象易于理解。比如:指针是一种数据类型,在讲解时,要引导学生将其同基本的数据类型的认识要统一起来,只不过它所处理的数据不同,是地址相关的信息。在基本概念理清后,确定几条基本的学习定式并辅助于图形理解:
指针包含了两层含义:存储了地址和指向了某个数据对象,指向的位置依赖于基类型和存储的地址。例如整型指针变量P,存放了整型变量a的地址,p=&a。
(2)指针和地址的关系
对于指针运算符、指针和数组的联系,主要涉及到的运算符是&(取地址)和间接指向*。指针和数组的联系中,要特别强调,数组是一种特殊的指针,是指针常量,数组名里面的存放的地址不能被转变,即不能作为左值。
需要注意的是,C语言语法学习和熟练是必须的,但是在教学内容的讲授方面,普遍容易进入一个教学误区:即以语法应用型本科院校《C++程序设计》课程体系教学整合由提供海量免费论文范文的www.808so.com,希望对您的论文写作有帮助.教学为主,算法教学次之。这样一来,课程的教学方向和重点就发生了偏移,脱离了以实践能力为培养目标的教学要求。这点在学时安排上需要注意分配。因此,通过调整教学计划,将《数据结构》和先行课作为一个有机整体,使得相关课程教学计划和进度进行针对性的关联统

一、突出语法为基础,算法为重心。

机器语言发展到C 语言,作为机器语言要素的地址就要发展为C 语言的要素,这就是指针类型。指针是C 的类型,就应该和整型、字符型等语言内置类型一样,具有自己的常量,因此,指针字面值常量的引入是不可避开的。而处理的需要又使指针一但出现就和数组构成一个整体,它们都以对方的存在作为自己存在的前提。这种整体性要求把一个变量等价于一个长度为1 的数组,把指向一个变量的指针看作是指向一个长度为1 的数组的指针。这种整体性的科学性需要二维指针和二维数组的定义来检验,例如,二维数组必须是一维数组的推广,就像二重积分是一重积分的推广一样,而且它们在一定条件下可以互相转化。
(3)指针和数组--相互依赖、相互作用的关系
相互作用是事物真正的终极理由。指针和数组是辩证的关系,那么把这种关系包含在指针和数组的定义中,这样两者之间联系得到了统一。两者的关键桥梁是:数组名(指针常量)。

点赞:32736 浏览:148049