1、面向对象程序设计课程标准韶关学院计算机科学系2023年12月面向对象程序设计课程标准一、课程概述面向对象程序设计是计算机科学与技术专业的重要专业课程。当前面向对象方法已逐渐取代面向过程方法成为程序设计领域的主流技术,这是程序设计发展历史的一个里程碑。本课程的教学目的是以C+语言为工具,向学生介绍面向对象程序设计语言与面向对象程序设计方法。通过课堂教学、 课外练习与上机实习相结合,使学生在程序设计方法、程序设计语言与程序设计工具三方面受到严格、系统的训练,培养学生更系统、 更严密地分析问题和解决问题的思维能力,从而能纯熟地运用计算机解决实际问题,为后续专业课程打下扎实的基础。通过本课程的教学,规
2、定学生:(1) 牢固掌握C+语言基本数据类型、 复合数据类型、 基本控制结构、 函数以及面向对象程序设计中类与对象、 继承、 多态性等基本概念;(2) 掌握类属机制、 C+输入输出机制、程序断言、异常解决等高级机制;(3) 对面向对象程序构造方法、抽象数据类型、软件重用思想、其他程序设计风范, 其他面向对象程序设计语言有所了解。本课程的先修课程为“计算机导论”、 “C语言”,后续课程重要是“数据结构与算法”、 “编译原理”与“软件工程”。二、课程目的1 知道面向对象程序设计这门学科的性质、 地位、 研究范围、 学科进展和未来方向等。对面向对象程序构造方法、 抽象数据类型、 软件重用思想、 其他
3、程序设计风范、 其他面向对象程序设计语言有所了解。2 理解该门学科的重要概念、 基本原理和策略等。3 掌握C+语言基本数据类型、 复合数据类型、 基本控制结构、 函数以及面向对象程序设计中类与对象、 继承、 多态性等基本概念;掌握类属机制、 C+输入输出机制、 程序断言、 异常解决等高级机制。4 可以把所学的原理应用到具体的实践中去,如能运用C+语言编写程序解决一些具体的问题,培养学生发现、 分析和解决问题的能力等。三、课程内容和教学规定这门学科的知识与技能规定分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下:知道是指对这门学科和教学现象的认知。理解是指对这门学科涉及到的概念、
4、原理、策略与技术的说明和解释,能提醒所涉及到的教学现象演变过程的特性、形成因素以及教学要素之间的互相关系。掌握是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。学会是指能模仿或在教师指导下独立地完毕某些教学知识和技能的操作任务,或能辨认操作中的一般差错。教学内容和规定表中的“”号表达教学知识和技能的教学规定层次。本标准中打“*”号的内容可作为自学,教师可根据实际情况拟定规定或不布置规定。教学内容教学规定知道理解掌握学会1、 程序设计与C+语言的初步知识1、1 程序、 程序设计与程序设计语言1、2 程序设计语言的语法与语义1、3 C+程序的基本结构与上机环节1、4 C+程序的构造
5、过程2、 基本数据类型2、1 数据类型的基本概念2、2 单词的分类2、3 基本数据类型2、4 运算符与表达式2、5 类型之间关系3、 基本控制结构、 程序的基本控制结构、 选择结构、 循环结构4、 函数、 函数的建立与使用、 函数调用者与被调用者之间的通信、 语言函数的特点4、4 C+语言的模块机制4、5 标记符的作用域4、6 变量的生存期 4、7 递归程序设计4、8 C+语言的库函数5、 类与对象5、1 类作为构造函数的基本单位5、2 C+语言类的定义 5、3 对象的创建、 初始化与消失 5、4 关于类与对象的讨论6、 复合数据类型6、1 指针6、2 引用6、3 数组与字符串6、4 字符串6
6、、5 动态内存分派与释放6、6 也许产生的内存问题6、7函数指针6、8 结构与枚举类型6、9 复杂数据结构的构造实例用链表实现的堆栈7、 继承机制7、1 继承的基本概念7、2 C+对继承机制的支持7、3 多重继承与反复继承7、4构造良好的类继承层次8、 多态性8、1 多态性的基本概念8、2 函数重载8、3 拷贝构造函数8、4 运算符重载8、5 虚函数与动态绑定8、6 多态数据结构9、 类属机制9、1 类属的基本概念9、2 类属类9、3 类属函数10、 输入/输出流10、1 C+的输入/输出机制10、2 格式化输入/输出10、3 流运算符的重载10、4 文献流11、 面向对象软件构造11、1 软
7、件质量11、2 程序断言机制11、3异常解决机制12、 面向对象程序设计总结12、1程序设计风范12、2面向对象程序设计语言13、 复习四、课程实行1、 课时安排与教学建议。一般情况下,面向对象程序设计每周安排4课时,共72课时,其中理论课54课时,实验课18课时。函授生视具体情况而定,一般为54课时, 其中理论课22课时,实验课10课时,自学22课时。具体课时安排如下:章次重要内容课时建议教与学的方法建议按72课时计按54课时计一程序设计与C+语言的初步知识讲课2学时、 习题与实验讲解1学时讲课1学时、 自学1学时讲授为主二基本数据类型讲课2学时、 习题与实验讲解1学时讲课1学时、 实验与自
8、学1学时讲授为主并辅以实例讨论、 分析三基本控制结构讲课2学时、 习题与实验讲解学时讲课2学时、 实验与自学4学时讲授为主并辅以实例讨论、 分析四函数讲课学时、 习题与实验讲解学时讲课2学时、 实验与自学4学时讲授为主并辅以实例讨论、 分析、 多媒体演示五类与对象讲课5学时、 习题与实验讲解2学时讲课4学时、 实验与自学4学时讲授为主并辅以实例讨论、 分析六复合数据类型讲课8学时、 习题与实验讲解4学时讲课4学时、 实验与自学6学时讲授为主并辅以实例讨论、 分析七继承机制讲课4学时,习题与实验讲解2学时讲课3学时、 实验与自学4学时讲授为主并辅以实例讨论、 分析八多态性讲课7学时,习题与实验讲
9、解1学时讲课2学时、 实验与自学3学时讲授为主、 多媒体演示九类属机制讲课4学时、 习题与实验讲解1学时讲课2学时、 自学3学时讲授为主并辅以实例讨论、 分析十输入/输出流讲课5学时、 习题与实验讲解2学时讲课1学时、 自学2学时讲授为主并辅以多媒体演示、 实例分析十一面向对象软件构造4学时讲授与讨论十二面向对象程序设计总结2学时讲授与讨论复习3学时2、 教学组织形式与教学方法规定。(1)打破传统的教学模式,注意教学方法的灵活性,建立多种教学媒体综合运用的运营机制,逐步建立适合学生个别化自主学习的支持服务体系和质量保证体系。(2)充足发挥学生的积极性,并能激发学生的学习热情,使学生会学和积极学
10、习。注意教学方法的灵活性,组织学生自我经验叙述、讨论、问题教学、阅读指导等(3)培养学生发现问题、 分析问题、 解决问题的能力和探究意识。五、教材选用教材1 李师贤、 李文军、 周晓聪,面向对象程序设计基础,高等教育出版社,1998参考资料2 周晓聪、 李师贤、 李文军,面向对象程序设计-实践与提高,中山大学计算机科学系讲义,19993 林锐,“高质量程序设计指南C+/C语言”,电子工业出版社,20234 李文军、 李师贤、 周晓聪,“C+作为计算机专业程序设计入门语言的实践与探讨”,计算机科学,Vol、26,No、4,1999,pp、80-835 Herbert Schildt,C+从入门到
11、精通,学苑出版社,19946 Greg Perry,C+程序设计教程,清华大学出版社,19947 徐家福、 王志坚、 翟成祥,对象式程序设计语言,南京大学出版社,19928 张国峰,C+程序设计实用教程,清华大学出版社,19969 谭浩强,C程序设计,清华大学出版社,1991六、课程评价1、 这门学科的评价依据是本课程标准规定的课程目的、 教学内容和规定。2、 考试时间:120分钟。3、 考试方式、 分制与分数解释采用闭卷笔试的期终考试、 实验考核和和平时成绩(重要为作业和实验报告)相结合方式评估学生成绩。以百分制评分,60分为及格,满分为100分。其中,平时成绩为10分,实验考核为20分,期
12、终考试卷面为70分。4、 题型:填空题,选择题,简答题,改错题,程序分析题,编程题等。5、 样题与目的定位示例A 填空题面向对象程序中,实体的状态由_表达,其行为由_表达。B 选择题下面哪个变量说明定义了一个字符串数据?A) char string20; B) char string=A string!; C) char string8=Astring!; D) char *string;C 简答题什么是类的构造函数?D 改错题:指出下列程序的错误class Line int x = 0, y = 0; public: int setx(int x = 0) Line:x = x; retur
13、n 0; int sety(int y = 0) Line:y = y; return 0; ;E 程序分析题给出下面程序的输出结果#include #include class BASE public: BASE() cout nConstruct BASE!; BASE()cout nDestruct BASE!;class DERIVE: public BASE public: DERIVE() cout nConstruct DERIVE!; DERIVE()cout nDestruct DERIVE!;int main() BASE base; DERIVE derive; return 1;F 编程题编写一程序,规定至少包含一个类的定义,使其计算下面数列的前n项和。a1=1, a2=1, a3=1, a4=4, an=an-3+2*an-2+an-1, 制定该课程标准小组成员署名:苗雪兰、庄景明、张金钊、段琢华、霍英、江华、何志庆、饶浩审核者署名:夏新恩