2010版030531003面向对象程序设计教学大纲
- 格式:pdf
- 大小:307.23 KB
- 文档页数:13
《面向对象程序设计》课程教学大纲
课程代码:030531003
课程英文名称:Object-OrientedProgrammming
课程总学时:48讲课:32实验:16实验:
适用专业:计算机科学与技术
大纲编写(修订)时间:2010.7一、大纲使用说明
(一)课程的地位及教学目标
《面向对象程序设计》课程是信息科学与工程学院计算机科学与技术专业的一门重要的专业
基础课,它较详细地阐述了面向对象系统的基本理论与面向对象程序设计语言的基本知识。通过
本课程的学习,使学生了解和掌握使用面向对象程序设计语言编程的基本理论和方法,是学生进
一步学习计算机专业课程的必备基础。为本专业学生在今后从事IT行业的编程、管理、技术协
作等提供必要的知识。同时还承担着素质教育和工程教育的基本职责。
通过本课程的学习,学生将达到以下要求:
1.掌握面向对象程序设计的基本思想、程序设计方法,具有面向对象程序设计的初步能力;
2.熟练掌握一门面向对象程序设计语言(C++语言)。
3.具有用C++语言进行面向对象的程序设计、开发、调试等有关技术的能力;
4.了解面向对象技术的新发展。
(二)知识、能力及技能方面的基本要求
1.基本知识:掌握面向对象技术的程序设计基本知识,熟练掌握面向对象程序设计语言C++。
2.基本理论和方法:掌握面向对象程序设计的基本特征:抽象性、封装性、继承性和多态性。
C++语言中面向过程的新特性:函数重载、内联函数,引用的概念及使用。面向对象程序设计
中的:类和对象、构造函数与析构函数、友元、继承与派生、虚函数与多态性、运算符重载、模
板的设计及使用、文件的输入和输出等。要求学生能够理解面向对象系统如何能够更好地完成对
现实世界中的问题进行模拟与求解,如何能够将现实世界中问题的求解映射到基于面向对象软件
系统的计算机求解,并能够熟练掌握C++面向对象程序设计语言。
3.基本技能:掌握面向对象的程序分析、设计、编程、调试的技能。
该课程的知识系统结构应围绕建设一个实际的面向对象应用程序所涉及的技术要点和技术
难点的理解与掌握来展开。知识的应用结构是由课堂讨论、习题、实践环节三大部分组成。为此
在知识方面应提供建造实际的面向对象应用程序所必须具备的基础知识及相关的理论知识及基
本技能。能力方面首先要有自学能力,在自学的基础上,由课堂讨论、习题、及实践环节增强分
析能力及解决问题的能力。应能掌握基本的应用软件编程。
(三)实施说明
1.教学方法:课堂讲授中要重点对基本概念、基本方法和程序设计思路的讲解;教师在讲
解过程中应深入浅出、循序渐进、联系实际、结合实例,才能收到较好的效果。应培养学生良好
的面向对象程序设计思想、方法与技巧,强化程序抽象能力与数据抽象能力。要提高学生的基本
素质,必须强迫学生从被动吸收知识的状态下,转化到主动索取知识的状态中来。利用“先自学
后讨论”的方法教学,可以清晰地掌握所教班级的整体水平。采用能激发学习兴趣的措施,提高
学生班级的整体水平。注重方法的传授而不纠缠细节,这样就可以将学生的注意力引导到教学的
主题上来。在明确学习的目的后,教给了方法学生就会有兴趣,有能力去索取自己所需要的知识,
若留有充足的自我索取的时间,就能充分地调动学生的内在潜力。采用启发式教学,培养学生思考问题、分析问题和解决问题的能力;引导和鼓励学生通过实践和自学获取知识,培养学生的自
学能力;增加讨论课,调动学生学习的主观能动性;讲课要联系实际并注重培养学生的创新能力。
2.教学手段:本课程属于专业基础课,在教学中采用电子教案、CAI课件及多媒体教学系
统等先进教学手段,在课堂上通过多媒体手段现场演示程序的执行及编译器的使用。以确保在有
限的学时内,全面、高质量地完成课程教学任务。
(四)对先修课的要求
本课程的教学必须在完成先修课程之后进行。要求学生有结构化程序设计高级语言的基础知
识与编程经验。本课程主要的先修课程是《C语言程序设计》课程。本课程将为数据结构、开发
技术等专业课、课程设计以及毕业设计的学习打下良好基础。
(五)对习题课、实验环节的要求
1.本课程的习题和实验应该结合在一起进行,学习面向对象程序设计必须多上机实践。因
此,建议除教学计划安排的习题与实验教学外,对重点、难点章节(如:类和对象的定义与使用、
友元派生类的访问、虚函数的使用、运算符重载等等)教师应该多采用课外实验作为补充,具体
实验的多少应根据具体情况灵活运用。
2.课后作业内容以分析、编程为主,内容要多样化,作业题内容必须包括基本概念、基本
理论及程序设计方面的内容,作业要能起到巩固理论,掌握计算方法和技巧,提高分析问题、解
决问题能力,熟悉标准、规范等的作用,对作业中的重点、难点,课上应做必要的提示,并适当
安排课内讲评作业。学生必须独立、按时完成课外习题和作业,作业的完成情况应作为评定课程
成绩的一部分。
3.每个学生要完成大纲中规定的必修实验,通过实验环节,学生应掌握面向对象编程的基
本实验方法,获得实验操作的基本训练。实验成绩作为评定课程成绩的一部分。
4.本课程的课程设计单独设课,单独考核,具体要求参见相应的课程设计教学大纲。(六)课程考核方式
1.考核方式:考试
2.考核目标:在考核学生对面向对象程序设计基本知识、基本原理和方法的基础上,重点
考核学生的程序分析能力、程序设计能力和综合应用开发能力。
3.成绩构成:本课程的总成绩主要由三部分组成:平时成绩(包括作业情况、出勤情况、
期中等)占10%,实验成绩占25%,期末考试成绩占65%。
平时成绩由任课教师视具体情况按百分制给出;实验成绩由实验老师参照相关规定按百分制
给出,实验无成绩或实验不及格,取消期末考试资格,总成绩直接以不及格计。
(七)参考书目:
《面向对象程序设计(C++语言)》,李爱华程磊编著,清华大学出版社,2010
《C++语言程序设计(第4版)》,郑莉张瑞丰李莉编著,清华大学出版社,2010
《C++程序设计教程(第二版)》,钱能著,清华大学出版社,2005
《C++编程思想》(第2版),BruceEckel著,机械工业出版社,2007二、中文摘要
本课程是计算机科学与技术专业学生必修的一门实践性很强的主干专业基础课程。课程通过
对面向对象程序设计内容的讲授,使学生掌握面向对象程序设计的基本知识,并且有简单面向对
象程序设计的能力。课程主要内容包括C++语言基础知识、类与对象设计、继承与派生设计、
多态性与运算符重载设计等。本课程将为后续课程的学习以及相关课程设计、毕业设计等奠定重
要的基础。三、课程学时分配表序号章节名称学时讲课实验上机
1C++语言基础1064
1.1面向对象程序设计概述2
1.2C++语言概述4
实验:C++语言基础练习4
2类和对象14104
2.1类和对象(一)4
2.2类和对象(二)6
实验:类与对象的定义与实现2
实验:静态成员与友元的定义与实现2
3继承与派生844
3.1继承与派生2
3.2多继承与虚基类2
实验:继承的设计与实现4
4虚函数与多态性642
4.1多态性概述、虚函数2
4.2纯虚函数和抽象类2
实验:多态性的设计与实现2
5运算符重载422
5.1运算符重载2
实验:运算符重载26模板22
7C++语言的输入和输出22
8总复习22
合计483216
四、教学内容及基本要求
第1部分C++语言基础
总学时(单位:学时):10讲课:6实验:4上机:
第1.1部分面向对象程序设计概述(讲课2学时)
具体内容:
1)明确本课程的内容、性质和任务。
2)掌握面向过程与面向对象。
3)掌握面向对象程序设计的基本特征。
4)了解C++程序及其开发。
重点:
面向对象程序设计的基本特征
第1.2部分C++语言概述(讲课4学时)
具体内容:
掌握C++语言程序的基本结构、基本数据类型、运算符和表达式、数据的输入与输出、函
数原型、内联函数、函数重载、默认参数、引用、动态内存分配、异常处理等。
重点:
掌握C++面向过程的扩充特征。难点:
函数重载、动态内存分配
习题:
课外以实验编程的方式将本部分的C++语言每个新知识点编写一个程序,程序应该在10
个以上。
上机:
C++语言基础练习(4学时)第2部分类和对象
总学时(单位:学时):14讲课:10实验:4上机:
第2.1部分类和对象(一)(讲课4学时)
具体内容:
1)掌握类的定义与使用。
2)掌握构造函数与析构函数。
3)了解UML。
重点:
类的定义与使用
构造函数与析构函数
难点:
构造函数与析构函数
习题:
类的定义程序设计
第2.2部分类和对象(二)(讲课6学时)具体内容:
1)掌握this指针。
2)掌握对象数组与对象指针。
3)掌握向函数传递对象。
4)掌握静态成员。
5)掌握友元。
6)了解对象成员及常对象。
重点:
类的静态成员与友元
难点:
类的静态成员与友元
习题:
分析程序:对象数组、向函数传递对象、静态成员与友元
上机:
类与对象的定义与实现(2学时)
静态成员与友元的定义与实现(2学时)第3部分继承与派生
总学时(单位:学时):8讲课:4实验:4上机:
第3.1部分继承与派生(讲课2学时)
具体内容:
1)掌握继承与派生的概念。
2)掌握派生类的访问属性。3)掌握派生类的构造函数和析构函数的执行顺序与规则。
重点:
派生类的访问属性。
派生类的构造函数和析构函数的执行顺序与规则
难点:
派生类的构造函数和析构函数的执行顺序与规则
基类成员访问原则
习题:
分析、编写程序:派生类的构造函数和析构函数的执行顺序与规则,基类成员访问原则。
第3.2部分多继承与虚基类(讲课2学时)
具体内容:
1)掌握多继承的声明与实现。
2)掌握基类成员访问原则和赋值兼容性。
3)掌握虚基类。
重点:
基类成员访问原则
虚基类
难点:
基类成员访问原则
习题:
分析、编写程序:多继承、基类成员访问、虚基类。
上机: