首页 > 人才培养 > 本科教育 > 教学大纲 > 正文

《面向对象的程序设计方法(Object-oriented programming Method)》教学大纲

    作者: 发布时间: 2025-11-06 11:06 访问次数:

 

《面向对象的程序设计方法Object-oriented programming Method)》教学大纲

制定时间:20257

一、课程基本信息

)适用专业:计算机科学与技术、物联网工程、软件工程、智能科学与技术

)课程代码:3DX1126A

(三)学分/课内学时:3/48

)课程类别:专业教育

)课程性质:必修/理论课

)先修课程:《计算机科学导论》、《C语言程序设计与应用》、《数据结构与算法》

)后续课程:《计算机网络》、《STM32单片机应用技术》、《操作系统》

二、课程教学目标

《面向对象程序设计(C++)》是计算机类相关专业的一门重要的学科基础课,也是学习后续课程的重要基础。课程主要以C++语言为依托,主要传授面向对象程序设计思想,讲授C++程序设计方法,使学生初步具备根据实际问题,设计结构良好、高效的现代C++程序的能力。结合国家建设和民族复兴的新时代背景,增强学生家国情怀与文化自信,激发学生使命感和责任心。

(一)具体目标

目标1:能够运用C++语言的各种机制,具备阅读和调试C++程序的基本能力。(对应毕业要求指标点2.2

目标2:具备运用面向对象思维方式,为实际应用问题建立问题模型,设计合适C++类的初步能力。(对应毕业要求指标点2.2

目标3能够综合运用C++语言机制,设计结构良好、高效的现代C++程序。在实际项目开发中能够正确认识问题、分析问题和解决问题;能够掌握面向对象程序设计的新技术与发展趋势,及时掌握国家相关方面的科技战略需求,树立强烈的爱国主义使命感与责任心。(对应毕业要求指标点9.1

(二)课程目标与毕业要求的对应关系

毕业要求

毕业要求指标点

课程目标

教学单元

评价方式

2.能够应用自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析计算机软件系统中的复杂工程问题,以获得有效结论。

指标点2.2:能认识并判断智能系统开发过程的实际工程问题有多种解决方案。

目标1

C++概述、类与对象、数据共享与保护、继承与派生、多态性

实验

平时作业

机试

2.能够应用自然科学和工程科学的基本原理,识别、表达、并通过文献研究分析计算机软件系统中的复杂工程问题,以获得有效结论。

指标点2.4:能认识并判断软件系统开发过程的实际工程问题有多种解决方案。

目标2

数组类与字符串类、群体类和群体数据的组织、泛型程序设计与C++标准模板库、

实验

平时作业

机试

4. 能够基于科学原理,采用适当的工程方法对计算机应用系统的复杂工程问题进行研究,包括系统方案设计、分析与解释数据、并通过信息综合得到合理有效的结论。

观测点 4.2:能够基于计算机专业相关理论和对象特征,选择研究开发路线和设计可行的系统方案。

目标3

流类库与输入输出、异常处理、综合运用

实验

平时作业

机试

三、教学内容与方法

(一)教学内容及要求

教学单元

教学内容

学习产出要求

推荐学时

推荐教学方式

支撑

课程目标

备注

1

C++概述

C++简史、基本数据类型、自定义数据类型、运算符及表达式、算法的控制结构、函数、函数重载、内联函数、参数缺省值。

能够使用C++进行简单程序的设计,能够正确理解和使用函数重载、内联函数、引用参数传递,理解栈与函数调用的实现

4+2

讲授

示范

实操

目标1

2

类与对象

类和对象的概念、类的定义、实现、对象定义、对象的构造和析构、指针和对象数组、对象作为参数传递和函数返回值、类的组合和初始化列表、UML简单描述。

能够设计和实现简单类,正确使用类的组合,正确运用对象在函数间的传递,理解简单的UML类图

4+2

讲授

示范

实操

目标1

3

数据共享与保护

标识符的作用域和可见性、对象的生存期、常对象、常成员函数、常引用、静态数据成员和静态函数成员、友元函数和友元类、多文件来组织和编写程序。

能够正确使用不同作用域的各种标识符,正确理解对象的生存期,掌握类的静态成员和友元、共享数据的保护、使用多文件来组织和编写程序。

2

讲授

示范

实操

目标1

4

数组类与字符串类

数组类和字符串类的应用、使用复制构造的三种场合、深复制构造和浅复制构造、C++11移动构造、数组类和字符串类的设计和实现

能够设计含动态分配的类,理解含动态分配类的对象传递效率。

4+2

讲授

示范

实操

目标2

5

继承与派生

派生类概念、派生类成员的访问控制、派生类新成员定义方式和同名覆盖原则、赋值兼容原则;派生类对象的内存布局和构造、析构次序、多继承和虚基类

能够掌握派生类概念、派生类成员的访问控制,掌握派生类新成员定义方式和同名覆盖原则,掌握赋值兼容原则,掌握派生类对象的内存布局和构造、析构次序,了解多继承和虚基类。

4

讲授

示范

实操

目标1

6

多态性

多态性分类、运算符重载规则、成员运算符重载、友元运算符重载、复制赋值和C++11移动赋值、[]()、解引用*->等特殊运算符重载、不同类型对象间转换、虚函数和动态绑定、纯虚函数和抽象类

了解多态性,能够掌握成员和友元两种运算符重载方法、正确运用运算符重载规则,掌握对象赋值和不同类型对象间转换,掌握常规运算符和特殊运算符重载;掌握虚函数、纯虚函数、抽象类。

2+2

讲授

示范

实操

目标2

7

群体类和群体数据的组织

函数模板、类模板、模板特化和偏特化、向量、栈、队列类模板的设计和实现。

掌握C++ 类模板设计和函数模板设计,理解模板特化和偏特化,掌握向量、栈、队列类模板的设计和实现。

2+2

讲授

示范

实操

目标2

8

泛型程序设计与C++标准模板库

泛型程序设计概述、STL常用容器和容器适配器介绍、迭代器、函数对象、STL常用算法

能够了解泛型程序设计思想,了解STL容器、迭代器、算法和函数对象的机制,能够学会常用容器、容器适配器vectorstackqueuestring和常用算法findfind_ifsortcountcount_if的使用。

4+2

讲授

示范

实操

目标2

9

流类库与输入输出

流类库的结构、输入流、输出流对象使用、重载运算符<<、运算符>>

能够理解解流类库的结构,能够学会输入流、输出流对象使用,能够通过重载运算符<<、运算符>>实现自定义对象的输入输出。

2+2

讲授

示范

实操

目标3

10

异常处理

异常抛出、异常捕捉、异常分类、资源泄露和RAII、智能指针unique_ptrshared_ptr

能够掌握异常抛出和捕捉机制,学会异常分类方法,学会现代C++程序设计的RAII思想,能够利用C++ 11智能指针unique_ptrshared_ptr避免异常发生时的资源泄露。

2

讲授

示范

实操

目标3

11

综合运用

综合运用C++进行实际项目开发

能够运用C++进行设计项目开发

2+2

讲授

示范

实操

目标3

(二)教学方法

1.课堂讲授

1)采用启发式教学,激发学生主动学习的兴趣,培养学生独立思考、分析问题和解决问题的能力,引导学生主动通过实践和自学获得自己想学到的知识。

2)在教学内容上,系统讲授面向对象程序设计的三大特性和编程思想,又能掌握C++程序设计语言的开发技术,构建和培养出学生完整的面向对象的编程思想和严谨细致的工作作风

3)在教学过程中采用电子教案,CAI 课件,多媒体教学与传统板书、教具教学相结合,提高课堂教学信息量,增强教学的直观性。

