电子信息实验教学中心

C++程序设计

发布日期: 2024-07-10   作者:   浏览次数: 18

课程教学大纲

 

课程代码

COME0031132007

课程性质

专业必修

课程名称:

C++程序设计

英文名称

C++ programming

学时/学分

54/2.5

其中实验/实践学时

18

开课单位

通信工程系

适用专业:

通信

先修课程

计算机导论,C程序设计

大纲撰写人

金豫

大纲审核人

王慈

课程网址

授课语言

中文







 

一、课程说明

通过本课程的学习,使学生熟悉采用面向对象编程语言进行程序开发,掌握面向对象的编程思想,熟悉面向对象编程技术。本课程侧重实际应用,每一讲的内容都配合了详细的编程实例讲解,使学生达到学以致用的目的

 

二、教学目标

本课程的目标:

目标1:掌握面向对象程序设计的方法;(支撑毕业要求1.2)

目标2:熟悉和掌握C++程序设计语言;(支撑毕业要求1.2)

目标3:熟悉开发平台的使用;(支撑毕业要求5.1)

目标4:熟悉和掌握C++编程技术;(支撑毕业要求1.2)

 

三、课程目标与毕业要求的对应关系

毕业要求

指标点

课程目标

支撑强度

毕业要求1

掌握数学、自然科学、通信工程的基础知识和专业知识,并能用于解决复杂的信息与通信工程问题。

观测点1.2

掌握面向对象程序设计的方法,基本概念。

目标1

H

毕业要求1

掌握数学、自然科学、通信工程的基础知识和专业知识,并能用于解决复杂的信息与通信工程问题。

观测点1.2:熟悉和掌握C++程序设计语言,包括语法和概念等。

 

目标2

 

H

毕业要求1

掌握数学、自然科学、通信工程的基础知识和专业知识,并能用于解决复杂的信息与通信工程问题。

观测点1.2:熟悉和掌握C++编程技术,用以解决通信专业相关的实际的问题。

目标4

 

H

毕业要求5

使用现代工具:能够针对复杂工程问题,开发、选择与使用恰当现代工程工具和信息技术工具,并能够了解这些工具的局限。

观测点5.1:熟悉开发平台的使用。开发工具随着技术的发展会不断迭代更新,学生需要能够紧跟潮流,掌握最新的开发工具。

目标3

M

 

 

 

 

 

 

 

四、教学内容

第一章  概述(1学时,支持课程目标2,3,4)

本章介绍类C++的大致轮廓。

第一节  程序设计语言

第二节  C++发展史

第三节  C++

第四节  C++编程流程

第五节  程序与算法

第六节  过程化程序设计

第七节  对象化程序设计

第八节  目的归纳

 

第二章  基本编程(1学时,支持课程目标2,3,4)

本章介绍了编程的基本结构。

第一节  说明语句

第二节  条件语句

第三节  循环语句

第四节  循环设计

第五节  输入输出语句

第六节  转移语句

第七节  再做循环设计

第八节  目的归纳

 

第三章  数据类型(1学时,支持课程目标2,3,4)

本章介绍了C++支持的数据类型。

第一节  整型

第二节  整型子类

第三节  浮点型

第四节  C-串与string

第五节  数组

第六节  向量

第七节  指针与引用

第八节  目的归纳

 

第四章  计算表达(1学时,支持课程目标2,3,4)

本章介绍了C++支持的操作符。C++语言是表达式语言,它所支持的操作符特别丰富。

第一节  名词解释与操作符

第二节  算法运算问题

第三节  相容类型的转换

第四节  关系与逻辑操作

第五节  位操作

第六节  增量操作

第七节  表达式的副作用

第八节  目的归纳

 

第五章  函数机制(2学时,支持课程目标2,3,4)

函数是程序的基础。本章围绕着函数,介绍了C++的编程语法。

第一节  函数性质

第二节  指针参数

第三节  栈机制

第四节  函数指针

第五节  main函数参数

第六节  递归函数

第七节  函数重载

第八节  目的归纳

 

第六章  性能(2学时,支持课程目标2,3,4)

本章介绍了涉及程序性能和研究方法的基础知识,以及程序结构和组织问题。

第一节  内联函数

第二节  数据结构

第三节  算法

第四节  数值计算

第五节  标准C++算法

第六节  动态内存

第七节  低级编程

第八节  目的归纳

 

第七章  程序结构(2学时,支持课程目标2,3,4)

本章介绍了作用域、生命期、命名空间等概念。

第一节  函数组织

第二节  头文件

第三节  全局数据

第四节  静态数据

第五节  作用域与生命期

第六节  名空间

第七节  预编译

 

第八章  类(4学时,支持课程目标1,2,3,4)

本章是面向对象程序设计的初步,介绍了类这一十分精巧的编程机制。

第一节  从结构到类

第二节  成员函数

第三节  操作符

第四节  再论程序结构

第五节  屏蔽类的实现

第六节  静态成员

第七节  友元

第八节  目的归纳

 

第九章  对象生灭(4学时,支持课程目标1,2,3,4)

本章介绍类的各种机制。

第一节  构造函数设计

第二节  构造函数的重载

第三节  类成员初始化

