第一篇:面向对象程序设计教学大纲
面向对象程序设计(专业限选课)Object-Oriented Programming 【课程编号】XZ26175 【学分数】3 【学时数】60=38+22
【课程类别】专业限选 【编写日期】2010.3.30 【先修课程】C语言程序设计、计算机应用基础
【适用专业】通信工程
一、教学目的、任务
通过学习,使学生深刻理解和领会面向对象的基本思想和基本特征,掌握面向对象程序设计语言C++语言的基本概念、基本语法以及面向对象程序设计的基本方法;使学生养成面向对象的编程思维习惯。
二、课程教学的基本要求
1.理解面向对象的基本概念和使用面向对象技术进行程序设计的基本思想 2.能比较熟练地用C++语言进行一般面向对象的程序设计
3.初步掌握面向对象编程环境Visual C++的使用
三、教学内容和学时分配(2 + 5 + 14 + 9 + 12 + 7 + 6 + 5 = 60)第一章 面向对象程序设计概述 2 学时(课堂讲授学时2)主要内容:
1.什么是面向对象程序设计 2.对象与类 3.封装 4.继承性 5.多态性
6.面向对象程序设计的语言 教学要求:
了解什么是面向对象程序设计;掌握对象和类的基本概念;理解面向对象程序设计的基本特征。其它教学环节:
安排课外了解面向对象程序设计方面的基本概念。第二章 C++概述 5学时(课堂讲授学时2+课程实验学时3)主要内容:
1.C++的起源和特点 2.C++源程序的构成
3.C++在非面向对象方面的一些特性 教学要求:
cin和cout的使用;new和delete的运算符的使用;函数的重载;带缺省参数的函数;引用; VC++的使用。其它教学环节:
实验1: C++程序设计基础练习。实验目的和要求:
1.掌握C++程序的基本格式和规范,学会编写简单的C++程序。2.掌握C++程序结构的特点。
3.熟悉C++程序基本的输入输出操作。
4.掌握C++数据类型常量和变量以及修饰符的使用方法。5.熟悉作用域运算符的功能和基本使用方法。6.掌握C++内存的动态分配和释放方法。7.理解引用的概念,掌握引用的使用方法。
第三章 类和对象 14学时(课堂讲授学时8+课程实验学时6)主要内容:
1.类与对象的基本概念 2.构造函数与析构函数 3.对象数组与对象指针 4.向函数传递对象 5.静态成员 6.友元
7.类对象作为成员 8.常类型 教学要求:
类的声明;对象定义;对象的成员的访问。访问属性的理解和运用;构造函数和析构函数的定义;对象数组的定义和使用;this的指针的理解和使用;类的成员类型为其他类时如何理解和使用;静态成员的理解和运用。提供友元机制的目的;友元声明方法;提供常类型机制的目的;各种不同的常类型运作方式。其它教学环节:
实验2:类和对象。实验目的和要求:
1.掌握类、类的数据成员、类的成员函数的定义方式。2.理解类成员的访问控制方式。
3.掌握对象的定义和操作对象的方法。
4.理解构造函数和析构函数的定义与执行过程。5.掌握重载构造函数的方法。6.了解拷贝构造函数的方法。实验3:对象数组和对象指针。实验目的和要求:
1.掌握对象数组的定义和使用方法。
2.理解对象指针的概念,学会用指针引用对象。3.了解this指针的工作方式。
4.掌握静态数据成员和静态成员函数的基本使用方法。5.理解友元与友元函数的作用,掌握其使用方法。
第四章 派生类和继承 9学时(课堂讲授学时6+课程实验学时3)主要内容:
1.派生类的概念
2.派生类的构造函数和析构函数 3.基类成员的访问 4.多重继承 5.赋值兼容规则 教学要求:
基类和派生类的基本概念;继承成员的访问规则;派生类构造函数和析构函数的运行规则;多重继承的基本概念;多重继承中同名二义性如何消除;引入虚基类的目的;继承类和派生类之间相互赋值规则用。
其它教学环节:
实验4:派生类与继承。实验目的和要求:
1.理解类的继承的概念,能够定义和使用类的继承关系。2.掌握派生类的声明和定义方法。
3.掌握公有派生和私有派生的访问特性。4.学习虚基类在解决问题中的作用。
第五章 多态性 12学时(课堂讲授学时8+课程实验学时4)主要内容:
1.编译时的多态性与运行时的多态性 2.函数重载 3.运算符重载 4.类型转换 5.虚函数 教学要求:
多态的基本概念;实现运算符重载的方法(成员函数);实现运算符重载的方法(友元函数);静态联编和动态联编的基本概念;虚函数的作用;虚函数的运用。其它教学环节:
实验5:虚函数和多态性。实验目的和要求:
1.理解编译时的多态性和运行时的多态性。2.掌握运算符重载的基本方法。3.掌握虚函数的定义和使用方法。
第六章 模板 7学时(课堂讲授学时4+课程实验学时3)主要内容:
1.模板的概念
2.函数模板与模板函数 3.类模板和模板类 教学要求:
模板的基本概念;为什么要使用模板;函数模板和模板函数的基本概念;函数模板的声明和使用;类模板和模板类的基本概念。其它教学环节:
实验6:函数模板与类模板。实验目的和要求:
1.掌握函数模板及其声明方法。2.掌握模板函数及其生成方法。3.学习类模板的声明与使用方法。
第七章 C++的I/O流类库 6学时(课堂讲授学时3+课程实验学时3)主要内容:
1.C++建立类类库的目的 2.预定义类型的输入输出
3.用户自定义类型的输入和输出 教学要求:
掌握在各种情况下的<<和>>运算符的重载。其它教学环节:
实验7:I/O流类库。实验目的和要求:
1.掌握流及流类库的作用。
2.掌握流类库中常用的类及其成员函数的使用方法。3.掌握重载“<<”和“>>”的方法。
4.掌握控制输出宽度的函数width和setw。
5.掌握函数setosflags和resetiosflags设置和恢复对齐方式、精度、大小写等。
研究教学内容 5学时(课程讲解和讨论学时)
程序综合设计:按照面向对象程序开发的原则和方法,利用一个实例来讲解面向对象程序设计的整个过程,然后要求学生根据自己的开发经验进行分组讨论,从而帮助学生进一步理解和熟悉面向对象程序设计方法。
四、教学重点、难点及教学方法
重点:类和对象的基本概念;对象定义;对象的成员的访问。访问属性的理解和运用;构造函数和析构函数的定义;对象数组的定义和使用;this的指针的理解和使用。基类和派生类的基本概念;继承成员的访问规则;派生类构造函数和析构函数的运行规则。多态的基本概念;函数的重载。
难点:多重继承;虚函数;模板。
教学方法:课堂授课采用多媒体教学和分组讨论的方法,实验采用任务驱动方式。通过未来愿景描述和学以致用的方法来提高学生的学习兴趣,通过分组交流和师生积极互动的方式提高学生学习本门课程的学习能力。
五、考核方式及成绩评定方式:考试
六、教材及参考书目
推荐教材:
[1] 《C++面向对象程序设计》,陈维兴,林小茶,清华大学出版社,第2版,2004 参考书:
[1] 《C++面向对象程序设计习题解析与上机指导》,陈维兴,清华大学出版社,2003 [2] 《C++程序设计基础》,周霭如,电子工业出版社,2003 [3] 《C++语言程序设计》,郑莉,清华大学出版社,2005 修(制)订人: 审核人:
2010年 3 月30
日
第二篇:《面向对象程序设计》教学大纲
《面向对象程序设计》教学大纲
课程名称:信息内容安全 课程代码:042504 总 学 时:64 学
分:2
课程类型:专业必修课 适用专业: 信息安全专业 制 订 人:徐雪飞 审 定 人:肖
文 制订日期:2015年3月
《面向对象程序设计》教学大纲
一、课程性质、目的和任务
C#语言是.NET平台上的核心开发语言,具有简单易学、类型安全、完全面向对象等特性,是一门面向现代软件工程的主流程序设计语言。本课程系统地介绍C#语言的结构化设计、面向对象、泛型、商业开发等功能要素,使学生在掌握程序设计的基本方法和技巧,培养利用计算机解决实际问题的能力,以满足专业课应用和继续学习的需要。
二、教学基本要求
通过学习本课程,要求学生能够熟悉C#语言的语法和类型系统,掌握面向对象程序设计和泛型程序设计的基本方法,并具有商业应用开发的基本能力,能灵活地使用C#语言及Visual Studio.NET开发环境解决一般性编程问题。
三、教学内容
1、绪论(教学2学时,上机2学时)
教学内容:
(1).NET技术和框架结构简介(2)C#语言概貌
(3)面向对象的基本概念
教学目的:使学生对.NET平台和C#有一个综合性的了解。
2、C#语法基础(教学6学时,上机4学时)
教学内容:(1)数据类型(2)值和方法(3)表达式(4)控制语句
教学目的:使学生基本掌握C#语言的类型系统和基本语法结构。
3、类和继承(教学4学时,上机4学时)
教学内容:
(1)类的数据成员和各种函数成员(2)继承和多态(3).NET常用类型(4)接口与实现
教学目的:使学生进一步掌握类型的定义和使用方法,掌握.NET类库中一些典型类的用法;深入理解继承和多态性的概念,从而掌握面向对象软件可重用性的关键技术。
4、Windows窗体界面(教学2学时,上机2学时)
教学内容:
(1)Windows Form编程技术(2)WPF编程技术
(3)绘图、动画和媒体 教学目的:使学生掌握Windows程序界面设计的基本要素,能够使用Windows Form和WPF编程技术开发交互式图形界面应用程序。
5、泛型(教学4学时,上机2学时)
教学内容:
(1)泛型的定义与使用(2)元组和可空类型的用法(3)泛型集合与循环遍历
(4)匿名方法和Lambda表达式
教学目的:使学生掌握泛型程序设计的基本概念,能够利用类型抽象和操作抽象开发出高可适的软件程序。
6、异常处理(教学1学时)
教学内容:
(1)C#异常处理结构
(2)主动引发异常和自定义异常
教学目的:使学生能够通过异常处理来提高程序可靠性。
7、文件操作(教学1学时,上机1学时)
教学内容:
(1)驱动器、目录和文件(2)文件流和数据流
教学目的:使学生掌握在C#程序中进行磁盘文件存取的基本技术。
8、数据库访问(教学2学时,上机1学时)
教学内容:
(1)ADO.NET联机数据访问(2)ADO.NET脱机数据访问
教学目的:使学生掌握C#程序中进行数据库存取的基本技术。
9、综合练习(教学2学时,上机8学时)教学内容:
(1)进程和线程
(2)ASP.NET网络程序设计
(3)采用案例驱动的方式,综合运用C#编程技术开发较为完整的软件程序。教学目的:提高学生软件设计的综合能力。
五、教学方法与手段
讲授法、讨论法、多媒体教学、实验教学。
六、考核方式
考试成绩占70%,平时成绩占30%。闭卷考试。
七、推荐教材和教学参考书
教
材:《C#程序设计基础》第3版,郑宇军,石海鹤,王卫红,清华大学出版社,2014年。参考书:
1、《C#应用开发与实践》,曾宪权、李梅莲 等,清华大学出版社,2015年
2、《C#编程实战宝典》,付强、丁宁 等,清华大学出版社,2014年。
第三篇:《面向对象程序设计》教学大纲
《面向对象程序设计》教学大纲
课程名称:面向对象程序设计 英文名称:Object Oriented Programming)学分:2 总学时:36 实验(上机)学时: 8 开课专业:电子商务专业
一、本课程的性质、目的和培养目标
面向对象程序设计是电子商务专业的限定选修课程。面向对象程序设计是当今最为流行的程序设计方法,本课程以C++语言为核心,全面概述面向对象程序设计的基本概念和基本技术。主要内容包括:理解和掌握面向对象程序设计的基本思想和技术,掌握C++中的引用和函数重载、类与对象、静态成员与友元、运算符重载、继承与派生类、多态与虚函数等重要概念和技术。通过教学要求学生基本掌握面向对象的程序设计方法,认识C++是如何支持面向对象程序设计的,培养、训练学生运用面向对象技术进行程序设计的能力。
二、预修课程
计算机语言与程序设计
三、课程内容及学时分配
第一章 从C语言到C++语言
1.C++语言出现的历史背景(OOP思想概述)2.C++中的注释、常量和输入输出 3.C++中的变量定义与作用域 4.C++中的函数 5.C++中的指针与引用
本章学时数:4,本章习题数:4 第二章 类与对象 1.类 2.对象
3.构造函数和析构函数 4.对象及其应用 5.对象的生存期 6.再论程序结构 7.面向对象程序设计
本章学时数:6,本章习题数:6 第三章 静态成员与友元 1.拷贝构造函数 2.静态数据成员 3.静态成员函数 4.友元函数
本章学时数:6,本章习题数:6 第四章 运算符重载 1.运算符重载的概念 2.运算符重载举例
本章学时数:4,本章习题数:4 第五章 继承与多态 1.继承的概念 2.单继承 3.多态与虚函数
4.类的分解(类的层次设计)5.抽象类与纯虚函数
本章学时数:6,本章习题数:6 第六章 I/O流库简介 1.C++流库的结构 2.输入与输出 3.格式控制 4.文件
本章学时数:2,本章习题数:2
四、实验(上机)内容和建议学时分配 实验1(4学时)
要求:定义类,该类至少应包括静态数据成员和静态成员函数,要求通过本实验掌握定义类的基本方法。实验2(4学时)
要求:通过本实验掌握函数重载、友元函数、继承、虚函数等的基本使用方法。
五、教材和参考书目
1.《C++语言基础教程》,吕凤翥编著,清华大学出版社,1999 2.《C++程序设计教程》,钱
能主编,清华大学出版社,1999 3.《The C++ Programming Language》(Third Edition),Bjarne Stroustrup,Addison-Wesley,1997
六、课外学习要求
要求课前预习下一次课的讲课内容,课后复习本次课的讲课内容并通过相应的作业加以消化。
七、考核方式
本课程采用闭卷书面考试方式为主,其中期终考试占80%,期中10%,平时作业、上机及出勤率10%。
第四篇:《面向对象程序设计》课程教学大纲
《面向对象程序设计》课程教学大纲
学时:72
学分:4
理论学时:52
实验学时:20
面向专业:计算机科学与技术、专升本 课程代码:2700410
先开课程:计算机导论,C语言程序设计 课程性质:必修
执笔人:熊凯
审定人:陈龙猛、于仁师
第一部分:理论教学部分
一、说明
1、课程的性质、地位和任务
《面向对象程序设计》(C++)是计算机科学与技术专业的一门重要的专业基础课,在由基础训练到专业课教学阶段过渡过程中起到承上启下的作用。它不仅为今后学习专业课打下坚实的理论基础和技术基础,而且为软件开发、程序设计提供必要的理论、方法和工具。
通过对C++ 语言的学习,使学生系统了解程序设计语言的概况和基本理论,了解软件开发的全过程;理解面向对象方法的概念;系统掌握c++语言的语法结构,基本掌握结构化程序设计方法和面向对象程序设计的基本方法和编程技术;通过大量的实验和课外实践,逐步培养学生阅读程序、分析程序和独立编写程序的能力。
2、课程教学和教改基本要求
本课程是一门理论联系实际,实践性较强的课程,课内、外习题量相当大,上机时数较多(开设验证性实验2~3个,综合性、设计性实验4~5个),除了课堂教学环节外,学生必须在课外通过大量地阅读程序、编写程序,方能熟练掌握主要的语法和编程方法,并加深对各种语法成分其语用环境的认识。
二、教学内容与课时分配 第一章绪论(2学时)教学内容:
1、面向对象程序设计的基本思想及基本概念;
2、面向对象语言的分类和C++中支持面向对象的特点;
3、面向对象的软件开发环境;
4、C++开发工具的主要功能和使用方法; 重点:
1、面向对象程序设计的基本思想及基本概念;
2、面向对象语言的分类和C++中支持面向对象的特点; 难点:
1、面向对象语言的分类和C++中支持面向对象的特点; 建议教学方法: 课堂讲授 思考题:
1、面向对象程序设计的基本思想是什么?
2、C++语言支持哪些面向对象特点?
第二章面向对象程序设计方法导论(2学时)教学内容:
1、类、对象、实例的概念;
2、封装、继承、多态等概念;
3、面向对象模型的基本情况;
4、面向对象软件分析、设计、实现的基本方向;
5、程序设计风格并在实验中运用; 重点:
1、类、对象、实例的概念;
2、封装、继承、多态等概念; 难点:
1、封装、继承、多态等概念; 建议教学方法: 课堂讲授 思考题:
1、什么是封装?什么是继承?什么是多态性? 第三章
C++对C语言的常规性能扩充(4学时)教学内容:
1、用cin,cout,cerr,<<,>>进行基本输入输出;
2、C++中变量定义的方法及其与C语言中的区别;
3、作用域限定符的用法;
4、C、C++语言中变量的作用域、生存期的概念;
5、枚举类型的用法;
6、枚举变量的存储及其输入输出;
7、C++中struct与C语言中的不同;
8、const的用处和用法;
9、函数形式的类型转换与C语言中类型转换的不同;
10、引用的语法形式;
11、引用参数的用法;
12、函数参数的传址和传值方式及其区别;
13、引用返回值与左值概念;
14、函数原型的写法、作用;
15、new和delete的用处和写法;
16、动态内存分配与指针; 重点:
1、用cin,cout,cerr,<<,>>进行基本输入输出;
2、作用域限定符的用法;
3、函数定义;
4、new和delete的用处和写法;
5、动态内存分配与指针; 难点:
1、函数定义;
2、new和delete的用处和写法;
3、动态内存分配与指针; 建议教学方法: 课堂讲授 思考题:
1、new和delete使用时应注意哪些原则?
2、什么是动态分配内存?在C++中如何实现? 第四章类和对象(8学时)教学内容:
1、类定义的方法和存取级别;
2、结构作为类的定义的方法与class的区别;
3、类的成员变量和成员函数的定义和使用,以及对象的定义;
4、友元函数和友元类;
5、构造函数和析构函数;
6、构造函数和析构函数的调用及其次序;
7、拷贝构造函数的调用;
8、静态类成员变量和成员函数的定义和使用方法;
9、内联成员函数的定义和使用方法;
10、嵌套类与局部类的定义;
11、在函数中对象传递的机制; 重点:
1、类定义的方法和存取级别作用域限定符的用法;
2、构造函数和析构函数;
3、构造函数和析构函数的调用及其次序;
4、嵌套类与局部类的定义;
5、在函数中对象传递的机制; 难点:
1、构造函数和析构函数的调用及其次序;
2、拷贝构造函数的调用; 建议教学方法: 课堂讲授 思考题:
1、构造函数和析构函数的作用是什么?
2、类成员有哪些存取级别?特点如何?
3、构造函数和析构函数的调用次序是怎样的规则? 第五章多态性和重载(6学时)教学内容:
1、成员函数重载;
2、运算符重载的概念;
3、使用friend重载运算符的方法;
4、成员形式和友元形式下一元和二元运算符重载的差别;
5、数组重载运算符new和delete的定义;
6、定义重载某些特殊的运算符的方法,包括重载[]、重载()、重载->等; 重点:
1、成员函数重载;
2、运算符重载的概念;
3、定义重载某些特殊的运算符的方法,包括重载[]、重载()、重载->等; 难点:
1、成员函数重载;
2、运算符重载; 建议教学方法: 课堂讲授 思考题:
1、什么是重载?
2、函数重载有哪些原则?
3、如何实现数组重载运算符new和delete? 第六章继承性与派生类(6学时)教学内容:
1、类层次的概念及如何将概念和实现转变为类的层次的方法;
2、单继承的定义;
3、不同派生方式下成员存取控制的变化;
4、向基类构造函数传递参数的方法;
5、多继承的定义;
6、虚基类和二义性问题; 重点:
1、类层次的概念及如何将概念和实现转变为类的层次的方法;
2、单继承的定义;
3、不同派生方式下成员存取控制的变化;
4、向基类构造函数传递参数的方法; 难点:
1、不同派生方式下成员存取控制的变化;
2、向基类构造函数传递参数的方法; 建议教学方法: 课堂讲授 思考题:
1、C++中继承的语法是怎样规定的?
2、不同派生方式下成员存取控制有何变化?
3、如何向基类构造函数传递参数?
第七章运行时的多态性和虚函数(6学时)教学内容:
1、虚函数和纯虚函数的概念;
2、虚函数的用法;
3、虚析构函数的意义;
4、抽象类的概念;
5、早期和后期联编的概念; 重点:
1、虚函数和纯虚函数的概念;
2、虚函数的用法;
3、抽象类的概念;
4、早期和后期联编的概念; 难点:
1、虚函数的用法;
2、抽象类的概念;
3、早期和后期联编的概念; 建议教学方法: 课堂讲授 思考题:
1、什么是虚函数?如何定义虚函数?
2、什么是抽象类?
3、在什么场合中使用抽象类?
4、什么是早期联编?什么是后期联编? 第八章泛型程序设计和模板(6学时)教学内容:
1、泛型程序设计的意义;
2、模板函数的用法;
3、类模板的定义方法;
4、多参数的模板设计; 重点:
1、泛型程序设计的意义;
2、模板函数的用法;
3、类模板的定义方法; 难点:
1、模板函数的用法;
2、类模板的定义方法; 建议教学方法: 课堂讲授 思考题:
1、什么是模板?
2、如何定义函数模板?
3、如何定义类模板?
第九章
C++的I/O系统(8学时)教学内容:
1、C++的流,包括C++的预定义流;
2、格式化I/O的定义格式和定义方法;
3、创建重载运算符<<和>>的方法;
4、创建无参数操纵符和带参数操纵符的方法;
5、一般I/O流和文件流的关系;
6、文件与文件流的关系;
7、文件系统的概念,包括文件指针和关于文件的操作;
8、文件类的定义和相关操作的定义、使用方法;
9、利用常用函数进行文件的打开、关闭、读写、定位等操作; 重点:
1、C++的流;
2、格式化I/O的定义格式和定义方法;
3、创建重载运算符<<和>>的方法;
4、文件与文件流的关系;
5、文件系统的概念;
6、文件类的定义和相关操作的定义、使用方法; 难点:
1、创建重载运算符<<和>>的方法;
2、文件系统的概念;
3、文件类的定义和相关操作的定义、使用方法; 建议教学方法: 课堂讲授 思考题:
1、什么是流?
2、重载运算符<<和>>应该注意哪些原则?
3、对文件的读写有哪些方式?
4、如何控制二进制文件?
第十章面向对象的软件构造及程序设计风范(4学时)教学内容 1、软件质量
2、程序断言机制
3、异常处理机制
4、面向对象的软件构造 重点:
1、异常处理机制;
2、面向对象的软件构造; 难点:
1、异常处理机制; 建议教学方法: 课堂讲授 思考题:
1、什么是异常?
2、C++中如何处理异常?
3、面向对象的软件构造有哪些原则?
三、考核方式和要求
考核方式:闭卷
考核要求:考核内容应包括基本概念题、程序代码分析题(形式为程序填空和程序阅读等)和程序设计题等。
成绩核算:平时作业占总成绩的15%,实验成绩占总成绩的15%,理论考试根据教学大纲命题,占总成绩的70%。第二部分:实验教学部分
一、说明
1、本门课程实验的性质任务、目的与要求
本课程是一门理论联系实际,实践性较强的课程,上机时数较多(开设验证性实验2~3个,综合、设计性实验4~5个)。学生通过本课程的实验锻炼,应达到具有基本C++程序设计能力和基本调试能力,并具有编写面相对象程序设计的方法、思路和设计调试能力。
2、本门课程实验项目设置情况 序号 实验名称 学时 必开 选开 实验类型 验 证 基本 操作 综 合 设 计 应 用 创 新
内容提要Visual C++的开发环境认识 2 必
√
用Visual C++的程序向导建立一个简单的Windows程序并调试通过。C++中的对C语言的常规扩充(1)2 必
√
编写一个完整的C++程序,并调试通过。C++中的对C语言的常规扩充(2)2 必
√
将原来C语言编写的程序改写成一个C++程序,并调试通过。4 类与对象 2 必 √
设计一个类并写一测试程序建立该类的对象并调试。5 多态性和重载 2 必 √
为自定义的类编写恰当的运算符重载并测试通过。6 继承性与派生类 2 必 √
将自定义的类进行派生,研究其各种函数的调用。7 运行时的多态性和虚函数 2 必 √
在自定义的类中增加虚函数测试其运行情况。8 泛型程序设计和模板 2 必 √
编写一个函数模板和类模板并调试通过。9 C++的I/O系统 2 必 √
在自定义的类中增加流输入输出功能并编写一程序测试该类对文件流的操作。10 C++的发展和应用 2 必 √
利用STL类库编写一个简单的程序调试通过。
二、各实验项目教学要求
实验一 Visual C++的开发环境的认识
(一)实验目的:熟悉Visual C++的开发环境。
(二)实验内容:利用Visual C++的程序向导建立一个简单的基于MFC类库的Windows程序并调试通过。
(三)主要仪器设备及其配套数:计算机每人一套(四)所在实验室:计算机实验室
实验二 C++中的对C语言的常规扩充(1)(一)实验目的:掌握C++语言中扩充部分。
(二)实验内容:编写一个完整的C++程序,并调试通过。(三)主要仪器设备及其配套数:计算机每人一套(四)所在实验室:计算机实验室
实验三 C++中的对C语言的常规扩充(2)(一)实验目的:掌握C++语言中扩充部分。
(二)实验内容:将原来C语言编写的程序改写成一个C++程序,并调试通过。(三)主要仪器设备及其配套数:计算机每人一套(四)所在实验室:计算机实验室 实验四类与对象
(一)实验目的:掌握类的定义。
(二)实验内容:定义一个类并写一测试程序建立该类的对象并调试。(三)主要仪器设备及其配套数:计算机每人一套(四)所在实验室:计算机实验室 实验五多态性和重载
(一)实验目的:掌握成员函数和运算符的重载。
(二)实验内容:为自定义的类编写恰当的运算符重载并测试通过。(三)主要仪器设备及其配套数:计算机每人一套(四)所在实验室:计算机实验室 实验六继承性与派生类
(一)实验目的:掌握继承性与派生类
(二)实验内容:将自定义的类进行派生,研究其各种函数的调用。(三)主要仪器设备及其配套数:计算机每人一套(四)所在实验室:计算机实验室 实验七运行时的多态性和虚函数
(一)实验目的:掌握运行时的多态性和虚函数的概念。
(二)实验内容:在自定义的类中增加虚函数测试其运行情况。(三)主要仪器设备及其配套数:计算机每人一套(四)所在实验室:计算机实验室 实验八泛型程序设计和模板
(一)实验目的:掌握泛型程序设计和模板。
(二)实验内容:编写一个函数模板和类模板并调试通过。(三)主要仪器设备及其配套数:计算机每人一套(四)所在实验室:计算机实验室 实验九 C++的I/O系统
(一)实验目的:掌握C++的I/O系统。
(二)实验内容:在自定义的类中增加流输入输出功能并编写一程序测试该类对件流的操作。(三)主要仪器设备及其配套数:计算机每人一套(四)所在实验室:计算机实验室 实验十 C++的发展和应用
(一)实验目的:了解C++的发展和应用。
(二)实验内容:利用STL类库编写一个简单的程序调试通过。(三)主要仪器设备及其配套数:计算机每人一套(四)所在实验室:计算机实验室
三、考核方式和成绩评定要求
本课程实验的考核方式以每次上机实验的完成情况、实验报告的质量为主结合平日成绩进行综合评定
第三部分:建议使用的教材和参考书目
[1] 面向对象程序设计基础,李师贤等编著,高等教育出版社,1998.[2] 面向对象程序设计,刘正林主编,华中科技大学出版社,2001.[3] C++大学教程,Harvey M.Detitel,Paul Jmes Deitel著,邱仲潘等译,电子工业出版社,2002.
第五篇:面向对象程序设计-教学大纲-信管
面向对象程序设计(教学大纲)
Object-oriented programming 课程编码:05405170 学分:2.5 课程类别: 专业基础课 计划学时:48 其中讲课:32 实验或实践: 上机:16 适用专业:信息管理与信息系统
推荐教材:耿祥义 张跃平编著,《Java 2 实用教程(第三版)》,清华大学出版社,2006年 参考书目:皮德常主编,《Java 2 简明教程》,清华大学出版社,2006年
郑阿奇编著,《Visual C++实用教程(第3版)》,电子工业出版社,2007年
郑阿奇编著,《Visual C++教程(第2版)》,清华大学出版社,2011年
课程的教学目的与任务
本课程的教学目的是让学生在掌握了面向对象程序设计语言基本知识的基础上,通过对窗口、文本框等基本组件、对话框、多线程、网络编程的学习和掌握,培养学生运用面向对象的思维进行编程,提高学生的编程能力,为后续课程的学习以及以后在工作岗位上从事面向对象编程打下良好的基础。通过本课程的学习,应使学生掌握面向对象语言基本组件、对话框等图形界面的学习;掌握异常处理机制、多线程编程、输入输出编程以及网络编程等内容;通过课堂讲授和上机实验,培养学生观察问题、分析问题、解决问题和实际动手能力。
课程的基本要求
1、使学生能够运用基本编程知识,进行图形界面编程;通过对异常处理机制、多线程编程、输入输出编程以及网络编程等内容的学习,使学生掌握图形界面的编程实现,并进而学会输入输出编程和网络应用,能体会到面向对象程序设计的扩展性。
2、通过课堂讲解、讨论、演示和上机实验以及学生课下思考,使学生掌握图形界面编程,对异常处理、多线程机制、输入输出编程和网络应用有一个初步的认识,能够独立的对高一级别的问题进行思考和实现。
3、要求学生在学完本课程后,能够熟悉一种开发环境,具有基本的图形界面编程能力,并具备了异常处理、多线程机制、输入输出编程和网络应用等方面的编程能力,能够运用所学知识解决一些较为复杂的现实问题。
各章节授课内容、教学方法及学时分配建议(含课内实验)
第一章: 异常处理 建议学时:6 [教学目的与要求] 掌握异常处理的基本知识、异常类的产生、捕获与处理。[教学重点与难点] 抛出异常
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 异常处理的基本知识 第二节 异常类的产生、捕获与处理 第三节 异常的分类 第四节 自定义异常类
第二章: 时间、日期和数字 建议学时:2 [教学目的与要求] 掌握程序设计语言的时间类、日期类等基础类的使用 [教学重点与难点] 时间函数的几种基本格式
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 时间类的介绍 第二节 日期类的介绍 第三节 数学运算类的介绍 第四节 大整数类的介绍
第三章:组件及事件处理 建议学时:16 [教学目的与要求] 掌握文本框、按钮与标签、菜单项、文本区、面板、布局、画布、选择性组件的使用;内部类实例作监视器的使用;掌握程序设计语言中的窗口事件、鼠标事件和键盘事件等知识。
[教学重点与难点] 组件的使用,各种事件处理的综合使用
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 窗口的构成和使用 第二节 文本框的介绍和使用 第三节 内部类实例做监视器 第四节 按钮与标签 第五节 菜单项 第六节 文本区 第七节 面板 第八节 布局 第九节 画布 第十节 选择性组件 第十一节 组件类的常用方法
第十二节 窗口、鼠标、焦点、键盘事件介绍 第十三节 使用剪贴板 第十四节 打印功能介绍 第十五节 综合实例
第四章: 建立对话框 建议学时6 [教学目的与要求] 掌握对话框类的主要方法;明确对话框的模式分类;熟练使用文件对话框、消息对话框、确认对话框和颜色对话框。[教学重点与难点] 在程序中根据需要灵活运用各种对话框。
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 对话框基本知识介绍 第二节 文件对话框的使用 第三节 消息对话框的使用 第四节 确认对话框的使用 第五节 颜色对话框的使用
第五章: 多线程机制 建议学时:6 [教学目的与要求] 掌握线程的概念、状态与生命周期、常用方法。能够创建线程、挂起、恢复、终止线程。理解线程同步、线程联合和守护线程。认识GUI线程和计时器线程。
[教学重点与难点] 多线程的概念和运用
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 线程概述 第二节 创建线程
一、用线程类的子类创建
二、用接口创建 第三节 线程的常用方法 第四节 GUI线程 第五节 线程同步
第六节 挂起、恢复和终止线程 第七节 计时器线程 第八节 线程联合 第9节守护线程
第六章: 输入输出流 建议学时:6 [教学目的与要求] 理解输入流、输出流的概念。掌握与输入输出相关的各种类的介绍。掌握数据流、数组流和对象流的使用。学会使用文件锁和带进度条的输入流。[教学重点与难点] 文件的读写及随机访问
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 输入输出流概述 第二节 基本类的介绍
第三节 使用文件对话框打开和保存文件 第四节 随机访问类的介绍
第五节 数据流、数组流和对象流的介绍和使用 第六节 序列化与对象克隆 第七节 文件锁 第八节 过程类中的流 第九节 带进度条的输入流
第七章: 面向对象程序设计网络基本知识 建议学时:2 [教学目的与要求] 掌握面向对象程序设计对网上资源的访问方法。掌握实现底层网络通信的方法。理解网络中的数据压缩与传输。
[教学重点与难点] 底层网络通信的实现方法
[授 课 方 法] 以课堂讲授为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 访问网上资源 第二节 处理超链接 第三节 底层网络通信的实现
一、基于连接的流式套接字
二、无连接的数据报 第四节 网络中数据压缩与传输
第五节 数据流、数组流和对象流的介绍和使用 第六节 序列化与对象克隆 第七节 文件锁 第八节 过程类中的流 第九节 带进度条的输入流
第八章: 小应用程序基础 建议学时:4 [教学目的与要求] 理解小应用程序的概念、运行原理以及如何在网页中进行传值、建立新线程和使用套接字。
[教学重点与难点] 小应用程序的运行原理
[授 课 方 法] 以课堂讲授、上机实验为主,课堂讨论和课下自学为辅 [授 课 内 容] 第一节 概念、运行原理 第二节 访问网上资源
第三节 在小应用程序中建立新线程 第四节 在小应用程序中使用套接字
撰稿人:王艳芳 审核人:徐伟