文档介绍:教案2006~2007学年第二学期学院(系、部)计算科学系教研室(实验室)软件工程课程名称高级语言程序设计授课班级信息与计算科学061主讲教师胡小健职称讲师课程名称高级语言程序设计课程编号总计:90学时学分5课程性质必修课公共课□;基础课□;专业基础课□;专业课□讲课:72学时实验:学时上机:18学时选修课限选课□;任选课□考核方式考试(√);考查()任课教师胡小健职称:讲师授课对象专业班级:信息与计算科学061共1个班教材和主要考参资料郑莉董渊,C++语言程序设计(第3版),清华大学出版社郑莉董渊,C++程序设计程序设计案例教程,清华大学出版社郑莉董渊,C++语言程序设计(第3版)学生用书,清华大学出版社教学目的和要求目的:掌握面向对象程序设计中基本的概念、方法,在理论、实践上为后续软件课程打下坚实基础。要求:熟练掌握C++语言程序的构成;基本语法成分;数据定义和相关运算;基本控制流程的概念和实现;函数的定义和调用;指针的基本概念,能够应用于数据组织和函数调用;面向对象程序设计的核心概念:封装;继承;多态;模板与群体数据组织。上机实验是认识性实验,只要求学生上机熟练书上的内容,不要求交实验报告(上机学时为18学时)。教学重点及难点重点:C++基本语法成分;面向对象程序设计的核心概念:封装;继承;多态;类模板与群体数据的组织。用C++定义类和操作对象的方法;有关派生类的构造机制;多态的实现技术与动态绑定技术。STL标准模板库的简单使用。难点:多态,类模板与群体数据的组织。有关派生类的构造机制;多态的实现技术与动态绑定技术。STL标准模板库的简单使用。高级语言程序设计课程教案授课时间:第周周第节课时安排2课次______授课方式(请打√):理论课□讨论课□实验课□习题课□综合课□其他□授课题目:第一章绪论教学目的、要求:了解:计算机程序设计语言的发展,面向对象的方法,面向对象的软件开发,信息的表示与存储,程序的开发过程。教学重点及难点:重点:了解计算机程序设计语言的发展,面向对象的方法,面向对象的软件开发,信息的表示与存储,程序的开发过程。教学基本内容(要体现出教学方法及手段):一、基本概念的知识点1、指令:是计算机可以识别的命令。计算机硬件系统能识别的指令形式只能是“0”,“1”的组合,称二进制指令,即:在物理上,高电平表示“1”,低电平表示“0”。一台计算机硬件系统能识别的的所有指令的集合,称为它的指令系统。2、机器语言与汇编语言:由计算机硬件系统可以识别的二进制指令组成的语言称为机器语言。计算机发展的初期,软件工程师们只能用机器语言来编写程序。这一阶段,在人类的自然语言和计算机编程语言之间存在着巨大的鸿沟。汇编语言将机器指令映射为一些可以被人读懂的助记符,如ADD、SUB等。此时编程语言与人类自然语言间的鸿沟略有缩小,但仍与人类的思维相差甚远。因为它的抽象层次太低,程序员需要考虑大量的机器细节。3、高级语言:屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定涵义的数据命名和容易理解的执行语句。这使得在书写程序时可以联系到程序所描述的具体事物。此时编程语言与人类自然语言间的鸿沟大大缩小。4、面向对象的语言:出发点:更直接地描述客观世界中存在的事物(对象)以及它们之间的关系。与人类的思维方式相一致。特点:是高级语言;观事物看作具有属性和行为的对象;通过抽象找出同一类对象的共同属性和行为,形成类;通过类的继承与多态实现代码重用。优点:使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。5、程序设计方法的发展历程面向过程的设计方法:最初的目的:用于数学计算;主要工作:设计求解问题的过程;缺点:对于庞大、复杂的程序难以开发和维护。面向对象的设计方法:将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体——对象;对同类型对象抽象出其共性,形成类;类通过一个简单的外部接口,与外界发生关系;对象与对象之间通过消息进行通讯。举例:对象:李爱国属性:姓名,年龄,驾照...行为:吃、喝、拉、撒、开车... 对象:李爱国的小货车属性:车主、车牌号、启动按钮、方向盘... 行为:启动按钮被按下就启动,加速、倒车、显示速度...二、面向对象方法各知识点:1、面向对象的方法:优点:程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。2、一般意义上的对象:是现实世界中一个实际存在的事物;可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划);是构成世界的一个独立单位,具有静态特征(可以用某种数据来描述)和动态特征(对象所表现的行为或具有的功能)。3、面向对象方法中的对