面向对象的程序设计(C++)教学大纲
教学目的
本课程为高级语言程序设计的入门课程,完全针对零起点的学生,可作为其他信息类相关课程的基础课。目标是使学生通过本课程的学习,掌握面向对象程序设计的基本概念和方法、C++的基本语法和编程方法;学会使用集成开发环境;掌握程序调试方法;初步了解常用数据结构和非数值算法;初步了解C++标准模板库的使用方法。
教学任务
完成《C++语言程序设计(第4版)》教材内容,及《C++语言程序设计(第4版)学生用书》中的实验内容,另有学生自主选题的大作业、选作的论文回报告。学时:大课30、实验30、课外30、课外讨论10学时。
教学内容的结构
课程由4个模块共12个教学单元组成,对应于《C++语言程序设计(第4版)》的十二章内容。
教学活动以及教学方法上的基本要求
大课、实验、课外作业、自选题目的大作业、论文和报告结合,学时大课30、实验30、课外30。另有课外讨论环节。
通过大课讲解基本原理和方法;通过实验课巩固大课内容,并在助教辅导下完成基础实验,当堂由助教验收;课外作业由学生独立完成,并提交清橙考试系统进行评分。
自选题目的大作业要在期中提交选题报告,逐一批改并给出评语,期末提交全部文档及程序并且逐一答辩。答辩形式为:学生演示5分钟,教师提问5分钟,当即给出成绩。
论文和报告属于加分因素。
课外讨论安排在每次大课之后,加1学时,自愿参加,每人每学期至少参加一次。内容为:教师对难点进行复习、讲解补充例题,学生提问和讨论。
模块及单元教学目标与任务
模块1:程序设计基础
单元1  绪论
要点:
面向对象程序设计语言的产生和特点,面向对象方法的由来及其基本概念,面向对象的软件工程简介;
信息在计算机中的表示和存储,程序的开发过程。
教学任务:
1.1计算机程序设计语言的发展
1.2面向对象的方法
1.3面向对象的软件开发
1.4信息的表示与存储
1.5程序的开发过程
作业及实验:作业1、实验一
单元2 C++简单程序设计
要点:
C++语言的发展历史及其特点;
构成C++语句的基本部分—字符集、关键字、标识符、操作等;
C++的基本数据类型和自定义数据类型;
顺序、选择和循环结构。
教学任务:
2.1 C++语言概述
2.2基本数据类型和表达式
2.3数据的输入与输出
2.3.1 输入/输出流
2.4算法的基本控制结构
2.5自定义数据类型
作业及实验:作业2、实验二
单元3  函数
要点:
函数的概念、语法、递归、重载
教学任务:
3.1 函数的定义与使用
3.2 内联函数
3.3 带缺省形参值的函数
3.4 函数重载
3.5 使用C++系统函数
作业及实验:作业3、实验三
模块2:面向对象程序设计基础
单元4  类与对象
要点:
面向对象程序设计的主要特点:抽象、封装、继承和多态
面向对象设计方法的核心概念 类的定义、实现和使用。
教学任务:
4.1面向对象程序设计的基本特点
4.2类和对象
4.3构造函数和析构函数
4.4类的组合
4.5 UML图形标识
4. 6 结构体和联合体
析构方法
作业及实验:作业4、实验四
单元5 数据的共享与保护
要点:
标识符的作用域、可见性和生存期的概念;
类成员的共享与保护问题;
程序的多文件结构和编译预处理命令,如何用多个源代码文件来组织大型程序。
教学任务:
5.1标识符的作用域与可见性
5.2对象的生存期
5.3类的静态成员
5.4类的友元
5.5共享数据的保护
5.6多文件结构和编译预处理命令
作业及实验:作业5、实验五
单元6  数组、指针与字符串
要点:
数组类型;
指针类型;
动态内存分配;
字符串数据的存储与处理。
教学任务:
6.1数组
6.2指针
6.3动态内存分配
6.4 用VECTOR创建数组对象
6.5深拷贝与浅拷贝
6.6字符串
作业及实验:作业6、实验六
模块3:类的重用
单元7  继承与派生
要点:
继承的概念及语法
不同继承方式下的基类成员的访问控制问题
添加构造函数和析构函数;
继承关系中,类成员的惟一标识和访问问题。
教学任务:
7.1类的继承与派生
7.2访问控制