C++课程设计的目标、要求及评分标准
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++课程设计的目标、要求及评分标准
1.1 目的
一般来讲,课程设计比教学实验更复杂一些,涉及的深度更广些,并更加实用。
目的是通过课程设计的综合训练,培养学生实际分析问题、编程和动手能力,最终目标是想通过课程设计的形式,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务。
另外,课程设计中较大的综合设计,可以分成几个小项目供学生分工合作,以培养团队协作精神。
1.2 课程设计结构及要求
结构化程序设计使用的是功能化抽象,面向对象程序设计不仅能进行功能抽象,而且能进行数据抽象。
“对象”实际上是功能抽象和数据抽象的统一。
C++语言的“对象”是“类”的实例,课程设计的基础是设计类,所以类的有关概念是重点,尤其要抓住抽象、封装、继承和多态性等要素。
要求学生的课程设计中要涉及类、继承的使用。
类设计的重点是如何选择数据成员和成员函数。
成员函数设计的难点是选择函数类型及其参数传递方式。
数据类型及程序控制方式仍然是C++语言的基础;数组、指针、类和结构的使用方法是编程的核心技术。
学生学习时,常常避开多文件编程和使用文件,但这些要求是程序员必备的知识,因此课程设计中应加强这方面的训练。
本课程设计供选择了6个类型的设计题目,不是用一个独立的例子涵盖这些知识点,而是按层次逐步深入。
为了使学生理解它们之间如何相互配合,设计要求使用接近实际需要的方式编程。
简要说明如下:
1.使用类和对象设计计算器和双向链表程序
设计类就是根据数据封装的要求,抽象出合适的类。
换言之,就是如何选择数据成员和成员函数。
这部分的任务就是根据测试程序及其输出结果,设计一个满足要求的类。
这各类涉及到类的构造函数和析构函数,并要求使用多种方法实现本课程设计。
2.使用菜单选择趣味程序
菜单是应用程序的界面。
控制语句用来改变程序的执行顺序,是实现结构化程序设计的基础。
这部分的任务是设计一个含有多个菜单项并且比较使用的菜单,通过菜单选择不同的功能。
文件操作是非常有用而重要的技术,需要多多练习。
编制实用程序都离不开文件存取,这方面应该给与足够的重视。
要求使用类实现这些菜单项,并熟悉多文件菜单编程和面向对象程序设计的思想。
可以仿照第三章的游戏类程序。
3. 通过组合和派生构成新的类
这部分的设计任务是使用组合和派生构成新的类。
这可以通过包含及派生两种方法实现,并要求分别给出使用模板实现的程序。
目的是使学生掌握在不同的实现方法中,如何设计相应的构造函数和复制构造函数,进一步理解程序如何调用它们及析构函数的执行顺序。
共有继承的赋值兼容性规则是一个重要规则。
通过这部分的设计,可以进一步理解这个概念,为理解虚函数的多态性打下基础。
4. 小型管理类
这部分的设计任务是设计小型管理类程序,并由此产生一个信息简表。
这里使用数组,利用复制兼容规则实现简表,并使用虚函数实现多态性,完成显示不同简表信息的任务。
这部分还使用菜单和向量实现的设计方案,以便进一步理解向量的使用方法。
可以根据需要对书中的程序加以取舍或增加新要求。
5、数学计算类
这部分的设计任务是用面向对象的方法完成数学问题。
涉及到运算符的重载、对象的复制菜单设计等问题,如:求解有理数分式方程。
这涉及到大量的运算符重载。
学生可参考书中范例,亦可自行选题。
6、函数的设计
书中提供了若干函数,目的为了帮助读者在阅读、分析精选代码的基础上,学会进一步扩充程序,完善功能。
其它可推荐给学生的课程设计题目为:
1、通信录
设计一个实用的小型通信录程序,具有查询和删除功能,并且能够打开或修改指定文件及将多个文件组成一个文件。
它完全使用类来实现,充分体现了面向对象的程序设计特点。
本程序的参考程序使用双向链表保存数据的底层数据结构,并使用C++标准库提供的list来实现这个链表的结构。
由于利用list类,所以实现起来很简单。
虽然这种方法超出一般的教材,但只要学习一下标准库,还是容易理解的。
C++推荐使用标准库,这也是目前编程的方向,推荐此题目为本课程设计作为选做内容,可以根据实际教学情况决定,目的是使学生熟悉和了解C++的标准库。
2、学生成绩管理程序
设计一个实用的小型学生管理程序,它要求不用链表,而用向量来设计这个程序。
它有查询和检索功能,并且能够对指定文件操作,也可以将多个文件组成一个文件。
建议学生选择一个管理类的程序,以便使学生了解和掌握如何编制一个实用程序,从而进一步锻炼实际工作能力。
也可以要求学生在熟悉本课程的基础上,改用数组来实现本设计。
或根据实际教学情况决定增删内容。
1.3 评价标准
因为书中已经有参考程序,所以一般情况下都能完成预定计划。
如果只是按照程序去做,其分数只能在85分以下。
为了证明学生已经掌握设计中所涵盖的知识点,应该向学生提供一些问题,例如程序如何实现及其原理等。
下列评价标准中对“全部正确”的定义,其实就是含有这种面试手段。
另外,程序的可读性均包含在正确性中记分,不再单列考核标准。
一般遵循如下规律评价:
(1)严格控制90分及90分以上的同学,其标准是有创意。
(2)80~89分,必须全部正确,并且有一定改进或者正确回答设计中的问题。
(3)有少许问题,可给70~79分。
(4)错误不多,给60~69分。
(5)没完成特殊规定的要求,则不及格。
程序设计主要是锻炼学生,应该鼓励学生不要有负担,放手去做,激发他们钻研问题的兴趣。
附:课程设计报告参考样本:
《程序设计基础》(C++)课程设计报告(小三,粗)
小型工资管理系统(小一,粗)
姓名:
班级:
学号:
指导教师:
成绩:
完成时间:
完成地点:
报告中应包括的内容:
一、设计任务分析
二、模块设计
三、主要数据结构
四、流程图
五、源代码
六、测试情况
七、小结(包括感想、致谢、设计总结)以上具体内容可参考实践指导。