《《面向对象程序设计》课程教学大纲设计.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》课程教学大纲设计.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、面向对象程序设计课程教学大纲设计 面向对象程序设计课程教学大纲学时:72 学分:4 理论学时:52 实验学时:20 面向专业:计算机科学与技术、专升本课程代码:2700410 先开课程:计算机导论,C语言程序设计课程性质:必修 执笔人:熊凯审定人:龙猛、于仁师 第一部分:理论教学部分 一、说明 1、课程的性质、地位和任务 面向对象程序设计(C+)是计算机科学与技术专业的一门重要的专业基础课,在由基础训练到专业课教学阶段过渡过程中起到承上启下的作用。它不仅为今后学习专业课打下坚实的理论基础和技术基础,而且为软件开发、程序设计提供必要的理论、方法和工具。 通过对C+ 语言的学习,使学生系统了解程序
2、设计语言的概况和基本理论,了解软件开发的全过程;理解面向对象方法的概念;系统掌握c+语言的语法结构,基本掌握结构化程序设计方法和面向对象程序设计的基本方法和编程技术;通过大量的实验和课外实践,逐步培养学生阅读程序、分析程序和独立编写程序的能力。 2、课程教学和教改基本要求 本课程是一门理论联系实际,实践性较强的课程,课、外习题量相当大,上机时数较多(开设验证性实验23个,综合性、设计性实验45个),除了课堂教学环节外,学生必须在课外通过大量地阅读程序、编写程序,方能熟练掌握主要的语法和编程方法,并加深对各种语法成分其语用环境的认识。 二、教学容与课时分配 第一章绪论(2学时) 教学容: 1、面
3、向对象程序设计的基本思想及基本概念; 2、面向对象语言的分类和C+中支持面向对象的特点; 3、面向对象的软件开发环境; 4、C+开发工具的主要功能和使用方法; 重点: 1、面向对象程序设计的基本思想及基本概念; 2、面向对象语言的分类和C+中支持面向对象的特点;难点: 1、面向对象语言的分类和C+中支持面向对象的特点;建议教学方法: 课堂讲授 思考题: 1、面向对象程序设计的基本思想是什么? 2、C语言支持哪些面向对象特点? 第二章面向对象程序设计方法导论(2学时) 教学容: 1、类、对象、实例的概念; 2、封装、继承、多态等概念; 3、面向对象模型的基本情况; 4、面向对象软件分析、设计、实
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、函
5、数形式的类型转换与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使用时应注意哪些原则?
6、 2、什么是动态分配存?在C+中如何实现? 第四章类和对象(8学时) 教学容: 1、类定义的方法和存取级别; 2、结构作为类的定义的方法与class的区别; 3、类的成员变量和成员函数的定义和使用,以及对象的定义; 4、友元函数和友元类; 5、构造函数和析构函数; 6、构造函数和析构函数的调用及其次序; 7、拷贝构造函数的调用; 8、静态类成员变量和成员函数的定义和使用方法; 9、联成员函数的定义和使用方法; 10、嵌套类与局部类的定义; 11、在函数中对象传递的机制; 重点: 1、类定义的方法和存取级别作用域限定符的用法; 2、构造函数和析构函数; 3、构造函数和析构函数的调用及其次序; 4
7、、嵌套类与局部类的定义; 5、在函数中对象传递的机制; 难点: 1、构造函数和析构函数的调用及其次序; 2、拷贝构造函数的调用; 建议教学方法: 课堂讲授 思考题: 1、构造函数和析构函数的作用是什么? 2、类成员有哪些存取级别?特点如何? 3、构造函数和析构函数的调用次序是怎样的规则? 第五章多态性和重载(6学时) 教学容: 1、成员函数重载; 2、运算符重载的概念; 3、使用friend重载运算符的方法; 4、成员形式和友元形式下一元和二元运算符重载的差别; 5、数组重载运算符new和delete的定义; 6、定义重载某些特殊的运算符的方法,包括重载、重载()、重载-等;重点: 1、成员函
8、数重载; 2、运算符重载的概念; 3、定义重载某些特殊的运算符的方法,包括重载、重载()、重载-等;难点: 1、成员函数重载; 2、运算符重载; 建议教学方法: 课堂讲授 思考题: 1、什么是重载? 2、函数重载有哪些原则? 3、如何实现数组重载运算符new和delete? 第六章继承性与派生类(6学时) 教学容: 1、类层次的概念及如何将概念和实现转变为类的层次的方法; 2、单继承的定义; 3、不同派生方式下成员存取控制的变化; 4、向基类构造函数传递参数的方法; 5、多继承的定义; 6、虚基类和二义性问题; 重点: 1、类层次的概念及如何将概念和实现转变为类的层次的方法; 2、单继承的定义
9、; 3、不同派生方式下成员存取控制的变化; 4、向基类构造函数传递参数的方法; 难点: 1、不同派生方式下成员存取控制的变化; 2、向基类构造函数传递参数的方法; 建议教学方法: 课堂讲授 思考题: 1、C+中继承的语法是怎样规定的? 2、不同派生方式下成员存取控制有何变化? 3、如何向基类构造函数传递参数? 第七章运行时的多态性和虚函数(6学时) 教学容: 1、虚函数和纯虚函数的概念; 2、虚函数的用法; 3、虚析构函数的意义; 4、抽象类的概念; 5、早期和后期联编的概念; 重点: 1、虚函数和纯虚函数的概念; 2、虚函数的用法; 3、抽象类的概念; 4、早期和后期联编的概念; 难点: 1、虚函数的用法; 2、抽象类的概念; 3、早期和后期联编的概念; 建议教学方法: 课堂讲授 思考题: 1、什么是虚函数?如何定义虚函数?