1、面向对象程序设计课程教学大纲课程基本信息注:1.课程类别:选填“通识核心课/通识拓展课/通修课/学科基础课/专业主干课/专业选修课/专业实践/课程名称(中文)面向对象程序设计课程名称(英文)Object-Oriented Programming课程类别】:专业主干课课程性质2必修授课语言3中文授课学期3学分3课程学时及分配总学时讲课实验课外48321648适用专业计算机类教材郑莉,董渊,何江舟,C+语言程序设计(第4版),清华大学出版社,2015授课学院计算机与软件学院先修课程计算机导论,程序设计基础后续课程算法设计与分析课程简介课程基本定位:本课程为计算机类各专业的专业主干课程。通过本课程的
2、学 习,学生能够掌握面向对象程序设计的基本概念和方法,熟练使用C+语言编 程解决各专业领域的实际问题,培养学生采用面向对象方法分析问题和解决 问题的能力,为后续其他相关课程的学习奠定扎实的基础。核心学习结果:理解并掌握C+语言的语法规那么和面向对象程序设计思想,具 备较强的程序阅读和设计能力,会利用常用的集成开发环境编写、调试程序 解决实际问题。主要教学方法:讲授、案例、课堂讨论、实验大纲更新时间素质拓展”2.课程性质:选填“选修/必修”3,授课语言:选填“中文/双语/全英文或其他语种”二、课程目标序号课程目标(参考培养目标、毕业要求、 课程定位)支撑毕业要求指标点1达成途径1.1掌握C+语言
3、的基本语法规那么和面 向对象程序设计思想。讲授、案例、课堂讨论、实验2.1能够熟练利用集成开发环境编写、调讲授、案例、课(2)运算符重 载为非成员函 数。(3)动态多态 的实现(虚函 数)。(2)掌握运算符 重载的方法。(3)学习使用虚 函数实现动态多 态性。3.18流类库与输 入输出(1)流类库中 常用类及成员 函数的使用(2)文件的输 入输出操作2验证性 设计性(1)理解并掌握 流类库中常用的 类及其成员函数 的用法。(2)掌握C+标 准的输入输出及 格式控制。(3)学习对文件 (二进制文件、 文本文件)的输 入输出操作。1.12.12.3注:1.此表可用于课内实践教学环节或某门综合实践课
4、程2.实验类型:选填“验证性/综合性/设计性”;实习类型:选填“认识实习/生产实习/毕业实习”五、课程评价(一)考核内容、考核方式与课程目标对应关系注:1.课程目标在考核方式及占比:主要根据课程目标自行设计和制定多元化考核方式,表中所列仅为参课程目标考核内容课程目标在各考核方式中占比1平时表现课程 作业课程 实验线上 学习期末 考试1.1C+语言的基本语法规那么和面向对象 程序设计思想的掌握情况。10%10%10%20%20%2.1熟练利用集成开发环境编写、调试C+ 程序。10%20%10%2.2阅读和分析C+程序的能力。30%30%20%30%55%2.3利用C+语言编程解决实际应用问题 的
5、能力。30%50%40%30%25%3.1尊重科学、学习科学、运用科学的精神 和态度,在实践中不断拓展、创新的综 合素养。20%10%10%10%合计100%100%100%100%100%各考核方式占总成绩权重(自行赋值)10%10%10%10%60%考(红色数据可删除)。但所列考核方式必须覆盖全体学生,可根据当学期具体教学情况酌情调整。2.各考核方式占总成绩权重:根据课程实际情况对各考核方式占总成绩的权重予以赋值。(二)考核方式评分标准1.平时表现评分标准课程目标评分标准占比90-100 (优)80-89 (良)70-79 (中)60-69 (及格)0-59(不及格)1.1根据课堂纪律、课
6、堂讨论参与情况、课堂练习完成情况综合评定。10%2. 110%2.230%2. 330%3. 120%2.课程作业评分标准课程目标评分标准占比90-100 (优)80-89 (良)70-79 (中)60-69(及格)0-59(不及格)1.1按时完成 并提交作 业,完成情 况良好,能 够针对作 业中出现 的问题展 开有效的 分析讨论, 或发现作 业中存在 的问题,并 进行适当 拓展。基本能按时 完成并提交 作也(缺交 作业不超过 1次),完成 情况良好, 能够针对作 业中出现的 问题展开有 效的分析讨 论,或发现 作业中存在 的问题。作业缺交不 超过2次, 完成情况较 好,能够针 对作业中出 现
7、的问题展 开一定的分 析讨论。作业缺交 不超过3 次,或完成 情况一般。作业缺交 超过3次, 或完成情 况很差。10%2.230%2. 350%3. 110%3.课程实验评分标准课程目标评分标准占比90-100 (优)80-89 (良)70-79 (中)60-69 (及格)0-59(不及格)1.1能够熟练运 用集成开发 环境编写、调 试程序,按时 完成实验任 务,并提交实 验报告。报告 内容完整,格 式正确,并针 对实验过程 中出现的问 题展开有效 的分析讨论, 或发现实验 任务中存在 的问题,并进 行适当拓展。能够熟练运 用集成开发 环境编写、 调试程序, 按时完成实 验任务,并 提交实验报
8、 告(缺交不 超过1次)。 报告内容完 整,格式正 确,并针对 实验过程中 出现的问题 展开有效的 分析讨论。能够运用集 成开发环境 编写、调试 程序,基本 按时完成实 验任务,并 提交实验报 告(缺交不 超过1次)。 报告内容较 完整,格式 正确,并针 对实验过程 中出现的问 题展开一定 的分析讨 论。能够运用 集成开发 环境编写、 调试程序, 基本完成 实验任务, 并提交实 验报告(缺 交不超过 2次)。报 告内容基 本完整,格 式基本正 确。运用集成 开发环境 编写、调试 程序不够 熟练,或只 完成局部 实验任务, 并提交实 验报告(缺 交超过2 次)。报告 内容不够 完整,格式 存在问
9、题。10%2. 120%2.220%2. 340%3. 110%4.线上学习评分标准课程目标评分标准占比90-10080-8970-7960-690-59(优)(良)(中)(及格)(不及格)1.1根据线上课程布置的任务点完成情况综合评定成绩(系统导出)。20%2. 110%2.230%2.330%3.110%5.期末考试评分标准(笔试类评分标准可在大纲中按以下格式予以说明,也可在通过“试 卷分析表”予以说明)注:考核方式和课程目标在考核方式中占比应与“(一)考核内容、考核方式与课程目标对应关系” 一课程目标评分标准占比90-100 (优)80-89 (良)70-79 (中)60-69 (及格)
10、0-59(不及格)1.1按试卷评分标准,选择题得分20%2.2按试卷评分标准,程序分析题、程序填空题、程序改错题得分之和55%2. 3按试卷评分标准,编程题得分25%致。所列考核环节,除了笔试类均须依次给出评分标准,格式同上。笔试类课程考核评分标准可以在本课 程大纲里进行说明,也可以通过提交“试卷分析表”予以说明。六、参考书目及学习资料.(美)李普曼等著.C+ Primer中文版(第5版).电子工业出版社,2013.1 .(美)Stephen Prata著.C+ Primer Plus(第6版)中文版.人民邮电出版 社,2012.2 .(美)本贾尼斯特劳斯特鲁普(BjarneStroustru
11、p)著.C+程序设计原理与实践. 机械工业出版社,2010.3 .谭浩强.C+程序设计(第2版).清华大学出版社,2011试C+程序。堂讨论、实验2.2能够阅读和分析C+程序。讲授、案例、课 堂讨论、实验2.3能够利用C+语言编程解决实际应用 问题。讲授、案例、课 堂讨论、实验3.1引导学生养成尊重科学、学习科学、 运用科学的精神和态度,培养学生在 实践中不断拓展、创新的综合素养。案例、课堂讨论、 实验注:1 .支撑毕业要求指标点:选填项。需要进行专业认证,有毕业要求指标点可参照的课程必填,无明确毕业要求指标点可参照的可不填。三、理论教学内容章标题教学内容学时思政融入点1学生学习预期成果2教学
12、方式3课程目标第1章 绪论(1)计算机程序设计 语言的开展(2)面向对象的软件 开发(3)程序开发的基本 概念(4) C+语言概述2线上1介绍C+语言 的开展历程 时,适当介绍 我国在计算机 学科的研究现 状,激励学生 发奋图强,勇 攀高峰,树立 当代大学生的 “使命感二(1) 了解程 序设计语言 的开展历 程;(2)理解面 向对象方法 的基本概 念;(3)熟悉面 向对象的软 件开发过 程;(4) 了解 C+的特点, 掌握C+语 言的词法记号。讲授案例 课堂讨论1.13.1第2章 C+简 单程序 设计(1)基本数据类型和 表达式(2)数据的输入与输 出2线上1讲授C+的语 法规那么时,引 导学
13、生养成严 谨的科学作(1)掌握 C+的基础 语法,注意 与C语言的讲授案例课堂讨论 实验1.12.12.2(3)算法的基本控制结构(4)自定义数据类型风,在现实生 活中要遵守学 校的各项规章 制度。不同之处;(2)熟悉 C+简单的 输入输出;(3)掌握基 本控制结 构;(4)掌握选 择结构和循 环结构的嵌 套;(5)掌握自 定义数据类 型。第3章 函数(1)函数的定义与使用(2)内联函数(3)带默认形参值的函数(4)函数重载(5) C+系统函数2线上1同样的问题, 可以通过不同 的代码解决, 但程序可读性 和效率差异巨 大。引导学生 展开讨论,学 习、工作中都 需要精益求 精。(1)掌握函 数
14、的定义与 调用过程;(2)掌握内 联函数;(3)掌握函 数重载;(4)熟悉常 用的C+系 统函数。讲授案例课堂讨论 实验1.12.22.3第4章 类与对 象(1)面向对象程序设 计的基本特点(2)类和对象(3)构造函数和析构 函数(4)类的组合(5) UML图形标识(6)结构体和联合体4线上2(1)理解面 向对象程序 设计的基本 特点;(2)掌握类 的封装及使 用;(3)掌握构 造函数(包 括拷贝构造 函数)的概讲授案例课堂讨论 实验1.12.22.3第5章 数据的 共享与 保护念和特点;(4)掌握析 构函数的概 念和特点;(5)掌握组 合类的定义 方法;(6)理解组 合类的构造 函数;(7)
15、熟悉 UML图形标 识;(8)熟悉结 构体和联合 体。(1)标识符的作用 域、生存期、可见性(2)类的静态成员(3)类的友元(4)共享数据的保护(5)多文件结构和编 译预处理命令4线上2(1)理解标 识符的作用 域、生存期、 可见性;(2)掌握类 的静态成员 的使用;(3)掌握友 元函数、友 元类的作用 及其定义方 法;(4)理解掌 握const关键 字;(5)熟悉多 文件结构;(6)熟悉常 用的编译预讲授案例 课堂讨论实验1.12.22.3处理命令。第6章 数组、 指针与 字符串(1)数组(2)指针(3)动态内存分配(4)用vector创立 数组对象(5)深复制与浅复制(6)字符串4线上2(
16、1)掌握数 组的声明与 使用;(2)掌握对 象数组;(3)理解指 针的概念、 声明级运 算;(4)掌握指 针与数组、 指针与函数 之间的关 系;(5)掌握对 象指针的应 用;(6)掌握动 态内存分 配;(7)理解深 复制与浅复 制;(8)掌握 C+中字符 串处理方 法。讲授案例课堂讨论 实验1.12.22.3第7章 继承与 派生(1)类的继承与派生(2)访问控制(3)类型兼容规那么(4)派生类的构造和 析构函数(5)成员标识的二义 性问题4线上2类似的代码, 运行结果完全 不同,让学生 体会到“差之 毫厘差之千 里”,引导学生 培养踏实、严(1)掌握派 生类的概念 和定义方 法;(2)理解访
17、问控制规 那么;讲授案例课堂讨论 实验1.12.22.3谨的优良作 风。(3)熟悉类 型兼容规 那么;(4)掌握派 生类的构造 函数和析构 函数;(5)掌握多 重继承和虚 基类;(6)熟悉派 生类的应 用。第8章 多态性(1)多态性概述(2)运算符重载(3)虚函数(4)纯虚函数与抽象 类4线上2(1)理解多 态的概念及 实现方式;(2)理解运 算符重载的 基本概念;(3)掌握运 算符重载为 成员函数;(4)掌握运 算符重载为 非成员函 数;(5)掌握虚 函数的定义 及使用;(6) 了解纯 虚函数和抽 象类。讲授案例课堂讨论 实验1.12.22.3第9章 群体类 和群体(1)函数模板与类模板(2
18、)线性群体2线上0.5(1)掌握类 模板的定义 和使用;讲授案例 课堂讨论1.13.1注:1.思政融入点:至少写3条,简述该课程教学中将思政教育内容与专业教育内容有机融合的知识点(下数据的 组织(3)群体数据的组织(2)理解为 什么要用函 数模板;(3)熟悉常 用的线性群 体;(4) 了解群 体数据的组 织。第10章 泛型程 序设计 与C+ 标准模 板库(1)泛型程序设计及STL的结构(2)迭代器(3)容器(4)函数对象(5)算法2线上1(1) 了解泛 型程序设计 的概念;(2)掌握 C+标准模 板库(STL) 的使用方 法。讲授案例 课堂讨论1.12.23.1第11章 流类库 与输入 输出(
19、1) I/O流的概念(2)输出流(3)输入流(4)输入输出流1线上1(1)理解 I/O流的概 念;(2)学会使 用I/O流类 库实现文件 输入/输出 及格式控 制。讲授案例课堂讨论 实验1.13.1第12章 异常处 理(1)异常处理的基本 思想(2) C+异常处理的 实现1线上0.5熟悉C+的 异常处理机 制。讲授案例 课堂讨论1.13.1同)。2 .学生学习预期成果:描述学生在学完本节内容后应获得的知识、能力或素养水平(下同)3 .教学方式:包括讲授、讨论、案例、演示等,但不限于所列,根据课程实际需要列举U!U!、实践(实验或实习)教学I编 号实验或实习 工程名称教学内容学时实验或实 习类型
20、2思政融入点学生学习预期成果课程 目标1C+简单程序设计(1)求不大于 n (n从键盘输 入)的素数之 和。(2)编写程序 计算图形的面 积。(3)编写程序 模拟游戏过程。2设计性(1)掌握C+基 础语法(基本数 据类型变量和常 量,运算符,表 达式)。(2)掌握C+程 序的基本控制结 构。(3)学会分析问 题,并设计合理 的程序结构。(4)学会使用集 成开发环境调试 程序。(5)养成良好的 编程习惯,注意 提高程序的可读 性。1.12.12.32函数的应用(1)编写一个 函数,用于返回 一个正整数n 的第k位数码。(2)体会各种 参数传递类型 对结果的影响。(3)函数重载。 (4)递归调用。
21、2设计性(1)掌握函数的 声明、定义和调 用方法。(2)理解函数调 用过程中各种参 数的传递过程。(3)掌握重载函 数的使用。(4)学习使用 debug功能,分 析递归调用过 程。1.12.33.13类与对象(1)类的封装。(2)类成员的 访问控制属性。(3)构造函数, 析构函数2设计性(1)学会根据具 体需求设计类的 成员。(2)深入理解 C+中类的封装 性,掌握类的定 义和对象的声 明。(3)掌握具有不 同访问属性的成 员的访问方式。(4)掌握构造函1.12.22.33.1数和析构函数的 使用。(5)使用调试功 能观察程序流 程,跟踪观察类 的构造函数、析 构函数、成员函 数的执行顺序。4
22、数据的共享 与保护(1)作用域, 可见性,生存 期。(2)静态数据 成员和静态成 员函数。(3)友元函数。(4)多文件结 构。2验证性 设计性(1)理解变量的 作用域、生存期 和可见性。(2)掌握类的静 态成员的使用。(3)掌握友元的 定义和使用方 法。(4)学习多文件 结构在C+程序 中的使用。1.12.12.35数组、指针 与字符串(1)数组(2)动态内存 分配(new, delete 运算)。(3) C风格字 符串操作。(4) string2设计性(1)掌握数组的 定义和使用。(2)掌握指针的 概念和使用方 法。(3)练习使用 new动态分配内 存定义数组,并 体会指针在其中 的作用。(4)掌握字符串 数据的组织和处 理方法。1.12.33.16继承与派生(1)派生类定 义。(2)派生类成 员的访问控制 属性。(3)派生类的 构造函数和析 构函数。(4)二义性问 题。2设计性(1)理解类的继 承关系,掌握派 生类的定义。(2)掌握不同继 承方式对基类成 员的访问控制。(3)理解二义性 问题及解决办 法。1.12.22.37多态性(1)运算符重 载为成员函数。2设计性(1)理解多态的 概念。1.12.3