面向对象程序设计课程教学大纲【课程编码】JSZX0250【适用专业】计算机科学与技术【课时】68+24【学分】4【课程性质、目标和要求】该课程是计算机科学与技术专业的一门专业专业必修课。
通过本课程的学习,要求学生:⑴掌握面向对象程序设计的基本概念和基本原理,熟练掌握一些常用的面向对象程序设计实用开发方法和技术。
⑵了解面向对象程序设计各领域的发展方向;掌握如何用面向对象技术与方法开发软件项目,以及可视化程序设计方法、事件驱动方法与面向过程程序设计方法的异同。
⑶能够利用所学知识去解决一些实际的应用问题(或模拟案例)。
【教学时间安排】本课程计4 学分,68学时, 学时分配如下:【教学内容要点】第1章计算机与程序设计一、学习目的要求1、了解计算机的基本结构。
2、理解程序设计语言的基本概念。
3、掌握面向过程程序设计与面向对象程序设计的原理,并区分它们的异同。
二、主要教学内容1、计算机的基本结构2、程序设计语言3、面向过程程序设计4、面向对象程序设计第2章面向对象方法学导论一、学习目的要求1、了解面向对象方法学概念。
2、理解面向对象的建摸基本技术和方法。
3、掌握对象模型的创建方法。
4、掌握面向对象分析、面向对象设计和面向对象实现的思想、方法和技术。
二、主要教学内容1、对象2、其它面向对象的概念3、对象模型4、面向对象分析、面向对象设计和面向对象实现第3章一个面向对象的C++程序实例一、学习目的要求1、理解面向对象分析与设计的思想、任务和基本步骤。
2、掌握如何用C++语言实现一个实际问题。
二、主要教学内容1、面向对象分析与设计。
2、用C++语言实现。
第4章数据成员一、学习目的要求1、理解数据成员、数据类型的概念和使用方法。
2、理解Const数据成员的概念、使用方法。
3、熟练掌握静态数据成员和动态数据成员的概念和使用方法,以及动态数据成员与对象生存期的关系。
二、主要教学内容1、数据类型。
2、Const数据成员。
3、静态数据成员。
4、动态数据成员与对象生存期。
第5章成员函数一、学习目的要求1、理解成员函数的概念。
2、熟练掌握成员函数的定义、调用方法和步骤。
3、掌握内联函数的概念和事业方法。
二、主要教学内容1、成员函数的概念。
2、成员函数的定义与调用。
3、内联函数。
第6章封装性一、学习目的要求1、理解C++类与对象的概念和使用方法。
1、熟练掌握对象成员、Const对象与Const成员、对象数组等概念,以及它们的应用。
2、掌握自引用指针this的使用方法。
2、理解友元以及它的应用。
二、主要教学内容2、C++类与对象。
3、封装的好处。
4、对象成员5、Const对象和Const成员6、对象数组7、自引用指针this8、友元第7章继承性一、学习目的要求1、了解继承与多重继承的基本概念和方法。
2、掌握如何用C++语言定义基类与派生类,以及应用。
3、熟练掌握基类成员的访问属性、方法。
4、熟练掌握派生类对象的初始化方法。
5、理解基类与派生类之间的转换方法与应用。
二、主要教学内容1、继承的好处。
2、基类成员的访问属性。
3、派生类对象的初始化。
4、多重继承。
5、基类与派生类之间的转换。
第8章重载一、学习目的要求1.理解重载的基本概念和使用方法。
2.掌握运算符重载的限制、语法、规则和应用。
3.熟练掌握重载++和- -运算符方法、步骤和应用。
4.了解类类型的转换的应用。
二、主要教学内容1、重载的好处。
2、运算符重载的限制、语法、规则和应用。
3、类类型的转换。
第92章多态性一、学习目的要求1、了解静态联编与动态联编的基本概念和应用。
2、熟练掌握虚函数的声明、使用和应用的方法与技术。
3、掌握纯虚函数的定义、调用和应用。
4、理解多态性带来好处。
二、主要教学内容1、静态联编与动态联编。
2、虚函数的声明、使用和实例。
3、纯虚函数及应用。
4、多态性带来好处。
第10章I/O流一、学习目的要求1、了解C++流库概念。
2、掌握预定义类型、自定义类型的输入/输出的方法与技术,以及格式控制和应用。
3、理解文件的输入/输出的方法与技术,掌握面它的应用。
二、主要教学内容1、C++流库概念。
2、预定义类型的输入/输出。
3、格式控制。
4、自定义类型的输入/输出。
5、文件的输入/输出。
第11章摸板一、学习目的要求1、了解从类属到摸板的概念、应用。
2、掌握函数摸板与摸板函数的概念、方法和应用。
3、掌握类摸板与摸板类的概念、方法和应用,以及应用摸板编程。
二、主要教学内容1、从类属到摸板。
2、函数摸板与摸板函数。
3、类摸板与摸板类。
4、摸板应用实例。
第12章基于Windows的面向对象语言(-)——-VC++一、学习目的要求1、了解Windows的编程模式的概念和应用。
2、掌握Microsoft基本类库MFC及应用程序框架。
3、掌握Microsoft基本类库的消息映射以及应用。
4、理解VC++的文档—视图模型及程序设计实例,并编写VC++简单应用程序。
二、主要教学内容1、Windows的编程模式。
2、Microsoft基本类库MFC及应用程序框架。
3、Microsoft基本类库的消息映射。
4、VC++的文档—视图模型,以及程序设计实例。
第13章基于Windows的面向对象语言(-)——-Java一、学习目的要求1、了解Java语言的特点及应用。
2、掌握Java语言的结构、技术和方法。
3、区别Java语言与C++语言的不同,应用Java语言编程。
4、理解JYM的概念与规范。
1、Java语言的特点。
2、Java语言简介。
3、Java语言与C++语言的不同。
4、JYM的概念与规范。
【教学(实验)内容要点】实验内容:按照面向对象程序设计语言的方法开发一个的应用软件系统,用C++程序设计语言链接某种数据库系统开发应用软件系统。
上机实验24学时,每次撰写一份实验报告。
一、(实验1 应用软件系统的登录界面设计4学时)1、实验目的要求⑴用C++学程序设计语言和数据库技术来实现应用软件系统的登录界面设计。
⑵登录界面设计中设计用户名与密码,并密码用数据库存储。
⑶密码输入对时调用应用软件系统的主界面,若输入不对时能重新输入,并有出错提示。
⑷必须显示应用软件系统名称。
2、实验主要内容实现应用软件系统的登录界面设计。
2、实验仪器设备⑴联网的计算机50台。
⑵WindowsXP操作系统或WindowsNT操作系统。
⑶C++面向对象程序设计语言编译系统和数据库管理系统。
⑷Office应用软件和图象编辑应用软件等。
二、(实验2 应用软件系统的主界面设计4学时)1、实验目的要求⑴主界面中有系统功能主菜单(下拉式菜单)。
⑵菜单中应包括系统的所有功能菜单项。
⑶点击菜单项可进入对应的界面。
⑴实现应用软件系统的主界面设计。
⑵主界面中有系统功能主菜单(下拉式菜单)。
3、实验仪器设备(同实验一)三、(实验3 应用软件系统中数据库的建立、数据编辑设计4学时)1、实验目的要求⑴用一种能适应程序设计语言的数据库系统,并创建软件系统中的数据库。
⑵设计基于该数据库的增、删、改的数据编辑界面。
⑶将数据编辑界面与数据库关联起来。
2、实验主要内容⑴实现应用软件系统中数据库的建立。
⑵实现数据库的数据编辑界面,并关联数据库。
3、实验仪器设备(同实验一)四、(实验4 各菜单项功能的界面设计与处理代码实现8学时)1、实验目的要求⑴用程序设计语言实现各菜单项功能的界面。
⑵实现各菜单项功能的处理模块。
⑶将各菜单项功能的界面与处理模块关联起来。
2、实验主要内容⑴各菜单项功能的界面设计。
⑵各菜单项功能的处理代码编写与实现。
3、实验仪器设备(同实验一)五、(实验5 输出数据报表设计4学时)1、实验目的要求⑴按中国格式实现所有的输出数据报表。
⑵将报表与数据库连接起来,并数据按要求统计输出。
⑶测试应用软件系统。
2、实验主要内容⑴实现所有的输出数据报表设计。
⑵将报表与数据库连接起来。
⑶测试应用系统。
3、实验仪器设备(同实验一)六、(实验6 教师测试应用系统并进行实验成绩评定4学时)【成绩考核方式】1、成绩评定总则面向对象程序设计语言是计算机科学与技术专业的专业主干课程,也是学位课程。
应该注重学生能力的培养,也就是注重实验环节的测试。
本课程为考试科目。
期末与期中考试实行A、B卷,平行班试卷统一。
期末考试后,进行试卷分析,并将试卷按要求装订后送交学院存档。
本课程采用平时成绩、实验考试和理论考试相结合的考核方法。
总评成绩平时成绩占10%,期中考试占20%,期末考试占70%(其中:实验占40%,笔试占60%);若无期中考试时,平时成绩占20%,期末考试占80%(其中:实验占40%,笔试占60%)。
2、平时成绩评定(10%-20%)平时成绩主要包括上课考勤、作业、讨论回答问题等。
若有期中考试时,平时成绩占10%;若无期中考试时,平时成绩占20%。
3、期末考核评定(70%-80%)期末考核评定包括实验考试和理论考试。
实验考试采用实验考勤、实验报告和实践(课程设计)相结合的考核方法。
若有期中考试时,平时成绩占70%;若无期中考试时,平时成绩占80%,其中实验占期末考试40%。
【教材与参考书目】指定教材:面向对象程序设计实用教程.张海藩,牟永敏著. 清华大学出版社,2001年4月.参考书目:1、C++程序设计.和克智编著。
西安交通大学出版社,1995年7月.2、C++程序设计实用教程.张国峰编著.清华大学出版社, 1996年1月.3、C++程序设计语言.揣锦华编著.西安电子科技大学出版社, 2003年1月.4、Visual C++ 6.0教程.宋斌等编著.北京希望电子出版社,1999年11月.5、面向对象程序设计—Java.张白一等编著. 西安电子科技大学出版社, 2003年1月.【有关说明(教学建议)】1.课程教学重点与难点本课程的教学重点是:从实用的角度讲述面向对象程序设计的基本原理、概念和技术方法,按面向对象方法学的顺序介绍C++语言的数据成员、成员函数、封装性、继承性、重载、多态性、I/O流等概念。
同时,还要介绍两种面向对象程序设计语言:VC++和Java。
本课程的教学难点是:①面向对象程序设计中的数据成员、成员函数、封装性、继承性、重载、多态性等概念。
②要使学生在学习了面向对象程序设计的理论、原理、概念和技术方法的基础上,以课程设计小组的形式,利用所学到的知识去完成一项实际的项目任务。
2.课程教学方法与手段本课程采用课堂教学(多媒体平台)与课外实践相结合的教学方法,在课堂中主要讲授理论知识,在课外布置大型的实际问题或模拟案例(即Project),将学生按4人左右划分为若干个小组,每个小组针对一个实际问题,结合所学面向对象程序设计的知识进行调查研究、分析设计、测试修改,最后予以解决问题、完成设计。
同时在课堂上安排一定的时间由学生上台进行课堂报告。