第一篇:山东大学软件学院面向对象方法考试口述精简版
教务系统的用例图(UML+代码)
电梯运行状态图
门的(有把手/无把手)装潢模式(模式+类图+代码)时钟(钟表/数字)同上
网页下载(http/ftp)的两种下载方式用什么模式实现 同上
interator模式(迭代器模式)一个容器 作用是装载以及迭代的方式取出所有数据
第二篇:面向对象程序设计教学大纲-计算机科学与软件学院
面向对象技术
Technology of Object-Oriented Programming 课程编号:30420032 学分数:2 开课单位:计算机技术与自动化学院
课内总时数:40 任课教师姓名及职称:陈勇副教授、柯永振讲师、刘坤良讲师 开课学期:第2学期 教学方式:讲授
一、教学要求及目的:
理解面向对象的基本思想、基本概念;掌握面向对象程序设计语言的基本结构、各种语法成分的作用、语法结构及运用方式;掌握面向对象程序设计的方法和技巧;能比较熟练地用C#语言进行一般面向对象的程序分析、设计,提高编写和调试应用程序的能力。
二、课程的主要内容
1.面向对象方法的历史与现状
面向对象技术的发展历史,主要的面向对象语言介绍。
2..Net Framework概述.Net Framework基本框架,.Net Framework的优点,以及开发平台。3.C#概述
C#的起源和特点,C#源程序的基本构成,C#中非面向对象方面的—些程序特性。4.C#中类和对象
类与对象的基本概念,构造函数,方法与属性,参数传递,静态成员。5.派生、继承、多态性
数据的抽象与封装,派生类的概念,派生类的构造函数,C#中多重继承的处理方法,虚方法的实现,抽象类,重载的实现,接口的实现,代理的实现。6. 基于Windows 与Web的应用程序开发
开发Windows,Web应用程序的基本框架。7.Web Service实现
使用XML的Web Service实现。8.面向对象技术实践
根据所掌握的面向对象技术,分析一个具体案例,利用C#实现其功能。
三、课程教材及主要参考书
1.C#面向对象程序设计,黄聪明,科学出版社,2004年 2.C#程序设计,田原,清华大学出版社,2005 3.C#高级编程,李敏波,清华大学出版社,2005(第3版).4.C#程序设计教程,余安萍,电子工业出版社,2002 5.面向对象的分析与设计,(美)Grady Booch著,机械工业出版社,2005年
6.C#范例解析,朱沭红,电子工业出版社,2002 7.Visual C#程序设计基础教程,邵鹏鸣,清华大学出版社,2005.四、预修课程
C语言程序设计、数据结构、程序设计方法学
五、适用专业、范围
计算机应用技术专业、计算机软件与理论专业
第三篇:面向对象程序设计教学大纲-计算机科学与软件学院
人工智能原理及应用
Artificial Intelligence Principles and Applications
课程编号:30420082 学分数:2 开课单位:计算机技术与自动化学院
课内总时数:40 任课教师姓名及职称:刘文菊副教授、郭景讲师
开课学期: 第2学期 教学方式:讲授
一、教学要求及目的
人工智能是研究智能信息处理技术、开发具有智能特性的各类应用系统的核心技术。通过本课程的学习,要求学生了解人工智能的基本概念和原理,掌握常用的知识表示、逻辑推理和问题求解的方法,熟悉人工智能的发展学派和主要理论。为智能信息分析和构建专家系统、智能决策支持系统等各类智能系统奠定基础,并培养学生提高解决复杂问题的能力。
二、课程的主要内容
1.人工智能概述
人工智能的概念; 人工智能的产生和发展; 人工智能的内容和特点; 人工智能的研究和应用领域。2.知识表示方法
知识表示的概念;
谓词逻辑表示法; 产生式表示法; 语义网络表示法; 框架表示法; 面向对象表示法。3.推理方法
推理的基本概念;
确定性推理:推理方法及其分类、推理的控制策略、推理的逻辑基础; 不确定性推理:确定性因子法、主观Bayes法、证据理论、模糊推理。4.问题求解与搜索方法
状态空间搜索,状态图问题求解; 与或树搜索,与或树问题求解;
博弈树搜索,极大极小过程,-剪枝法。5.机器学习
机器学习的概念; 机械学习; 基于经验的学习; 基于事例的学习; 基于类比的学习; 基于神经网络的学习。6.人工智能应用--专家系统
专家系统的概念; 专家系统的结构;
专家系统的应用与发展概况; 产生式系统 专家系统设计举例。
7.人工智能的争论与展望
关于人工智能的争论; 人工智能对人类的影响; 对人工智能的展望。
三、课程教材及主要参考书
1.人工智能及其应用(第三版)研究生用书,蔡自兴编著,清华大学出版社,2006年5月 2.人工智能技术导论,廉师友编著,西安电子科技大学出版社,2002年第1版 3.人工智能原理及其应用,王万森编著,电子工业出版社,2000年9月
4.Artificial Intelligence A New Synthesis
Nils J.Nilsson
机械工业出版社 1999.9
四、预修课程
数理逻辑、离散数学、高级语言程序设计、数据结构与算法
五、适用专业、范围
计算机应用技术专业、计算机软件与理论专业
第四篇:《面向对象程序设计方法》课程教学大纲
《面向对象程序设计方法》课程教学大纲
(计算机科学与技术本科专业使用)
一、课程的地位、教学目的和基本要求
C++语言是一种高效实用的程序设计语言,既可进行过程化的程序设计,也可进行面向对象程序设计。本课程以介绍C++语言的基本语法为基础逐步向学生渗透面向对象的程序设计思想,要求学生掌握类的封装、数据隐藏、继承及多态等特性,领会面向对象程序设计,掌握面向对象程序设计方法,培养一定的程序设计能力,为以后各专业课程的学习打下良好的程序设计基础。
二、主要教学环节
1、理论教学 学时数:60 占全部学时数:75 %
2、实验 学时数:20 占全部学时数:25 %
3、实训 学时数:二周
三、课程内容 Ⅰ.理论部分
第一章 C++入门 2学时(1)教学目的、要求
本章要求学生掌握源程序的编辑、编译、连接和执行。了解C++程序设计语言的发展过程以及支持环境。(2)重点与难点
本章的重点和难点是源程序的编辑、编译、连接和执行。
第一节 从C到C++ 第二节 程序与语言 第三节 结构化程序设计 第四节 面向对象程序设计 第五节 程序开发过程 第六节 函数
第二章 基本数据类型与输入输出 2学时(1)教学目的、要求
本章要求学生掌握C++语言数据类型,变量及常量的声明和赋值以及输入输出函数。了解I/O流及printf和scanf输入输出的作用。(2)重点与难点
本章的重点和难点是C++语言数据类型,变量及常量的声明和赋值以及输入输出函数。
第一节 字符集与保留字 第二节 基本数据类型 第三节 变量定义 第四节 常量及常量定义 第五节 I/O流控制 第六节 Printf与scanf 第三章 表达式和语句 2学时(1)教学目的、要求
本章要求学生掌握C++各运算符与常用表达式内容,及if语句的应用。(2)重点与难点
C++各运算符与常用表达式内容,及if语句的应用。
第一节 表达式 第二节 算术运算和赋值 第三节 算术类型转换 第四节 增量和减量 第五节 关系与逻辑运算 第六节 if语句 第七节 条件运算符 第八节 逗号表达式 第九节 求值次序与副作用
第四章 过程化语句 2学时(1)教学目的、要求
本章要求学生掌握switch,while, do…while, for结构的应用,了解描述算法和穷举、迭代算法。(2)重点与难点
本章的重点和难点是循环型程序设计,即switch,while, do…while, for 2 结构的应用。
第一节 while 语句 第二节 do…..while 语句 第三节 for语句 第四节 switch 语句 第五节 switch 语句 第六节 过程应用: 求兀 第七节 过程应用: 判明素数 第八节 过程应用: 求积分
第五章 函数 2学时(1)教学目的、要求
本章要求学生掌握函数的概念、定义、调用机制,和递归、内联、重载函数的概念,以及全局、局部变量。(2)重点与难点
本章的重点和难点是函数的概念、定义、调用机制,以及全局、局部变量。
第一节 函数概述 第二节 函数原型
第三节 全局变量和局部变量 第四节 函数调用机制 第五节 静态局部变量 第六节 递归函数 第七节 内联函数 第八节 重载函数 第九节 默认参数的函数
第六章 程序结构 2学时(1)教学目的、要求
本章要求学生掌握变量的存储类型,作用域,可见性,生命期等概念。(2)重点与难点
本章的重点和难点是变量的存储类型,作用域,可见性,生命期。
第一节 外部存储类型 第二节 静态存储类型 第三节 作用域 第四节 可见性 第五节 生命期 第六节 头文件 第七节 多文件结构 第八节 编译预处理
第七章 数组 2学时(1)教学目的、要求
本章要求学生掌握数组的概念、元素的访问,及数组的应用。(2)重点与难点
本章的重点和难点是数组元素的访问,及数组的应用。
第一节 数组定义 第二节 访问数组元素 第三节 初始化数组 第四节 向函数传递数组 第五节 二维数组 第六节 数组应用: 排序
第七节 数组应用: Josephus问题 第八节 数组应用: 矩阵乘法
第八章 指针 2学时(1)教学目的、要求
本章要求学生掌握指针的概念、运算,以及指针与数组和函数的应用。(2)重点与难点
本章的重点和难点是指针的运算,以及指针与数组和函数的关系及应用。
第一节 指针概念 第二节 指针运算 第三节 指针与数组 第四节 堆内存分配 第五节 const指针 第六节 指针与函数 第七节 字符指针 第八节 指针数组 第九节 命令行参数 第十节 函数指针
第九章 引用 2学时(1)教学目的、要求
本章要求学生掌握引用的概念、操作,以及引用作为函数参数的应用。(2)重点与难点
本章的重点和难点是引用的操作,以及引用作为函数参数的应用。
第一节 引用的概念 第二节 引用的操作 第三节 什么能被引用 第四节 用引用传递函数参数 第五节 返回多个值 第六节 用引用返回值 第七节 函数调用作为左值 第八节 用const限定引用 第九节 返回堆中变量的引用
第十章 结构 2学时(1)教学目的、要求
本章要求学生掌握结构体概念及其定义,结构体变量和结构体数组的引用,指向结构体变量和数组的指针。(2)重点与难点
本章的重点和难点是结构体数组的引用,指向结构体变量和数组的指针。
第一节 结构 第二节 结构与指针
第三节 结构与数组 第四节 传递结构参数 第五节 返回结构 第六节 链表结构 第七节 创建与遍历链表 第八节 删除链表结点 第九节 插入链表结点
第十节 结构应用: Josephus问题
第十一章 类 4学时(1)教学目的、要求
本章要求学生掌握类的概念、类的定义,及成员函数的调用。了解保护成员和软件方法的发展必然。(2)重点与难点
本章的重点和难点是类的概念、类的定义,及成员函数的调用。
第一节 从结构到类 第二节 软件方法的发展必然 第三节 定义成员函数 第四节 调用成员函数 第五节 保护成员 第六节 屏蔽类的内部实现 第七节 再论程序结构
第十二章 构造函数 6学时(1)教学目的、要求
本章要求学生掌握构造、析构函数的使用,以及构造类成员和构造对象的顺序。了解重载和默认构造函数的概念(2)重点与难点
本章的重点和难点是构造、析构函数的使用,以及构造类成员和构造对象的顺序。
第一节 类与对象
第二节 构造函数的需要性 第三节 构造函数的使用 第四节 析构函数
第五节 带参数的构造函数 第六节 重载构造函数 第七节 默认构造函数 第八节 类成员初始化困惑 第九节 构造类成员 第十节 构造对象的顺序
第十三章 面向对象程序设计 4学时(1)教学目的、要求
本章要求学生掌握结构化和面向对象方法的实现。了解程序效率和维护。(2)重点与难点
本章的重点和难点是结构化和面向对象方法的实现。
第一节 抽象 第二节 分类 第三节 设计和效率 第四节 讨论Josephus问题 第五节 结构化方法 第六节 结构化方法的实现 第七节 第八节 第九节
面向对象方法 面向对象方法实现 程序维护
第十四章 堆与拷贝构造函数 6学时(1)教学目的、要求
本章要求学生掌握堆的概念,堆对象,拷贝构造函数及浅拷贝与深拷贝的应用。了解临时和无名对象。(2)重点与难点
本章的重点和难点是堆的概念,堆对象,拷贝构造函数及浅拷贝与深拷贝的 7 应用。
第一节 关于堆
第二节 需要new和delete的原因 第三节 分配堆对象 第四节 拷贝构造函数 第五节 默认拷贝构造函数 第六节 浅拷贝与深拷贝 第七节 临时对象 第八节 无名对象
第九节 构造函数用于类型转换
第十五章 静态成员与友员 2学时(1)教学目的、要求
本章要求学生掌握懂得怎样声明一个静态数据成员,怎样使用静态成员函数以及静态成员函数为什么与特定对象无关。(2)重点与难点
本章的重点和难点是静态数据成员和静态成员函数的使用,以及友元的概念。
第一节 静态成员的需要性 第二节 静态成员的使用 第三节 静态数据成员 第四节 静态成员函数 第五节 需要友员的原因 第六节 友员的使用
第十六章 继承 8学时(1)教学目的、要求
本章要求学生掌握继承的概念,工作方式,以及多态性和虚函数的概念。了解抽象类和类的冗余。(2)重点与难点
本章的重点和难点是继承的概念,工作方式,以及多态性和虚函数的概念。
第一节 继承的概念 第二节 继承的工作方式 第三节 派生类的构造 第四节 继承与组合 第五节 多态性
第六节 多态的思考方式 第七节 多态性如何工作 第八节 不恰当的虚函数 第九节 虚函数的限制 第十节 类的冗余
第十一节 克服冗余带来的问题 第十二节 类的分解 第十三节 抽象类
第十四节 由抽象类派生具体类 第十五节 纯虚函数的需要性
第十七章 多重继承 6学时(1)教学目的、要求
本章要求学生掌握多继承的概念,工作方式以及多继承的构造顺序和访问控制。了解虚拟继承、保护和私有继承。(2)重点与难点
本章的重点和难点是多继承的概念,工作方式以及多继承的构造顺序和访问控制。
第一节 多继承如何工作 第二节 继承的模糊性 第三节 虚拟继承
第四节 多继承的构造顺序 第五节 继承的访问控制 第六节 保护继承与私有继承
第十八章 运算符重载 4学时(1)教学目的、要求 本章要求学生掌握运算符重载的需要性和应用。了解增量运算符的重载。(2)重点与难点
本章的重点和难点是运算符重载的需要性和应用。
第一节 运算符重载的需要性 第二节 如何重载运算符 第三节 值返回与引用返回 第四节 运算符作成员函数 第五节 重载增量运算符 第六节 转换运算符 第七节 赋值运算符
四、主要教科书和参考书
1、《C++程序设计教程》
2、《C++程序设计题解与上机指导》
3、《C++语言程序设计》
4、《C++语言与面向对象程序设计》
5、《C++语言程序设计》
钱能 钱能
潭浩强 郑莉
吕凤翥清华大学出版社
清华大学出版社 清华大学出版社 清华大学出版社
清华大学出版社
责任撰写人:陈桂芬
第五篇:《面向对象程序设计方法》实验教学大纲
《面向对象程序设计方法》实验教学大纲
(计算机科学与技术本科专业使用)
一、教学目标
通过该实验课,学生应在熟练掌握过程化程序设计方法的基础上,领会面向对象程序设计及类的封装、数据隐藏、继承及多态等特性,逐步掌握面向对象程序设计方法,培养一定的程序设计能力,为以后各专业课程的学习打下良好的程序设计基础。
二、实验教学时数
三、实验内容
实验一 图形打印
1、实验目的:练习for循环
2、实验技能培训内容:打印几种特殊图形,如菱形和Z字形
3、主要仪器:计算机
4、实验方法:上机编程
实验二 判素数
1、实验目的:练习函数
2、实验技能培训内容:判断101-200之间有多少个素数,并输出所有素数。
3、主要仪器:计算机
4、实验方法:上机编程
实验三 递归函数练习
1、实验目的:练习递归函数
2、实验技能培训内容:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21....3、主要仪器:计算机
4、实验方法:上机编程
实验四 数列排序
1、实验目的:练习数组及几种基本排序方法
2、实验技能培训内容:用选择、插入、冒泡、快速等几种基本的排序方法对数列进行排序。
3、主要仪器:计算机
4、实验方法:上机编程
实验五 矩阵乘积
1、实验目的:练习数组
20学时
2、实验技能培训内容:用数组存储两个矩阵,求两个矩阵的乘积。
3、主要仪器:计算机
4、实验方法:上机编程
实验六 设计时间日期类
1、实验目的:掌握简单类的设计方法
2、实验技能培训内容:构造一个TimeDate类,类中包含一个成员函数,用来在屏幕上显示时间与日期(采用建立在标准库time.h中的标准时间与日期来寻找与显示日期)。
3、主要仪器:计算机
4、实验方法:上机编程
实验七 设计计时类
1、实验目的:掌握简单类的设计方法
2、实验技能培训内容:建立Watch类,用来仿效秒表跟踪消逝的时间。用构造函数将消逝时间的初值置为零。提供两个成员函数Start()与Stop(),分别打开与关闭计时器。
3、主要仪器:计算机
4、实验方法:上机编程
实验八 设计字符栈类
1、实验目的:掌握简单类的设计方法
2、实验技能培训内容:用Stack类,写一个函数LoadStack(),用来返回已经将字母表(a-z)入栈的堆栈。在调用函数中,将这个堆栈赋值给另一个对象,并证明它包含字母表。可以改变堆栈的尺寸,以便它大得足以支持字母表。
3、主要仪器:计算机
4、实验方法:上机编程
实验九 友元的使用方法
1、实验目的:掌握友元的使用方法
2、实验技能培训内容:求两数的平方差(友元函数说明)
3、主要仪器:计算机
4、实验方法:上机编程
实验十 访问权限
1、实验目的:掌握类成员的各种访问权限
2、实验技能培训内容:类成员的各种访问权限
3、主要仪器:计算机
4、实验方法:上机编程
实验十一 类的派生
1、实验目的: 掌握类的派生
2、实验技能培训内容:给出基类AreaClass(形状类),建立两个派生类Box(方形类)与Isosceles(等腰三角形类),让每个派生类包含一个函数Area(),分别用来返回方形与等腰三角形的面积。
3、主要仪器:计算机
4、实验方法:上机编程
实验十二 用类方法求解一元二次方程
1、实验目的: 掌握类的派生
2、实验技能培训内容:实现一个Complex类和一个Real类。将Real类定义为Complex类的子类。然后设计一个求解一元二次实系数方程的根的类Root。
3、主要仪器:计算机
4、实验方法:上机编程
实验十三 类继承中的构造
1、实验目的: 掌握类继承中的构造
2、实验技能培训内容:类继承中的构造方法
3、主要仪器:计算机
4、实验方法:上机编程
实验十四 类继承中的构造
1、实验目的: 掌握类继承中的构造
2、实验技能培训内容:类继承中的构造方法
3、主要仪器:计算机
4、实验方法:上机编程
实验十五 大学生类
1、实验目的: 掌握虚函数的使用
2、实验技能培训内容:设计一个大学的类系统,包括Student(学生),Professor(教师),Staff(职员)。另有一个类既作为学生又兼作助教的可作为派生类StudentStaff,它是由Student类和Staff类派生而来,另外定义一个父类DataRec作为上述类(子类)的基类。
3、主要仪器:计算机
4、实验方法:上机编程
责任撰写人:陈桂芬