课程目标2:能基于面向对象编程思想中的抽象、封装,利用C++语言实现类的定义,构建C++程序的基本组成单元一一对象:具备熟练运用继承、友元、模板、函数重载、运算符重载、虚函数等C++语言编程技术,编写程序的能力:具备利用C++实现软件系统的全流程设计,并基于常见开发环境开发软件的基本能力。课程目标3:能够基于一种C++软件开发环境实现C++程序开发,具备利用开发工具解决/调试工程软件开发的能力,能够基于IDE环境实现若干实例的分析与再现,具备独立基于C++IDE编写程序解决复杂工程问题的能力,课程目标4:通过开发案例实践,能够了解C++开发各环节中,相关人员的角色和任务,具备多人协作开发复杂系统的能力。课程目标5:具备信息技术领域的职业道德和操守:具备面对复杂工程问题时的求实精神和谦虚学习态度。(三)课程目标和毕业要求的对应关系毕业要求课程目标毕业要求指标点12.22.问题分析23.13.设计/开发解决方案35.25.使用现代工具49.29.个人和团队三、教学内容、要求与学时分配教学方式(讲支撑课教学内容预期学习成果重点、难点学时授、实验、上程目标机、讨论)第一章面向对象程序设计概述重点:对抽象、封装性、继承性、(1)面向对象程序设计基本特征、多态性的理解。讲授目标12主要优点难点:重点:C++的源程序构成:C++中第二章C++概述语言要素扩展;目标12讲授(1)C++源程序的构成及结构特性目标2难点:带默认参数的函数;函数的(2)C++在非面向对象方面的扩充重载:引用;第三章类和对象(1)类与对象(2)构造函数与析构函数(3)对象数组与对象指针目标1重点:构造函数与析构函数,对象(4)string类讲授目标2数组与对象指针,静态成员,友元8(5)向函数传递对象目标3难点:构造函数与析构函数,友元(6)静态成员(7)友元(8)类的组合(9)常类型16
16 课程目标 2:能基于面向对象编程思想中的抽象、封装,利用 C++语言实现类的定义, 构建 C++程序的基本组成单元——对象;具备熟练运用继承、友元、模板、函数重载、运 算符重载、虚函数等 C++语言编程技术,编写程序的能力;具备利用 C++实现软件系统的 全流程设计,并基于常见开发环境开发软件的基本能力。 课程目标 3:能够基于一种 C++软件开发环境实现 C++程序开发,具备利用开发工具 解决/调试工程软件开发的能力,能够基于 IDE 环境实现若干实例的分析与再现,具备独立 基于 C++IDE 编写程序解决复杂工程问题的能力。 课程目标 4:通过开发案例实践,能够了解 C++开发各环节中,相关人员的角色和任 务,具备多人协作开发复杂系统的能力。 课程目标 5:具备信息技术领域的职业道德和操守;具备面对复杂工程问题时的求实精 神和谦虚学习态度。 (三)课程目标和毕业要求的对应关系 课程目标 毕业要求指标点 毕业要求 1 2.2 2.问题分析 2 3.1 3.设计/开发解决方案 3 5.2 5.使用现代工具 4 9.2 9.个人和团队 三、教学内容、要求与学时分配 教学内容 预期学习成果 重点、难点 学时 教学方式(讲 授、实验、上 机、讨论) 支撑课 程目标 第一章 面向对象程序设计概述 (1)面向对象程序设计基本特征、 主要优点 重点:对抽象、封装性、继承性、 多态性的理解。 难点: 2 讲授 目标 1 第二章 C++概述 (1)C++源程序的构成及结构特性 (2)C++在非面向对象方面的扩充 重点:C++的源程序构成;C++中 语言要素扩展; 难点:带默认参数的函数;函数的 重载;引用; 2 讲授 目标 1 目标 2 第三章 类和对象 (1)类与对象 (2)构造函数与析构函数 (3)对象数组与对象指针 (4)string 类 (5)向函数传递对象 (6)静态成员 (7)友元 (8)类的组合 (9)常类型 重点:构造函数与析构函数,对象 数组与对象指针,静态成员,友元 难点:构造函数与析构函数,友元 8 讲授 目标 1 目标 2 目标 3
教学方式(讲支撑课教学内容学时授、实验、上预期学习成果重点、难点程目标机、讨论)第四章派生类与继承(1)派生类的构造函数和析构函数(2)调整基类成员在派生类中的访重点:继承和派生,多重继承,虚目标1问属性的其他方法基类6讲授目标2(3)多重继承目标3(4)基类与派生类对象之间的赋值难点:多重继承,虚基类兼容关系(5)多重继承(6)虚基类第五章运算符重载与多态重点:友元运算符重载,成员运算(1)多态性概述目标1符重载,类型转换,虚函数目标2讲授(2)运算符重载难点:友元运算符重载,成员运算(3)类型转换目标3符重载(4)虚函数第六章模板与异常处理重点:函数模板与模板函数,类模(I)模板的定义目标1板与模板类,异常处理讲授目标2(2)函数模板与模板函数4难点:函数模板与模板函数,异常目标3(3)类模板与模板类处理(4)异常处理第七章C++的流类库与输入输出重点:I/O流类标准对象,文件流(1)C++流概述类,I/O流类的成员函数,输出格目标1(2)预定义类型的输入输出式控制,字符串流类,自定义流类讲授目标24的操作(3)用户自定义类型的输入输出目标3(4)文件的输入输出难点:I/O流类标准对象,文件流类了解信息技术实验1:C++语法基础的局限及负面(1)进一步学习VC++6.0开发环境效应从而正确及程序调试方法对待各种信息;目标1Visual studio6.0开发环境的初步上机(2)掌握C++语言的基本语法2目标5认同与遵守信使用及C++简单程序设计练习思政融入点:培养学生在信息技术上息交往中的各的职业道德和操守:培养学生谦虚的种道德规范和学习态度约定。(1)编写程序,任意从键盘输入实验2:类和对象1两个字符,能将它们按由大到小的目标1(1)理解掌握类的定义顺序输出。上机目标22(2)理解掌握对象的创建(2)建立类cylinder分别表示圆目标4(3)掌握对象的简单应用柱体的半径和高度。(3)设计一个4*4魔方程序。17
17 教学内容 预期学习成果 重点、难点 学时 教学方式(讲 授、实验、上 机、讨论) 支撑课 程目标 第四章 派生类与继承 (1)派生类的构造函数和析构函数 (2)调整基类成员在派生类中的访 问属性的其他方法 (3)多重继承 (4)基类与派生类对象之间的赋值 兼容关系 (5)多重继承 (6)虚基类 重点:继承和派生,多重继承,虚 基类 难点:多重继承,虚基类 6 讲授 目标 1 目标 2 目标 3 第五章 运算符重载与多态 (1)多态性概述 (2)运算符重载 (3)类型转换 (4)虚函数 重点:友元运算符重载,成员运算 符重载,类型转换,虚函数 难点:友元运算符重载,成员运算 符重载 4 讲授 目标 1 目标 2 目标 3 第六章 模板与异常处理 (1)模板的定义 (2)函数模板与模板函数 (3)类模板与模板类 (4)异常处理 重点:函数模板与模板函数,类模 板与模板类,异常处理 难点:函数模板与模板函数,异常 处理 4 讲授 目标 1 目标 2 目标 3 第七章 C++的流类库与输入输出 (1)C++流概述 (2)预定义类型的输入输出 (3)用户自定义类型的输入输出 (4)文件的输入输出 重点:I/O 流类标准对象,文件流 类,I/O 流类的成员函数,输出格 式控制,字符串流类,自定义流类 的操作 难点:I/O 流类标准对象,文件流 类 4 讲授 目标 1 目标 2 目标 3 实验 1:C++语法基础 (1)进一步学习 VC++6.0 开发环境 及程序调试方法 (2)掌握 C++语言的基本语法 思政融入点:培养学生在信息技术上 的职业道德和操守;培养学生谦虚的 学习态度 了 解 信 息 技 术 的 局 限 及 负 面 效 应 从 而 正 确 对待各种信息; 认 同 与 遵 守 信 息 交 往 中 的 各 种 道 德 规 范 和 约定。 Visual studio 6.0 开发环境的初步 使用及 C++简单程序设计练习 2 上机 目标 1 目标 5 实验 2:类和对象 1 (1)理解掌握类的定义 (2)理解掌握对象的创建 (3)掌握对象的简单应用 (1)编写程序,任意从键盘输入 两个字符,能将它们按由大到小的 顺序输出。 (2)建立类 cylinder 分别表示圆 柱体的半径和高度。 (3)设计一个 4*4 魔方程序。 2 上机 目标 1 目标 2 目标 4
教学方式(讲支撑课教学内容重点、难点预期学习成果学时授、实验、上程目标机、讨论)(1)编写程序,输出学生的信息实验3:类和对象2并计算出学生人数和平均成绩目标2(1)学习掌握静态数据成员及静态(2)设计一个用来表示直角坐标上机目标3成员函数的定义及使用2系的Location类,分别采用成员函目标4(2)学习掌握友元函数的定义及使数和友元函数计算给定两个坐标用点之间的距离实验4:派生类和继承1(1)编写一个学生和教师数据输目标1(1)理解掌握派生类的定义及使用2目标2入和显示程序:上机(2)理解掌握公有、私有和保护继目标4(2)编写样例程序,见实验手册。承后,派生类对基类成员的访问规则实验5:派生类和继承编写样例程序,见实验手册,写出(1)理解掌握派生类的定义及使用目标2主程序,用来求height与width分(2)理解掌握多重派生的定义和使上机目标3别为10.0和5.0的矩形面积,以及2用方法目标4求height与width分别为4.0和6.0(3)理解掌握虚基类的作用,以及的三角形面积。在使用时的注意事项实验6:多态性(1)编写程序,定义抽象基类目标1(1)理解掌握静态多态---运算符重Container,用虚函数分别计算几种目标2载函数的定义及应用图形的表面积和体。2上机目标3(2)理解掌握动态多态---虚函数的(2)编写程序,其中设计一个时目标4定义及应用间类Time。(1)编写程序求任意类型数组中实验7:模板和异常处理最大元素和最小元素,要求设计成目标2(1)正确理解模板的概念函数模板。上机(2)掌握函数模板和类模板的声明2目标3(2)编写个程序,使用类模板对目标4和使用方法数组元素进行排序、倒置、查找和(3)学习简单的异常处理方法求和。实验8:C++的流类库和输入输出(1)掌握C++格式化的输入输出方给出打印九九乘法表的程序,但程目标2法。序中存在错误。请上机调试,使得上机目标3(2)掌握重载运算符“<<“和”>>"此程序运行后,能够输出如下所示目标4的方法。的九九乘法表。(3)掌握磁盘文件的输入输出方法18
18 教学内容 预期学习成果 重点、难点 学时 教学方式(讲 授、实验、上 机、讨论) 支撑课 程目标 实验 3:类和对象 2 (1)学习掌握静态数据成员及静态 成员函数的定义及使用 (2)学习掌握友元函数的定义及使 用 (1)编写程序,输出学生的信息 并计算出学生人数和平均成绩 (2)设计一个用来表示直角坐标 系的 Location 类,分别采用成员函 数和友元函数计算给定两个坐标 点之间的距离 2 上机 目标 2 目标 3 目标 4 实验 4:派生类和继承 1 (1)理解掌握派生类的定义及使用 (2)理解掌握公有、私有和保护继 承后,派生类对基类成员的访问规则 (1)编写一个学生和教师数据输 入和显示程序; (2)编写样例程序,见实验手册。 2 上机 目标 1 目标 2 目标 4 实验 5:派生类和继承 (1)理解掌握派生类的定义及使用 (2)理解掌握多重派生的定义和使 用方法 (3)理解掌握虚基类的作用,以及 在使用时的注意事项 编写样例程序,见实验手册,写出 主程序,用来求 height 与 width 分 别为 10.0 和 5.0 的矩形面积,以及 求 height 与 width 分别为 4.0 和 6.0 的三角形面积。 2 上机 目标 2 目标 3 目标 4 实验 6:多态性 (1)理解掌握静态多态-运算符重 载函数的定义及应用 (2)理解掌握动态多态-虚函数的 定义及应用 (1)编写程序,定义抽象基类 Container,用虚函数分别计算几种 图形的表面积和体。 (2)编写程序,其中设计一个时 间类 Time。 2 上机 目标 1 目标 2 目标 3 目标 4 实验 7:模板和异常处理 (1)正确理解模板的概念 (2)掌握函数模板和类模板的声明 和使用方法 (3)学习简单的异常处理方法 (1)编写程序求任意类型数组中 最大元素和最小元素,要求设计成 函数模板。 (2)编写个程序,使用类模板对 数组元素进行排序、倒置、查找和 求和。 2 上机 目标 2 目标 3 目标 4 实验 8:C++的流类库和输入输出 (1)掌握 C++格式化的输入输出方 法。 (2)掌握重载运算符“<<“和”>>” 的方法。 (3)掌握磁盘文件的输入输出方法。 给出打印九九乘法表的程序,但程 序中存在错误。请上机调试,使得 此程序运行后,能够输出如下所示 的九九乘法表。 2 上机 目标 2 目标 3 目标 4
四、课程考核评价方式(一)考核方式课程主要从平时成绩和期末成绩两方面评定学生学习情况,其中平时成绩中包含实验课作业、pta作业和阶段考。成绩原则上按以下公式计算:课程成绩=实验课表现×10%+pta作业×10%+阶段考×20%+期末大作业X×60%(二)课程成绩1.考核环节及说明成绩构成考核说明(1)平时成绩满分为100分,占总成绩的40%平时成绩(2)平时成绩中包含实验课表现、pta作业和阶段考。(1)考试方式及占比:采用大作业的方式,考试成绩100分,占课程考核成绩的60%。期末考试(2)评定依据:考试成绩的评定根据大作业评分标准进行。(3)考试内容:针对课程目标,完成程序设计系统,并完成作业报告。2.考核与评价方式成绩比例(平时成绩40%+期末成绩60%)平时成绩(40%)课程目标合计期末成绩实验课表现pta作业阶段考试(60%)(10%)(10%)(20%)1323101832282538323715274232101710201060100%合计(成绩构成)19
19 四、课程考核评价方式 (一)考核方式 课程主要从平时成绩和期末成绩两方面评定学生学习情况,其中平时成绩中包含实验课 作业、pta 作业和阶段考。 成绩原则上按以下公式计算: 课程成绩=实验课表现×10%+pta 作业×10%+阶段考×20%+期末大作业×60% (二)课程成绩 1.考核环节及说明 成绩构成 考核说明 平时成绩 (1)平时成绩满分为 100 分,占总成绩的 40% (2)平时成绩中包含实验课表现、pta 作业和阶段考。 期末考试 (1)考试方式及占比:采用大作业的方式,考试成绩 100 分,占课程考核成绩的 60%。 (2)评定依据:考试成绩的评定根据大作业评分标准进行。 (3)考试内容:针对课程目标,完成程序设计系统,并完成作业报告。 2.考核与评价方式 课程目标 成绩比例(平时成绩40%+期末成绩60%) 合计 平时成绩(40%) 期末成绩 实验课表现 (60%) (10%) pta 作业 (10%) 阶段考试 (20%) 1 3 2 3 10 18 2 3 2 8 25 38 3 2 3 7 15 27 4 2 3 2 10 17 合计(成绩构成) 10 10 20 60 100%
五、教学方法教师讲授与上机相结合,围绕基本概念、语法以及程序设计的基本方法进行教学。要求在教学中从思想上向学生灌输计算思维的基本原则与方法,在实践层面突出培养学生对程序设计的硬件基础--冯诺依曼计算机的基本组成的理解。在课堂上应详细讲授每章的重点、难点内容;讲授中应注重通过必要的案例演示,启发、调动学生的思维,加深学生对有关概念、理论等内容的理解,并应采用多媒体辅助教学,加大课堂授课的知识含量。本课程应保证学生有充分的上机时间,并布置相应实验内容。使他们在实践中不断地发现问题并解决问题,达到教学大纲规定的要求。教师应及时了解学生实验过程中遇到的问题,给予及时的指导,对共性问题,在课堂上予以讲解和演示。要注意培养学生的自学能力,在教学中注意引导学生自己提出问题,分析问题,培养他们独立解决问题的能力。使用多媒体教学,教师计算机安装环境软件,将讲解与操作演示紧密结合在一起。本课程采用的教学媒体主要有:文字教材、课件,课件课后提供给学生。对学生的辅导,主要采用实验指导、当面答疑、E-MAIL等形式。六、参考材料线上:泛雅平台线上资源http://shfulm.fanya.chaoxing.com/portal线下:参考教材、阅读书目等教材:《C++面向对象程序设计教程》,陈维兴编,清华大学出版社,2018年10月第4版阅读书目:(1)C++Primer(中文版第5版),StanleyB.Lippman,电子工业出版社,2013年(2)面向对象分析与设计(第3版)GradyBooch,电子工业出版社2016(3)C++程序设计,谭浩强,清华大学出版社,2015年(4)深度探索C++对象模型,StanleyB.Lippman,电子工业出版社,2012年主撰人:贺琪审核人:卢鹏、王文娟英文校对:贺琪教学副院长:袁红春日期:2022年9月10日20
20 五、教学方法 教师讲授与上机相结合,围绕基本概念、语法以及程序设计的基本方法进行教学。要求 在教学中从思想上向学生灌输计算思维的基本原则与方法,在实践层面突出培养学生对程序 设计的硬件基础-冯诺依曼计算机的基本组成的理解。在课堂上应详细讲授每章的重点、难 点内容;讲授中应注重通过必要的案例演示,启发、调动学生的思维,加深学生对有关概念、 理论等内容的理解,并应采用多媒体辅助教学,加大课堂授课的知识含量。 本课程应保证学生有充分的上机时间,并布置相应实验内容。使他们在实践中不断地发 现问题并解决问题,达到教学大纲规定的要求。教师应及时了解学生实验过程中遇到的问题, 给予及时的指导,对共性问题,在课堂上予以讲解和演示。要注意培养学生的自学能力,在 教学中注意引导学生自己提出问题,分析问题,培养他们独立解决问题的能力。 使用多媒体教学,教师计算机安装环境软件,将讲解与操作演示紧密结合在一起。本课 程采用的教学媒体主要有:文字教材、课件,课件课后提供给学生。对学生的辅导,主要采 用实验指导、当面答疑、E-MAIL 等形式。 六、参考材料 线上:泛雅平台线上资源 http://shfulm.fanya.chaoxing.com/portal 线下:参考教材、阅读书目等 教材:《C++面向对象程序设计教程》,陈维兴编,清华大学出版社,2018 年 10 月 第 4 版 阅读书目: (1)C++ Primer(中文版 第 5 版),Stanley B. Lippman,电子工业出版社,2013 年 (2)面向对象分析与设计(第 3 版) Grady Booch, 电子工业出版社,2016 (3)C++程序设计,谭浩强,清华大学出版社,2015 年 (4)深度探索 C++对象模型,Stanley B.Lippman,电子工业出版社,2012 年 主撰人:贺琪 审核人:卢鹏、王文娟 英文校对:贺琪 教学副院长:袁红春 日 期:2022 年 9 月 10 日