1、面向对象程序设计课程标准韶关学院计算机科学系2004年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)充分发挥学生的主动性,并能激发学生的学习热情,使学生会学和主动学习。注意教学方法的灵活性,组织学生自我经验叙述、讨论、问题教学、阅读指导等(3)培养学生发现问题、 分析问题、 解决问题的能力和探究意识。五、教材选用教材1 李师贤、 李文军、 周晓聪,面向对象程序设计基础,高等教育出版社,1998参考资料2 周晓聪、 李师贤、 李文军,面向对象程序设计-实践与提高,中山大学计算机科学系讲义,19993 林锐,“高质量程序设计指南C+/C语言”,电子工业出版社,20024 李文军、 李师贤、 周晓聪,“C+作为计算机专业程序设计入门语言的实践与探讨”,计算机科学,Vol、26,No、4,1999,pp、80-835 Herber