《面向对象程序设计(C++)》课程教学大纲
课程名称(中文): 面向对象程序设计(C++)
课程名称(英文): Object-Oriented Programming(C++)
课程编号: 132020
课程类别: 学科基础课程
学时学分:总学时 64 学分 3 其中实践学时 32
开出时间: 2 年级 2 学期
开出单位: 计算机学院
适用专业:计算机科学与技术、网络工程
先修课程:计算机导论,高级语言程序设计
执 笔: 邵 平
审 核: 朱俊岭
一、 课程的教学目标和教学要求
本课程的教学目标是:
通过对《面向对象程序设计》的方法和《C++语言》的基本概念的介绍,让学生了解面向对象的基本概念和使用面向对象技术进行程序设计的基本思想。教学任务是:学习使用C++语言进行一般面向对象的程序设计,初步掌握面向对象编程环境visual C++的使用,为大型应用软件设计与开发打下良好的理论和实践基础。
本课程的教学要求是:
⑴ 掌握面向对象程序设计的基本概念和基本原理,熟练掌握一些常用的面向对象程序设计实用开发方法和技术。
⑵ 了解面向对象程序设计各领域的发展方向;掌握如何用面向对象技术与方法开发软件项目,以及可视化程序设计方法、事件驱动方法与面向过程程序设计方法的异同。
⑶ 能够利用所学知识去解决一些实际的应用问题(或模拟案例)。
二、 教学时数分配
本课程总学时为64学时,其中理论课32学时,实验32学时。选用教材为《C++面向对象程序设计(第2版)》,谭浩强,清华大学出版社,2014,ISBN:9787302360292。
《面向对象程序设计(C++)》学时分配表
序号 | 内容 | 讲授 | 实验 | 总学时 |
1 | C++初步 | 6 | 4 | 10 |
2 | 类和对象 | 3 | 4 | 7 |
3 | 类和对象的进一步讨论 | 3 | 4 | 7 |
4 | 运算符重载 | 3 | 2 | 5 |
5 | 继承与派生 | 5 | 6 | 11 |
6 | 多态性与虚函数 | 3 | 4 | 7 |
7 | 输入/输出流 | 3 | 2 | 5 |
8 | C++工具 | 2 | 2 | 4 |
9 | 综合复习 | 4 | 4 | 8 |
合计 | 32 | 18 | 64 |
三、 主要教学内容和教学方法
(一)C++初步
教学目的及要求:
理解面向对象的基本概念,掌握C++的开发运行环境。
教学重点:
面向对象的基本概念。
教学难点:
面向对象的基本概念。
教学方法:
讲授法、自主学习法、提问法。
思考题:
谭浩强《C++面向对象程序设计》(第2版),P36,第11,13,16题。
(二)类和对象
教学目的及要求:
掌握类的成员函数设计、分析方法;掌握对象成员的引用定义及其使用方法
教学重点:
类的成员函数
教学难点:
对象成员的引用
教学方法:
讲授法、练习法、任务驱动法、提问法
思考题:
谭浩强《C++面向对象程序设计》(第2版),P67-68:第2,3,5,6题。
(三)类和对象的进一步讨论
教学目的及要求:
掌握类的构造函数和析构函数设计、分析方法;学会对象数组和对象指针的使用方法;学会友元的应用;掌握对象的动态建立和释放,掌握对象的赋值和复制方法;学会类模板的使用
教学重点:
构造函数和析构函数
教学难点:
对象数组和对象指针
教学方法:
讲授法、练习法、任务驱动法、提问法
思考题:
谭浩强《C++面向对象程序设计》(第2版),P117-119,第5,9,11题。
(四)运算符重载
教学目的及要求:
学会运算符重载的方法和重载运算符的规则;能应用运算符重载函数作为类成员函数和友元函数;学会设计重载双目运算符和单目运算符;了解流插入运算符和流提取运算符
教学重点:
运算符重载的方法和重载运算符的规则
教学难点:
设计重载双目运算符和单目运算符
教学方法:
讲授法、自主学习法、任务驱动法、提问法
思考题:
谭浩强《C++面向对象程序设计》(第2版),P149,第7题。
(五)继承与派生
教学目的及要求:
熟练掌握继承与派生的概念;熟悉派生类成员的访问属性,能应用派生类设计程序;能设计派生类的构造函数和析构函数;掌握多重继承的应用
教学重点:
设计派生类的构造函数和析构函数
教学难点:
多重继承的应用
教学方法:
讲授法、练习法、任务驱动法、提问法
思考题:
谭浩强《C++面向对象程序设计》(第2版),P197,第9题。
(六)多态性与虚函数
教学目的及要求:
熟练掌握多态性的概念;能应用虚函数设计程序;掌握纯虚函数与抽象类的应用
教学重点:
应用虚函数设计程序
教学难点:
掌握纯虚函数与抽象类的应用
教学方法:
讲授法、练习法、自主学习法、任务驱动法、提问法
思考题:
谭浩强《C++面向对象程序设计》(第2版),P219,第5题。
(七)输入输出流
教学目的及要求:
掌握标准输出流和标准输入流;能应用对数据文件的操作与文件流设计程序;了解字符串流的应用
教学重点:
对数据文件的操作与文件流
教学难点:
字符串流
教学方法:
讲授法、练习法、任务驱动法、提问法
思考题:
无。
(八)C++工具
教学目的及要求:
掌握应用异常处理设计程序,了解使用早期的函数库
教学重点:
异常处理
教学难点:
异常处理
教学方法:
练习法、自主学习法、任务驱动法
思考题:
无。
参考书目:
1、C++面向对象程序设计题解与上机指导(第2版),谭浩强编著,清华大学出版社,2014年。
2、《Thinking in C++》(第二版),(美)Bruce Eckel 编著,机械工业出版社,2005年。
3、《C++ Primer》(第五版),(美)Stanley B. Lippman Barbara E. Moo Josée LaJoie 著,人民邮电出版社,2005年。
四、 考核方式
考核方式为:考试。
五、 其它说明
后续课程为:数据结构与算法、软件工程。