《面向对象程序设计方法》课程教学大纲电子.docx
《《面向对象程序设计方法》课程教学大纲电子.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计方法》课程教学大纲电子.docx(12页珍藏版)》请在冰豆网上搜索。
《面向对象程序设计方法》课程教学大纲电子
《面向对象程序设计方法》课程教学大纲
(计算机科学与技术本科专业使用)
一、课程的地位、教学目的和基本要求
C++语言是一种高效实用的程序设计语言,既可进行过程化的程序设计,也可进行面向对象程序设计。
本课程以介绍C++语言的基本语法为基础逐步向学生渗透面向对象的程序设计思想,要求学生掌握类的封装、数据隐藏、继承及多态等特性,领会面向对象程序设计,掌握面向对象程序设计方法,培养一定的程序设计能力,为以后各专业课程的学习打下良好的程序设计基础。
二、主要教学环节
1、理论教学学时数:
60占全部学时数:
75%
2、实验学时数:
20占全部学时数:
25%
3、实训学时数:
二周
三、课程内容
Ⅰ.理论部分
第一章C++入门2学时
(1)教学目的、要求
本章要求学生掌握源程序的编辑、编译、连接和执行。
了解C++程序设计语言的发展过程以及支持环境。
(2)重点与难点
本章的重点和难点是源程序的编辑、编译、连接和执行。
第一节从C到C++
第二节程序与语言
第三节结构化程序设计
第四节面向对象程序设计
第五节程序开发过程
第六节函数
第二章基本数据类型与输入输出2学时
(1)教学目的、要求
本章要求学生掌握C++语言数据类型,变量及常量的声明和赋值以及输入输出函数。
了解I/O流及printf和scanf输入输出的作用。
(2)重点与难点
本章的重点和难点是C++语言数据类型,变量及常量的声明和赋值以及输入输出函数。
第一节字符集与保留字
第二节基本数据类型
第三节变量定义
第四节常量及常量定义
第五节I/O流控制
第六节Printf与scanf
第三章表达式和语句2学时
(1)教学目的、要求
本章要求学生掌握C++各运算符与常用表达式内容,及if语句的应用。
(2)重点与难点
C++各运算符与常用表达式内容,及if语句的应用。
第一节表达式
第二节算术运算和赋值
第三节算术类型转换
第四节增量和减量
第五节关系与逻辑运算
第六节if语句
第七节条件运算符
第八节逗号表达式
第九节求值次序与副作用
第四章过程化语句2学时
(1)教学目的、要求
本章要求学生掌握switch,while,do…while,for结构的应用,了解描述算法和穷举、迭代算法。
(2)重点与难点
本章的重点和难点是循环型程序设计,即switch,while,do…while,for结构的应用。
第一节while语句
第二节do…..while语句
第三节for语句
第四节switch语句
第五节switch语句
第六节过程应用:
求兀
第七节过程应用:
判明素数
第八节过程应用:
求积分
第五章函数2学时
(1)教学目的、要求
本章要求学生掌握函数的概念、定义、调用机制,和递归、内联、重载函数的概念,以及全局、局部变量。
(2)重点与难点
本章的重点和难点是函数的概念、定义、调用机制,以及全局、局部变量。
第一节函数概述
第二节函数原型
第三节全局变量和局部变量
第四节函数调用机制
第五节静态局部变量
第六节递归函数
第七节内联函数
第八节重载函数
第九节默认参数的函数
第六章程序结构2学时
(1)教学目的、要求
本章要求学生掌握变量的存储类型,作用域,可见性,生命期等概念。
(2)重点与难点
本章的重点和难点是变量的存储类型,作用域,可见性,生命期。
第一节外部存储类型
第二节静态存储类型
第三节作用域
第四节可见性
第五节生命期
第六节头文件
第七节多文件结构
第八节编译预处理
第七章数组2学时
(1)教学目的、要求
本章要求学生掌握数组的概念、元素的访问,及数组的应用。
(2)重点与难点
本章的重点和难点是数组元素的访问,及数组的应用。
第一节数组定义
第二节访问数组元素
第三节初始化数组
第四节向函数传递数组
第五节二维数组
第六节数组应用:
排序
第七节数组应用:
Josephus问题
第八节数组应用:
矩阵乘法
第八章指针2学时
(1)教学目的、要求
本章要求学生掌握指针的概念、运算,以及指针与数组和函数的应用。
(2)重点与难点
本章的重点和难点是指针的运算,以及指针与数组和函数的关系及应用。
第一节指针概念
第二节指针运算
第三节指针与数组
第四节堆内存分配
第五节const指针
第六节指针与函数
第七节字符指针
第八节指针数组
第九节命令行参数
第一十节函数指针
第九章引用2学时
(1)教学目的、要求
本章要求学生掌握引用的概念、操作,以及引用作为函数参数的应用。
(2)重点与难点
本章的重点和难点是引用的操作,以及引用作为函数参数的应用。
第一节引用的概念
第二节引用的操作
第三节什么能被引用
第四节用引用传递函数参数
第五节返回多个值
第六节用引用返回值
第七节函数调用作为左值
第八节用const限定引用
第九节返回堆中变量的引用
第十章结构2学时
(1)教学目的、要求
本章要求学生掌握结构体概念及其定义,结构体变量和结构体数组的引用,指向结构体变量和数组的指针。
(2)重点与难点
本章的重点和难点是结构体数组的引用,指向结构体变量和数组的指针。
第一节结构
第二节结构与指针
第三节结构与数组
第四节传递结构参数
第五节返回结构
第六节链表结构
第七节创建与遍历链表
第八节删除链表结点
第九节插入链表结点
第一十节结构应用:
Josephus问题
第十一章类4学时
(1)教学目的、要求
本章要求学生掌握类的概念、类的定义,及成员函数的调用。
了解保护成员和软件方法的发展必然。
(2)重点与难点
本章的重点和难点是类的概念、类的定义,及成员函数的调用。
第一节从结构到类
第二节软件方法的发展必然
第三节定义成员函数
第四节调用成员函数
第五节保护成员
第六节屏蔽类的内部实现
第七节再论程序结构
第十二章构造函数6学时
(1)教学目的、要求
本章要求学生掌握构造、析构函数的使用,以及构造类成员和构造对象的顺序。
了解重载和默认构造函数的概念
(2)重点与难点
本章的重点和难点是构造、析构函数的使用,以及构造类成员和构造对象的顺序。
第一节类与对象
第二节构造函数的需要性
第三节构造函数的使用
第四节析构函数
第五节带参数的构造函数
第六节重载构造函数
第七节默认构造函数
第八节类成员初始化困惑
第九节构造类成员
第十节构造对象的顺序
第十三章面向对象程序设计4学时
(1)教学目的、要求
本章要求学生掌握结构化和面向对象方法的实现。
了解程序效率和维护。
(2)重点与难点
本章的重点和难点是结构化和面向对象方法的实现。
第一节抽象
第二节分类
第三节设计和效率
第四节讨论Josephus问题
第五节结构化方法
第六节结构化方法的实现
第七节面向对象方法
第八节面向对象方法实现
第九节程序维护
第十四章堆与拷贝构造函数6学时
(1)教学目的、要求
本章要求学生掌握堆的概念,堆对象,拷贝构造函数及浅拷贝与深拷贝的应用。
了解临时和无名对象。
(2)重点与难点
本章的重点和难点是堆的概念,堆对象,拷贝构造函数及浅拷贝与深拷贝的应用。
第一节关于堆
第二节需要new和delete的原因
第三节分配堆对象
第四节拷贝构造函数
第五节默认拷贝构造函数
第六节浅拷贝与深拷贝
第七节临时对象
第八节无名对象
第九节构造函数用于类型转换
第十五章静态成员与友员2学时
(1)教学目的、要求
本章要求学生掌握懂得怎样声明一个静态数据成员,怎样使用静态成员函数以及静态成员函数为什么与特定对象无关。
(2)重点与难点
本章的重点和难点是静态数据成员和静态成员函数的使用,以及友元的概念。
第一节静态成员的需要性
第二节静态成员的使用
第三节静态数据成员
第四节静态成员函数
第五节需要友员的原因
第六节友员的使用
第十六章继承8学时
(1)教学目的、要求
本章要求学生掌握继承的概念,工作方式,以及多态性和虚函数的概念。
了解抽象类和类的冗余。
(2)重点与难点
本章的重点和难点是继承的概念,工作方式,以及多态性和虚函数的概念。
第一节继承的概念
第二节继承的工作方式
第三节派生类的构造
第四节继承与组合
第五节多态性
第六节多态的思考方式
第七节多态性如何工作
第八节不恰当的虚函数
第九节虚函数的限制
第一十节类的冗余
第一十一节克服冗余带来的问题
第一十二节类的分解
第一十三节抽象类
第一十四节由抽象类派生具体类
第一十五节纯虚函数的需要性
第十七章多重继承6学时
(1)教学目的、要求
本章要求学生掌握多继承的概念,工作方式以及多继承的构造顺序和访问控制。
了解虚拟继承、保护和私有继承。
(2)重点与难点
本章的重点和难点是多继承的概念,工作方式以及多继承的构造顺序和访问控制。
第一节多继承如何工作
第二节继承的模糊性
第三节虚拟继承
第四节多继承的构造顺序
第五节继承的访问控制
第六节保护继承与私有继承
第十八章运算符重载4学时
(1)教学目的、要求
本章要求学生掌握运算符重载的需要性和应用。
了解增量运算符的重载。
(2)重点与难点
本章的重点和难点是运算符重载的需要性和应用。
第一节运算符重载的需要性
第二节如何重载运算符
第三节值返回与引用返回
第四节运算符作成员函数
第五节重载增量运算符
第六节转换运算符
第七节赋值运算符
四、主要教科书和参考书
1、《C++程序设计教程》钱能清华大学出版社
2、《C++程序设计题解与上机指导》钱能清华大学出版社
3、《C++语言程序设计》潭浩强清华大学出版社
4、《C++语言与面向对象程序设计》郑莉清华大学出版社
5、《C++语言程序设计》吕凤翥清华大学出版社
责任撰写人:
陈桂芬