《IP 网络技术(实践)》
一:课程的性质和目的
课程性质:本课程是为满足计算机应用领域对计算机应用人才的需要而设置的。本课程的任务是通过学习,使考生为以后学习软件工程和Java语言等后继课程及开展课程设计打下必备的基础,并且为以后从事应用软件开发提供合适的工具。
目的:设置本课程的目的是使考生掌握使用对象思考、实现面向对象特性的编程方法,提高解决实际问题的基本能力,为进行各种实用程序的开发奠定基础。
二:本课程的基本要求
独立本科段要求学生已经学过C语言,所以重点放在C++程序设计方法上,将对象贯穿于每一章,强化对象的概念,以利于概念的建立和应用。
三:本课程与其它课程的联系与分工
先修课程:高级语言程序设计和计算机系统结构,以便于对程序设计、计算机结构、软硬件等概念有一个初步了解
后续课程:软件工程和Java语言
本课程是课程设计的任选课程之一,学好本门课程将有助于课程设计。
四:建议教材和教学参考书目
1.教材
[1] 朱立华等. 面向对象程序设计及C++(第2版)[M]. 北京:人民邮电出版社,2012.
2.主要参考书
[1]谭浩强. C语言程序设计(第五版)[M]. 北京:清华大学出版社,2017.
[2]刘振安. C++程序设计(2008版)[M]. 北京:机械工业出版社,2008
五:课程考核
省统一考试,闭卷。成绩构成为:平时成绩占总成绩的30%(含实践部分成绩),期末成绩占总成绩的70%
六:课程学时分配
总学时42,其中讲课42学时。课程主要内容和学时分配见课程学时分配表。
授课计划/课时分配
周次 | 课次 | 教学内容 | 讲课方式及课时数 | 自学 | 作业 | 备注 | ||||
讲课 | 实验 | 上机 | 习题 | 其他 | ||||||
2 3 | 1 | 面向对象程序设计及C++语言概述 | 3 | |||||||
2 | 函数中一些基本控制的区别、有关函数的区别 | 3 | ||||||||
4 5 | 3 | 新增引用的灵活运用、动态内存空间管理 | 3 | |||||||
4 | 类与对象的定义、构造函数与析构函数 | 3 | ||||||||
6 7 | 5 | 对象的使用、友元 | 3 | |||||||
6 | 类中数据的共享与保护 | 3 | ||||||||
8 9 | 7 | 类的组合 | 3 | |||||||
8 | 类的继承与派生 | 3 | ||||||||
10 11 | 9 | 多态的两种类型、静态多态性的实现 | 3 | |||||||
10 | 动态多态性的实现、纯虚函数和抽象类 | 3 | ||||||||
12 13 | 11 | 习题课一 | 3 | |||||||
12 | 习题课二 | 3 | ||||||||
14 15 | 13 | 习题课三 | 3 | |||||||
14 | 答疑 | 3 | ||||||||
小计 | 42 | |||||||||
七:课程教学内容及基本要求
(一)课程教学内容及知识模块顺序
1. 知识单元一:面向对象程序设计及C++语言概述(3学时)
(1)知识点一:面向过程与面向对象
(2)知识点二:面向对象的基本概念及特征
(3)知识点三:C++语言概述
教学基本要求:
熟悉C++的基本程序结构。初步理解面向对象程序设计的思想及C++语言中的新思想。要求初步掌握面向对象程序设计的特征,以便为下面章节知识打下基础。
2.知识单元二: C++对C的改进及扩展 (6学时)
(1)知识点一:函数中一些基本控制的区别
(2)知识点二:有关函数的区别
(3)知识点三:新增引用的灵活运用
(4)知识点四:动态内存空间管理
教学基本要求:
本章的目的是通过实例对比C与C++建立面向对象的概念,熟悉C++中新增的一些函数,掌握新增函数的功能。
3. 知识单元三:类与对象 (6学时)
(1)知识点一:类与对象的定义
(2)知识点二:构造函数与析构函数
(3)知识点三:对象的使用
(4)知识点四:友元
教学基本要求:
本章的目的是掌握类的定义、类中成员函数的定义和使用、构造函数和析构函数的定义、功能;掌握对象的使用方法;学会定义友元函数、使用友元函数访问私有数据。
4. 知识单元四:类中数据的共享与保护 (3学时)
(1)知识点一:静态成员
(2)知识点二:共享数据的保护
教学基本要求:
本章的目的是掌握静态数据成员、静态成员函数的功能和使用方法;掌握常数据成员、常成员函数的功能。
5. 知识单元五:类与类之间的关系 (6学时)
(1)知识点一:类的组合
(2)知识点二:类的继承与派生
教学基本要求:
本章的目的是掌握类中对象成员的使用;掌握类的继承与派生,学会定义派生类、掌握派生类对象的构造与析构、掌握同名冲突和赋值兼容。
6. 知识单元六:多态性 (6学时)
(1)知识点一:多态的两种类型
(2)知识点二:静态多态性的实现
(3)知识点三:动态多态性的实现
(4)知识点四:纯虚函数和抽象类
教学基本要求:
本章的目的是掌握多态性的分类,掌握静态多态性和动态多态性的实现方法;掌握纯虚函数与抽象类
(二)课程的重点、难点及解决办法
C++程序设计是一门计算机专业的重要的专业课程,是一门理论和实践性均很强的学科。如果教学中单单注重基础理论的介绍和解说,不仅内容枯燥,无法引起学生的兴趣,而且达不到积极的教学效果。考虑如何通过实例,并结合课堂教学实践,以调动学生的兴趣及学习积极性。引导学生将基础理论和编程结合起来,成为这门课程的重点和难点所在。
因此,在理论教学的基础上,配合具体实例、课堂讨论、布置课后练习、推荐参考书等方法,寻找适合各章内容的思考和讨论题,增强课堂互动,帮助大学生更好地理解C++程序设计知识,激发学生学习兴趣,并学会利用所学知识编写程序,解决实际问题。
附录 题型举例(样式)
一、选择题
1、下列选项中不是C++语言关键字的是( B )
A. typedef B. mycase C. typeid D.int
二、填充题
1、C++语言中用来处理标准输入的是 cin 。
三、判断改错题
1、一个类可以有多个构造函数。 ( √ )
改为:
四、简答题:
1、下列程序有一处错误,请指出并给出修改意见
#include <iostream.h>
Class Test{
private: int x,y=20;
public: Test(int i,int j) {x=i;y=j;}
int getx() { return x;}
int gety() { return y;}
void main()
{
Test mt(10,20);
cout<<mt.getx()<<endl;
cout<<mt.gety()<<endl;
}
错误: int x,y=20;在类内部不能对数据成员直接赋值
修改意见:int x,y;
五、分析程序题
#include<iostream.h>
int f(int n)
{
int s=1;
if(n==1)
s=1;
else{
if(n==3) cout<<s<<'\n';
s=n*f(n-1);
}
return s;
}
void main(void)
{
int s;
s=f(5);
cout<<"s="<<s<<endl;
}
结果:1
S=120