4)课内讨论和课外答疑相结合,每周至少一次进行答疑。

2.实验教学

实验教学是面向对象的程序设计方法课程中重要的实践环节,目的是培养学生运用实验方法研究解决使用C++进行程序设计与开发的能力。课程必做实验8个,各实验按照实验指导书的要求学生独立或分组完成,并提交实验报告。

鼓励学生结合自己的兴趣进行自主实验。

四、考核及成绩评定

(一)考核内容及成绩构成

课程目标

考核内容

成绩评定方式

成绩占总评分比例

目标成绩占当次考核比例

学生当次考核平均得分

目标达成情况计算公式

目标1

C++概述、类与对象、数据共享与保护、继承与派生、多态性

平时作业

10%

50%

A1

 

实验

4%

20%

B1

机试

24%

40%

C1

目标2

数组类与字符串类、群体类和群体数据的组织、泛型程序设计与C++标准模板库、流类库与输入输出、异常处理

平时作业

10%

50%

A2

 

实验

14%

70%

B2

机试

27%

45%

C2

目标3

流类库与输入输出、异常处理、综合运用

实验

2%

10%

B3

机试

9%

15%

C2

总评成绩(100%=平时作业(20%+实验20%+机试60%

100%

——

——

 

(二)平时考核成绩评定

对应目标

目标1、目标2、目标3

考查点

平时作业

实验

总评分占比

20%

20%

评分标准

100%

90%

全部完成教师布置的线上学习任务。

能够根据实验要求制定很好的实验方案,能正确熟练使用Java技术完成实验。实验态度认真,操作能力强,操作、记录规范,沟通、协作很好。有很强的总结实验和撰写报告的能力,实验报告内容完整、正确,有很好的分析与见解。文本表述清晰,书写工整,格式规范。

89.9%

80%

较好完成教师布置的线上学习任务。

能够根据实验要求制定良好的实验方案,能正确熟练使用Java技术完成实验。实验态度认真,操作能力强,操作、记录规范,沟通、协作很好。有较强的总结实验和撰写报告的能力,实验报告内容完整、正确,有很好的分析与见解。文本表述清晰,书写工整,格式规范。

79.9

70%

基本完成教师布置的线上学习任务。

能够根据实验要求制定实验方案,能较较准确的熟练使用Java技术完成实验。实验态度较认真,操作能力一般,操作、记录规范,沟通、协作较好。有一定的总结实验和撰写报告的能力,实验报告内容完整、正确,有较好的分析与见解能力。文本表述较清晰,书写较工整,格式较规范。

69.9%

60%

完成教师布置的60%左右线上学习任务。

基本能够根据实验要求制定实验方案,能够使用Java技术基本完成实验。实验态度不太认真,操作能力不太强,操作、记录规范,沟通、协作一般。有一定的总结实验和撰写报告的能力,实验报告内容基本完整、正确,有一定的分析与见解能力。文本表述基本清晰,格式基本规范。

59.9%

0

几乎未完成教师布置的线上学习任务。

不能够根据实验要求制定实验方案,不能较准确的熟练使用Java技术完成实验。实验态度不认真,操作能力不强,操作、记录不规范,沟通、协作不好。总结实验和撰写报告的能力较差,实验报告内容不完整、不正确,分析与见解有偏差。文本表述清晰不够清晰,格式不够规范。

注:①平时作业1-5为标准答案考核,评价按标准答案计分;

②线上学习任务为综合线上成绩,由在线平台统计,其中各部分成绩在线上评价时均有对应的考核标准。

五、参考学习资料

参考资料1C++语言程序设计,第4版》郑莉、董渊、何江舟著清华大学出版社,20207

参考资料2C++ Primer Plus 6版 中文版》. 史蒂芬·普拉达. 人民邮电出版社出版 202007

参考资料3C++趣味编程及算法入门》. 王桂平等编著 北京大学出版社 202406

参考资料4:《极简C++:新手编程之道》关东升 清华大学出版社 202312