面向对象程序设计实践教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计实践》课程教学大纲
课程代码:030732038
课程英文名称:Object Oriented Programming Practice
课程总学时:12 讲课:2 实验:10 上机:0
适用专业:电子信息学科学与技术专业
大纲编写(修订)时间:2017.5
一、大纲使用说明
(一)、课程地位及教学目标
本课程是电子信息科学与技术专业本科生的一门重要的专业基础课, 是《面向对象程序设计》课程的辅助教学环节,以锻炼学生面向对象的编程能力为目的,巩固课堂所学知识点,加深对课程中所学理论知识的理解,依据《面向对象程序设计》课程教学计划指导大纲编制。本课程主要利用C++进行程序设计的思想和方法,既有面向过程和面向对象的程序设计的理论知识,又包括极强的实践应用能力的培养。本课程大纲力求结合该《面向对象程序设计》课程教学大纲的相应内容,由浅入深的指导学生了解和掌握如何利用C++程序设计语言进行程序设计,提高学生的动手能力,做到理论和实践相结合,培养学生理解,分析程序,编写,调试程序的能力,使之能把程序设计应用到今后的专业学习中。
(二)知识、能力及技能方面的基本要求
1.基本知识:学会使用通用的C++软件集成开发环境,介绍建立C++程序的基本方法,通过面对像对象理论课程各知识点针对性的专项训练,培养工程化的软件设计习惯。
2.基本理论和方法:
(1)熟悉VisualC++、DevC++等软件开发环境,并掌握基本控制台程序设计方法;
(2)熟悉C++新增的语言特性,如bool、const常数、特殊函数、引用、new、异常等;
(3)掌握类的定义方法、掌握对象的定义和使用;
(4)掌握对象的构造、析构函数的定义方法和规则,掌握this指针、静态成员、友元等;
(5)掌握继承机制中基类、派生的定义方法,掌握不同权限的成员定义、了解多继承的方法,
了解复制兼容性;
(6)掌握虚函数的定义,掌握积累指针指向派生类对象,并且调用虚函数的方法;
(7)掌握运算符重载的设计方法,了解模板和STL技术;
(8)了解Windows程序设计的基础方法。
3.基本技能:主要培养学生基于C++语言的面向对象编程技能,要求学生能够建立新的程序工程,能够使用已有类,能够编写新的类,掌握继承机制,会使用虚函数和运算符重载,能够编写简单Windows程序,能熟练使用编程软件的各种工具,会单步调试程序,能够发布程序作品等。
(三)实施说明
1.教学方法:本课程主要培养学生的动手能力,使学生在编程的训练中,验证书本上的理论知识,真正掌握面向对象程序设计的实现方法,进一步理解面向对象系统的理论,并能将面向对象程序设计思想应用到问题的求解过程中。教师在讲解过程中应深入浅出、抓住编程实践中普遍存在的问题,联系实际、结合实例,才能收到较好的效果。
2.教学手段:本课程包含2学时理论课时,建议指导教师选择在实验室授课,配合电子白板、多媒体等辅助教学系统,可以更加直观、有效的引导学生学习编程软件的使用方法,演示例子程序及典型BUG的解决办法。
(四)对先修课的要求
本课程的教学必须在完成先修课程之后进行。本课程主要的先修课程有C语言程序设计、数据结构,并且应该与面向对象程序设计理论课结合开设。本课程将为课程设计以、高级UI编程技术、JAVA程序设计、开发工具、专业方向综合实训及毕业设计的学习打下良好基础。
(五)对习题课、实践环节的要求
1.本课程的习题和实验应该结合在一起进行,对于理论课本中的示例、课后习题,鼓励学生在实验课上练习、调试。另外对于实验课上的的实验题目如果由于时间关系学生未能完成,也建议学生带回去利用课余时间完成,指导教师在下次上课时进行检查。对于编程类课程,学生只有多动手,才能掌握真正的程序设计方法,提高编程与软件开发能力。
2.对于面向对象课程中的重点、难点章节应安排实验,通过练习、验证、改编的方式,获得实验操作的基本训练,帮助学生掌握理论课上对应的知识。
(六)课程考核方式
1.考核方式:考查。
2.考核目标:考核学生面向对象的编程能力,程序分析、设计能力。
3.课程总成绩:最终成绩为平时考核的总和。
(七)参考书目
1.《面向对象的程序设计—(C++语言)》,李爱华程磊编,清华大学出版社
2.《C++程序设计教程》,钱能编,清华大学出版社
3.《C++语言程序设计》,郑莉董渊张瑞丰编,清华大学出版社
二、中文摘要
面向对象程序设计实践是《面向对象程序设计》的辅助课程,目的是锻炼学生面向对象编程的实际操作能力,以C++为编程语言,先修课要求掌握C语言、数据结构基础、面向对象程序设计,主要介绍集成开发环境软件平台的使用方法,锻炼类和对象的设计方法、继承的概念和设计方法、虚函数与多态的概念与典型应用、运算符重载、模版和STL,另外还练习了Windows 编程的基本方法,利用MFC程序框架进行简单的对话框程序设计。巩固了面向对象程序设计理论课知识,对于后续课程数据库应用、开发工具、专业方向综合实训、ARM、毕业设计打下重要的基础。
三、课时分配表
注意:表中()内的数字代表此部分内容的建议选修学时
四、教学内容及基本要求
第1部分面向对象程序设计概述
总学时(单位:学时):1 讲课:1 实验:0 上机:0
具体内容:
介绍面向对象程序设计的基本特征, C++程序的基本结构及其开发方法与工具介绍。
选择介绍Visual C++ 6.0 、 C++ 、DevC++、CodeBlock等主要工具。第2部分 C++语言基础
总学时(单位:学时):1 讲课:1 实验:0 上机:0
具体内容:
C++语言对C语言的非本质改进,主要有:注释、数据的输入输出、函数原型、内联函数、函数重载、默认参数的函数、引用、const常量、动态内存分配操作new和delete、异常处理机制。
重点:
掌握C++面向过程的扩充特征:函数重载、引用。
第3部分类和对象
总学时(单位:学时):2 讲课: 实验:2 上机:0
具体内容:
类的构成与定义、类的成员函数、对象的定义与使用、构造函数、构造函数重载、成员初始化表、拷贝构造函数、深拷贝与浅拷贝、析构函数、UML简介、this指针、对象数组与对象指针、向函数传递对象、对象成员。
重点:
类的构成与定义、类的成员函数、构造函数、成员初始化表、析构函数、this指针、对象数组与对象指针、向函数传递对象。
难点:
拷贝构造函数、深拷贝与浅拷贝
实验上机:
类与对象的定义、构造函数、析构函数(实验2学时)
第4部分继承与派生
总学时(单位:学时):2 讲课:0 实验: 2 上机: 0
具体内容:
继承与派生的概念、派生类的声明、派生类的访问属性、派生类的构造函数和析构函数、多继承、基类成员访问和赋值兼容性、虚基类。
重点:
继承与派生的概念、派生类的声明、派生类的访问属性、多继承格式。
难点:
派生类的构造函数和析构函数的顺序与规则、基类成员访问和赋值兼容性
实验上机:
单继承和多继承(实验2学时)
第5部分虚函数与多态性
总学时(单位:学时):2 讲课:0 实验: 2 上机: 0
具体内容:
多态性概述、基类指针或引用执行派生类对象、虚函数、纯虚函数、抽象类、虚析构函数。
重点:
虚函数定义、基类指针指向派生类对象调用虚函数、纯虚函数、抽象类、虚析构函数
难点: