中国海洋大学 面向对象的程序设计 课程大纲(理论课程)
- 格式:doc
- 大小:48.00 KB
- 文档页数:5
中国海洋大学面向对象的程序设计课程大纲(理论课程)英文名称(Object-Oriented Programming)
【开课单位】信息学院【课程模块】专业知识
【课程编号】【课程类别】必修
【学时数】48 【学分数】 3
备注:课程模块为公共基础、通识教育、学科基础、专业知识或工作技能;课程类别为必修或选修。
一、课程描述
本课程大纲根据2011年本科人才培养方案进行修订或制定。
(一)计算机科学与技术专业第一学年春季学期
(二)教学目标及修读要求
1、教学目标
掌握C++的基本语法知识;掌握C++面向过程的程序设计方法;掌握C++面向对象的程
序设计方法;理解面向对象的基本思想,掌握类、对象、重载、继承、多态性等基本概念及
实现机制。
通过对本门课程的学习,学生可以较全面地理解面向对象的基本概念和原理、掌握面向
对象程序设计的基本技术和方法,从而可以编写出具有良好面向对象风格的程序。
2、修读要求
本课程是在学生掌握了高级程序设计的基本理论和技能的基础上,进一步学习面向对象的程序设计技巧。
要求学生具有一定的编程能力和抽象思维能力。
(三)先修课程(参照2011版人才培养方案中的课程名称,课程名称要准确)高级程序设计语言、高级程序设计语言实验
二、教学内容
(一)第一章绪论
1、主要内容:面向对象的程序设计的发展及其基本概念、程序开发的步骤
2、教学要求:掌握面向对象程序设计的基本概念、程序开发的步骤
3、重点、难点:无
4、其它教学环节:(如实验、习题课、讨论课、其它实践活动):
(二)第二章C++简单程序设计
1、主要内容:C++基本数据类型和变量、基本输入输出、控制结构。
2、教学要求:掌握变量及其地址的关系、进一步加深对指针的理解。
掌握C++的基本输
入输出及其控制命令。
3、重点、难点:变量及其实现机制、指针的使用。
4、其它教学环节:(如实验、习题课、讨论课、其它实践活动):
(三)第三章函数
1、主要内容:函数的定义、参数传递和调用。
2、教学要求:掌握函数的声明、定义和调用之间的关系,理解引用传递的目的和机理,理解内联函数、带默认形参值的函数和函数重载等语法现象。
3、重点、难点:引用传递、带默认形参值的函数、函数重载
4、其它教学环节:(如实验、习题课、讨论课、其它实践活动):习题课1
(四)第四章类和对象
1、主要内容:面向对象程序设计的基本特点、类的定义、构造函数和析构函数、类的组合。
2、教学要求:掌握类的声明、定义方法,掌握构造函数和析构函数的定义与执行原理,理解面向对象程序设计的基本特点及其在提高程序的可重用性、可扩展性和可维护性上所起到的作用,掌握类的组合以及对象作为函数参数、返回值的使用方法和编程技巧。
3、重点、难点:类的组合、对象的操纵、对象作为函数参数、返回值的使用方法。
4、其它教学环节:(如实验、习题课、讨论课、其它实践活动):习题课2
(五)第五章数据的共享与保护
1、主要内容:程序运行时的栈区和堆区,数据的作用域和生存周期,const修饰符、常对象和常函数,类的静态成员,类的友元。
2、教学要求:掌握程序运行时堆区和栈区的内存分配和回收机制、掌握变量的生存期及其产生和消亡的过程,理解const修饰符用来保护对象状态不被改变时的作用,掌握const 数据成员的初始化方法,掌握类的静态数据成员的声明和使用方法。
理解C++中设置友元函数的目的及其副作用。
3、重点、难点:变量的作用域和生存周期,程序运行时堆区和栈区的内存分配和回收机制,const修饰符,类的静态成员。
4、其它教学环节:(如实验、习题课、讨论课、其它实践活动)
(六)第六章数组、指针与字符串
1、主要内容:对象数组、对象引用、对象指针的声明及使用方法,动态内存分配,深复制及浅复制。
2、教学要求:掌握对象数组、对象引用和对象指针的声明方法及其在操纵对象时的不同,掌握动态内存分配的方法、机制,掌握内存回收的方法和步骤,理解深复制及浅复制的不同,理解指针与引用的不同,理解指针的安全隐患及其应对方案。
3、重点、难点:对象引用、对象指针、动态内存分配和回收
4、其它教学环节:(如实验、习题课、讨论课、其它实践活动)
(七)第七章继承与派生
1、主要内容:继承的概念,派生类的定义,访问控制,派生类的构造函数和析构函数
2、教学要求:理解继承的概念和目的,掌握派生类的定义方法、访问控制和派生类的产生、使用和消亡的机制,掌握派生类构造函数和基类构造函数之间的调用关系,通过综合实例,进一步加深对上述知识点的理解。
3、重点、难点:派生类构造函数和基类构造函数之间的调用关系,派生类的产生、使用和消亡的机制。
4、其它教学环节:(如实验、习题课、讨论课、其它实践活动)
(八)第八章多态性
1、主要内容:运算符重载,虚函数,纯虚函数和抽象类,异类数组和动态绑定
2、教学要求:掌握分别通过成员函数和全局函数进行运算符重载的两种方法,掌握友元函数在通过全局函数的运算符重载中的有效性,掌握虚函数及其继承机制,掌握通过派生类对象的引用、指针调用虚函数的方法和机理,理解纯虚函数和抽象类的作用,掌握抽象类的定义和继承的方法,掌握异类数组实现运行时多态性和动态绑定的方法。
3、重点、难点:运算符重载,运行时多态性和动态绑定。
4、其它教学环节:(如实验、习题课、讨论课、其它实践活动)习题课3
(九)第九章群体类和群体数据的组织
1、主要内容:函数模板和类模板、线性群体
2、教学要求:掌握函数模板和类模板的定义和特化方法,通过综合实例,进一步理解运算符重载在函数模板和类模板定义中所起到的作用。
3、重点、难点:数模板和类模板的定义和特化方法。
4、其它教学环节:(如实验、习题课、讨论课、其它实践活动)
(十)第十一章流类库与输入输出
1、主要内容:文本文件的读取和写入,二进制文件的读出和写入,固定长二进制文件与
类的持久化
2、教学要求:掌握通过输入输出流操纵文本文件和二进制文件的主要方法和流程,掌握固定长二进制文件的读取和写入方法。
3、重点、难点:固定长二进制文件的读取和写入,将对象写入二进制文件的方法
4、其它教学环节:(如实验、习题课、讨论课、其它实践活动)
三、教学环节及学时分配
本课程总学时48 学时(如有实践环节根据课程的实际情况填写,如实验、上机、案例讨论和角色扮演等),其学时分配见下表。
面型对象的程序设计课程教学学时分配表
四、考核方式及评价体系(考核方式及成绩评价体系由老师根据课程自己设定)
1、考核方式:(1)闭卷考试
2、评价体系:课程考核成绩由平时成绩和期末考试成绩构成,平时成绩根据出勤、课堂讨论、课后作业、期中检查等评定,所占比重一般不超过50%。
考核各部分的比重由老师结合课程内容给定:平时成绩:30 % 期末考试:70 %
五、选用教材及必读参考书(注明作者、出版社、出版时间及版次)
1、选用教材
郑莉等,C++语言程序设计,清华大学出版社
2、主要参考书
1. H. M. Deitel等[美国] ,C++ How to Program,电子工业出版社
2. S. B. Lippman等[美国],C++ Primer,人民邮电出版社
六、撰写小组成员:徐建良、刘颖健撰写时间:2012年5 月26日
七、审核人:
八、院(系)学术委员会签章。