第四节  构造顺序

第五节  拷贝构造函数

第六节  析构函数

第七节  对象转型与赋值

 

第十章  继承(4学时,支持课程目标1,2,3,4)

本章介绍面向对象程序设计中的继承机制

第一节  继承结构

第二节  访问父类成员

第三节  派生类的构造

第四节  继承方式

第五节  继承与组合

第六节  多继承概念

第七节  多继承技术

第八节  目的归纳

 

第十一章  基于对象编程(4学时,支持课程目标1,2,3,4)

本章采用对比方法介绍类基于对象编程与基于过程编程的差异。

第一节  抽象编程

第二节  编程质量

第三节  分析Josephus问题

第四节  基于过程的解决方案

第五节  基于对象的解决方案

第六节  程序维护

第七节  程序扩展

第八节  目的归纳

 

第十二章  多态(4学时,支持课程目标1,2,3,4)

本章介绍面向对象程序设计的多态机制。

第一节  继承召唤

第二节  抽象编程的困惑

第三节  虚函数

第四节  避免虚函数的误用

第五节  精简共性的类

第六节  多态编程

第七节  类型转换

第八节  目的归纳

 

第十三  抽象类(2学时,支持课程目标1,2,3,4)

本章通过抽象类,介绍如何更平滑地面向对象编程。

 第一节  抽象基类

 第二节  抽象类与具体类

 第三节  深度隔离的界面

 第四节  抽象类做界面

 第五节  演绎概念设计

 第六节  系统扩展

 第七节  手柄

 第八节  目的归纳

 

第十四章  模板(1学时,支持课程目标1,2,3,4)

本章介绍C++中的模板设计。

 第一节  函数模板

 第二节  函数模板参数

 第三节  类模板

 第四节  实例化与定制

 第五节  程序组织

 第六节  模板的多态

 第七节  高级编程

 第八节  目的归纳

 

第十五章  异常(1学时,支持课程目标1,2,3,4)

本章介绍如何采用异常机制来处理程序中非错误问题。

 第一节  错误处理的复杂性

 第二节  使用异常

 第三节  捕捉异常

 第四节  异常的申述

 第五节  异常继承体系

 第六节  异常的应用

 第七节  非错误处理

 第八节  目的归纳

    

习题课 (2学时,支持课程目标1,2,3,4)

 

实验课程:(18学时,支持课程目标1,2,3,4)

实验一. 命令行参数与文件读写(2课时)

实验二. 数字图像处理初步(6课时)

实验三. 类设计与函数重载(2课时)

实验四. 成员函数设计与操作符重载(2课时)

实验五. 继承与派生(4课时)

实验六. 多态编程(2课时)

  

五、教学方法:

1.   部分章节利用课堂讲授、课堂讨论方式教学;

2.   部分章节利用课题设计为导向,引导学生自主学习+讲授+程序设计方式教学;

3.   部分重点章节利用教学、实验混合方式教学,使得理论与实践紧密结合;

4.   重点知识点以在作品设计中予以实现方式教学,强调综合设计能力和动手实践能力;

 

 

 

六、考核方式

1. 课程考核方式

考核方式

成绩比例%

平时成绩

(过程性)

出勤情况

5

课堂表现

5

课后作业

10

上机作业

20

期末成绩

(总结性)

期末闭卷考试

60

 

 

2. 课程目标与考核方式对应关系


 

 

出勤情况(5%)

课堂表现(5%)

课后作业(10%)

上机作业(20%)

期末闭卷考试(60%)

课程目标1

课程目标2

课程目标3

课程目标4

 

七、推荐教材和教学参考书目与文献

教材:钱能主编:《C++程序设计教程》,清华大学出版社,2005年版

本教材或教育部全国高校优秀教材奖。

 

参考书目:

1、埃克尔:《Think in C++》(C++编程思想),机械工业出版社2011年版。

2、董志鹏:《Visual C++编程从基础到应用》,清华大学出版社,2014年版

3、卡吉尔:《C++编程风格》,人民邮电出版社,2015年版

4、赫布萨特:《C++编程剖析》,人民邮电出版社,2016

5Microsoft:《Mastering MFC Development》,清华大学出版社,2007


八、评分标准【请按照本门课程采用的课程考核方式选择下表之一填写】

表1:

课程目标

成绩分布

90-100

80-89

70-79

60-69

0-59

目标1

深刻理解和熟练掌握面向对象程序设计的概念和方法

较好理解和掌握面向对象程序设计的概念和方法

基本理解和掌握面向对象程序设计的概念和方法

大致了解和简单运用面向对象程序设计的概念和方法

对于面向对象程序设计的概念和方法学习情况不达要求

目标2

完全熟悉和掌握C++程序设计语言

较好熟悉和掌握C++程序设计语言

基本熟悉和掌握C++程序设计语言

大致熟悉和掌握C++程序设计语言

没能掌握C++程序设计语言

目标3

完全熟练使用开发平台

熟练使用开发平台

基本掌握开发平台有关使用

大致了解开发平台功能

基本不了解开发平台功能

目标4

出色掌握C++编程技术

良好掌握C++编程技术

基本掌握C++编程技术

了解C++编程技术

不了解C++编程技术