面向对象程序设计语言教学大纲
面向对象程序设计课程教学大纲
《面向对象程序设计》课程教学大纲课程编号:适用专业:软件工程学时数:48(24+24) 学分数:3 开课学期:第2 学期先修课程:C语言执笔者:白忠建编写日期:2010-1-15 审核人(教学副院长):傅彦一、课程性质和目标授课对象:本科1年级课程类别:学科基础课教学目标:软件工程专业除了强调计算思维、算法设计与分析能力等能力以外,还强调程序设计与实践能力,因此编程动手能力是衡量软件工程专业本科生专业技能的标准之一。
《面向对象程序设计》是软件工程本科生的一门专业选修课,是在程序设计基础( C 语言)后的一门重要的后续课程,它是为学生掌握当前最基本的面向对象程序设计方法而设置的。
面向对象程序设计对降低软件的复杂性,改善其重用性和可维护性,提高软件的生产率,有着十分重要的意义。
通过本课程的学习,除了使学生掌握C++基本语法规则,能够使用C++进行程序设计以外,更重要的是使学生理解面向对象的三个核心概念(即数据封装、继承、多态),使学生理解面向对象程序设计思想,培养学生的面向对象软件分析和设计能力,为学生毕业后从事本专业范围内各项软件开发工作奠定坚实的实践基础。
二、课程内容安排和要求(一)教学内容、要求及教学方法第1章C++编程简介(0.5 学时)1)基本内容C++的发展过程;结构化程序设计和面向对象程序设计的区别;简单介绍面向对象程序设计的三大特点:封装、继承和多态;结合集成开发工具Visual C++ 6.0简要说明C++程序的基本开发流程;基本的I/O操作(cin、cout的基本使用方式)。
2)达到的要求了解C++的基本概念;了解面向对象技术的三大特点;学会Visual C++ 6.0开发工具开发C++程序的基本过程;掌握cin、cout的基本用法。
3)重点难点重点:C++流的概念和基本使用难点:无4)教学方法以介绍PPT内容为主。
第2章数据类型与表达式(1学时)1)基本内容复习在C语言中已经学习过的各种数据类型、运算符以及表达式;布尔类型的基本用法;C++的常变量,以及与C语言符号常量的异同。
《面向对象程序设计》教学大纲
《面向对象程序设计》教学大纲面向对象程序设计(Object-Oriented Programming,OOP)是一种计算机编程的范式,它以对象作为程序的基本单元,通过封装、继承和多态等机制来组织和管理代码。
面向对象程序设计的方法论和技术在软件开发领域中得到广泛应用,是培养学生计算机编程能力和软件开发思维的重要环节。
本文介绍《面向对象程序设计》的教学大纲。
一、课程目标和学习要求1.目标:本课程旨在培养学生具备面向对象程序设计的思维方式和技术,能够熟练运用面向对象的编程语言进行软件开发和问题解决。
2.学习要求:(1)了解面向对象程序设计的概念和基本原则;(2)掌握面向对象编程语言的基本语法和常用类库;(3)能够设计和实现简单的面向对象程序;(4)具备分析和解决问题的能力,并能将问题抽象为面向对象的模型;(5)了解面向对象程序设计的发展和应用领域。
二、教学内容与学时安排1.面向对象程序设计概述(2学时)(1)面向对象的基本概念;(2)面向对象与面向过程的对比;(3)面向对象的优势和局限性。
2.面向对象编程语言概述(4学时)(1)常见的面向对象编程语言;(2)面向对象编程语言的特点和发展历程;(3)选择合适的面向对象编程语言的原则和方法。
3.类和对象(8学时)(1)类的概念和特点;(2)封装、继承和多态的基本概念和实现方式;(3)类和对象的关系;(4)类的设计原则和实践。
4.类和对象的实现(10学时)(1)类和对象的成员变量和成员函数;(2)构造函数和析构函数的作用和使用方法;(3)静态成员和静态方法;(4)访问控制修饰符的使用。
5.继承和多态(10学时)(1)继承的概念和实现方式;(2)派生类和基类的关系;(3)多态的概念和实现方式;(4)虚函数和纯虚函数的作用和使用方法;(5)多态的实现原理和使用场景。
6.异常处理(6学时)(1)异常的概念和处理方式;(2)异常处理的语法和机制;(3)异常处理的设计原则和实践。
面向对象程序设计(Java)课程教学大纲(软件工程)
面向对象程序设计(Java)教学大纲一、说明(一)课程性质本课程是计算机科学与技术(软件工程)专业的专业必修课,是软件开发类的主要基础课程。
(二)教学目的本课程通过讲授Java语言的基础知识、最新技术和Java程序的设计开发方法,使学生理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作,熟悉Java平台的基本框架及体系结构,能独立、比较熟练地用Java技术和主流IDE进行中小规模的程序设计和开发,为后续课程及大中型应用软件的研究、设计打下基础。
(三)教学内容知识方面:了解Java语言程序设计基础知识,Java语言的产生背景及其主要特点,掌握Java 语言的数据类型、常量、变量、表达式,掌握Java语言的程序控制结构、以及字符串、数组等,理解Java面向对象编程的基本思想及其特征,掌握图形编程、事件处理、Swing用户界面设计;掌握部署应用程序和Applet、异常处理与调试技巧;了解泛型程序设计、集合框架;掌握多线程编程知识,Java输入输出流,了解网络编程和数据库开发知识。
技能方面:会独立编写简单的Java应用程序;会独立编写简单的Java小应用程序(Java Applet);能应用AWT和Swing常用组件设计图形化用户界面;掌握Java异常处理机制的简单应用;能编写简单的多线程程序;掌握使用Java输入输出流,能实现对文件的处理。
掌握JDBC,能够对数据库进行处理。
(四)教学时数108学时(课堂授课:36学时;实验:72学时)/ 4学分。
(五)教学方式多媒体教学、上机试验。
二、本文理论部分第1章Java程序设计概述与环境教学要点:了解Java语言的发展历程;掌握Java语言的基本特点;了解Java虚拟机和Java运行系统;了解Java程序编写规范等;了解Java开发环境及常用编辑软件。
教学时数:2学时。
教学内容:1.1 Java的发展及其特点(0.5学时)Java程序设计平台、Java“白皮书”的关键术语、Java发展简史、以及关于Java的常见误解。
《面向对象程序设计》教学大纲
《面向对象程序设计》教学大纲一、课程概述面向对象程序设计是计算机科学与技术专业的一门重要的专业基础课程。
本课程旨在使学生掌握面向对象程序设计的基本概念、方法和技术,培养学生运用面向对象的思想进行程序设计和开发的能力,为后续的专业课程学习和实际项目开发打下坚实的基础。
二、课程目标1、知识目标理解面向对象程序设计的基本概念,如对象、类、封装、继承、多态等。
掌握面向对象编程语言(如 C++、Java 等)的语法和特性。
了解面向对象程序设计的基本原则和设计模式。
2、能力目标能够运用面向对象的方法进行问题分析和设计。
能够使用面向对象编程语言实现简单的程序设计和开发。
具备良好的代码规范和编程习惯,能够编写高效、可靠的代码。
3、素质目标培养学生的逻辑思维能力和创新意识。
提高学生的团队协作能力和沟通能力。
培养学生的自主学习能力和解决问题的能力。
三、课程内容1、面向对象程序设计基础面向对象的概念和特点对象和类的定义与使用类的成员变量和成员函数对象的创建和销毁2、封装与信息隐藏访问控制修饰符的使用类的封装实现构造函数和析构函数3、继承与多态继承的概念和实现基类和派生类的关系多态的实现机制(虚函数、动态绑定)4、模板与泛型编程函数模板和类模板模板的特化和偏特化5、异常处理异常的概念和分类异常的抛出和捕获自定义异常类6、标准模板库(STL)容器类(vector、list、map 等)迭代器的使用算法库(排序、查找等)7、面向对象程序设计实践综合案例分析与设计小组项目开发四、教学方法1、课堂讲授通过讲解、演示和示例,向学生传授面向对象程序设计的基本概念、原理和技术。
2、实践教学安排实验课程,让学生通过实际编程练习,巩固所学知识,提高编程能力。
3、案例教学通过实际案例的分析和讨论,引导学生运用面向对象的思想解决问题。
4、小组讨论组织学生进行小组讨论,促进学生之间的交流和合作,培养团队协作能力。
5、在线学习利用在线学习平台,提供丰富的学习资源,方便学生自主学习和拓展知识。
面向对象程序设计语言课程实验教学大纲.doc
《面向对象程序设计语言》课程实验教学大纲实验课名称:面向对象程序设计语言英文名称:Object Oriented Programming Language课程性质:专业方向课;非独立设课课程编号:04041137适用专业:信息管理与信息系统、本科生、开课为第四学期等。
采用教材:作者名称,课程名称,出版社,出版地,出版年份学时学分:课程总学时(64)课程总学分(4)实验课总学时(32)大纲主笔:李山实验指导书:《面向对象程序设计语言实验指导书》。
一、实验课程的任务与要求(五号宋体加粗)其目的是通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,能比较熟练地用C++语言进行一般面向对象的程序设计,并掌握面向对象编程环境Visual C++的使用。
二、实验设备及要求硬件:计算机;软件:Visual Studio 6. 0三、实验考核(1)实验报告:包括书面实验报告、上机程序代码。
书面实验报告包括:每次上机的内容、结果、附件文件。
(2)考核方式:通过直接检查实验报告、程序代码确定实验成绩。
实验课考核成绩包括“程序运行的正确性(40%)”、“程序设计的思想性(40%)”、“程序书写的规范性(20%)”。
实验课成绩占课程总成绩的比例是20%。
四、课程教材及参考书教材:郑莉,董渊,张瑞丰,《C++语言程序设计》,北京,清华大学出版社,2003。
参考书:Bruce Eckel, Thinking in C++, Prentice Hall Inc, 2000。
五、实验项目与内容提要序号实验项目内容提要实验性质实验时数每组人数备注1简单程序设计了解Visual Studio 6. 0 基本开发环境,C++基本程序结验证性21必开2函数(基本构成)函数的基本构成、定义、调用。
验证性21必开3函数(参数与重载)重载,形参与实参的区别。
验证性21必开4类与对象(基本定义)类的声明,成员函数定义,构造函数与析构函数。
面向对象程序设计教学大纲
面向对象程序设计教学大纲面向对象程序设计范式具有封装、继承、多态等优点,能显著提高程序的可重用性和可扩展性,是现代开发大型应用软件的主要技术。
支持面向对象程序设计范式的程序设计语言有很多,如C++、Java、C#等。
C#是一种简单、现代、通用、完全面向对象的程序设计语言。
它从C/C++发展而来,汲取了C/C++、Delphi、Java等多种语言的精华,具有语法简洁.与Internet紧密结合、安全高效、灵活兼容等优点。
从C#入手,可以更容易体验和感悟现代化程序设讣方法和技术,掌握可重用面向对象软件的开发方法,大幅度提高复杂软件系统的生产率和质量。
本课程按程序设计基础、面向对象概念、实用化编程、综合应用开发等四个阶段逐层递进,从程序知识源头梳理核心概念、从应用程序架构解析实用技术,用C#语言阐述机理,基于.NET框架实现功能,概念与实用齐步,严谨与趣味同在,助力有编程梦想的同学进行进阶式学习。
课程概述1>为什么要学习这门课?面向对象程序设讣范式具有封装、继承、多态等优点,能显著提高程序的可重用性和可扩展性,是现代开发大型应用软件的主要技术。
支持面向对象程序设计范式的程序设计语言有很多,如C++、Java. C#等。
C#是一种简单、现代、通用、完全面向对象的程序设计语言。
它从C/C++发展而来,汲取了C/C++、Delphi. Java等多种语言的精华,具有语法简洁.与Internet紧密结合、安全高效、灵活兼容等优点。
从C#入手,可以更容易体验和感悟现代化程序设讣方法和技术,掌握可重用面向对象软件的开发方法,大幅度提高复朵软件系统的生产率和质量。
2、这门课的主题是关于什么?本课程从C#语言的角度介绍面向对象程序设计范式,内容包括面向对象技术的发展背景和程序设计的四个层次。
第一个层次是以变量和过程为设计元素的数据表示及其操作、操作流程控制等基础程序设讣;第二个层次是以类为设计工具的对象、继承、多态、接口等面向对象程序设计;第三个层次是基于现成类库的实用化程序设计,包括科学计算、文字处理、图形、文件、数据库,以及泛型、集合、事件驱动等;第四个层次是涉及桌面应用开发的综合应用程序设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计语言》(含实验)教学大纲一、课程基本信息课程编号:2032106课程英文名称:Object-oriented programming language课程类型:学科专业主干课程(必修)学时/学分:72/3开课学期:第二学期考核方式:闭卷考试先修课程:计算机导论及计算机操作基础选用教材:《C++ 程序设计教程》. 郑莉. 机械工业出版社,2001年7月.主要参考书:1.《《C++面向对象程序设计》. 谭浩强. 中国铁道出版社,2006年.2.《C++ 程序设计教程. 钱能. 清华大学出版社,1999年4月.3.《C++ Primer》. 第三版. Stanley B Lippman JoseeLajoie著. 潘爱民张丽译. 中国电力出版社,2005年2月.二、课程性质、目的和任务C++程序设计语言是计算机应用类专业的一门专业必修课。
面向对象软件开发方法是吸收了软件工程领域的概念和有效的方法而发展起来的一种软件开发方法。
它集抽象性、封装性、继承性和多态性于一体,可以帮助人们开发出模块化、数据抽象程度高的,体现信息隐蔽、可复用、易修改、易扩充等特性的程序。
本课程主要介绍面向对象程序设计的方法和 C++ 语言的基本概念。
以 C++ 语言中的面向对象机制为主。
学习者在学习过程中可以通过大量的程序实例和相关练习,逐步掌握 C++ 的面向对象的功能,从而掌握面向对象程序设计的基本知识和基本技能。
通过本课程的学习,可以使学生熟悉面向对象 C++ 语言发展的历史、为什么要面向对象、面向对象语言分类、 C++ 中支持面向对象的特点及面向对象的软件开发环境 Microsoft Visual C++ ,理解和掌握面向对象程序设计( OOP )的基本思想及基本概念:抽象、继承、封装、多态性,掌握使用 C++ 语言进行面向对象编程的技术:函数重载、运算符重载、内联函数、虚函数、友元函数,编写实现“继承”和“多态性”的 C++ 程序,初步认识 VC++ 应用程序设计方法及过程。
三、课程学时分配四、理论课教学内容及要求第一章概述(1学时)【教学目的及要求】掌握:C++程序的开发步骤和基本的输入输出。
熟悉:VC++6.0集成开发环境各组成部分及其操作方法。
【教学重点】C++的开发步骤,基本输入输出,VC++6.0的开发环境的使用。
【教学难点】基本输入输出和VC++6.0的开发环境。
【讲授内容】第一节 C++的起源第二节 C++语言与C语言的关系第三节 C++语言与面向对象的程序设计第四节 C++程序的开发步骤第五节简单C++程序第六节基本输入输出第七节注释第二章 C++语言编程基础(4学时)【教学目的及要求】掌握:基本的数据类型、变量与常量;数组;运算符和表达式;数据类型转换和控制语句。
熟悉:基本的数据类型、表达式、控制语句。
【教学重点】基本的数据类型、变量与常量;数组;运算符和表达式;数据类型转换和控制语句。
【教学难点】数据类型、变量与常量;数组;运算符和表达式;控制语句。
【讲授内容】第一节字符集第二节词法记号和空白一、词法记号二、空白第三节基本数据类型第四节变量与常量一、变量二、常量第五节枚举类型第六节数组类型第七节关键字typedef第八节运算符第九节表达式第十节数据类型转换第十一节控制语句第十二节选择语句第十三节循环语句第十四节转移语句第三章函数(4学时)【教学目的及要求】掌握:函数的定义调用、参数的传递、内联函数、缺省值、作用域、重载。
熟悉:系统函数、递归调用。
【教学重点】函数的定义调用、参数的传递、内联函数、缺省值、作用域、重载。
【教学难点】参数的传递,作用域,重载。
【讲授内容】第一节函数的定义及调用一、定义函数二、声明函数三、函数调用四、函数调用的执行过程第二节函数调用时参数的传递第三节内联函数第四节带默认形参值的函数第五节作用域一、作用域二、局部变量与全局变量第六节递归调用第七节函数重载第八节系统函数第四章类与对象(4学时)【教学目的及要求】了解:面向对象的程序设计的相关概念。
掌握:类的声明、对象定义、构造函数析构函数、静态成员、友元、常对象、常成员。
熟悉:组合类、类的作用域及对象的生存期。
【教学重点】类的声明、对象定义、构造函数析构函数、静态成员、友元、常对象、常成员。
【教学难点】构造函数析构函数、静态成员、友元、常对象、常成员、组合类、类的作用域及对象的生存期。
【讲授内容】第一节概述第二节类的声明第三节声明对象第四节构造函数与析构函数一、构造函数二、析构函数第五节类的组合第六节静态成员一、静态数据成员二、静态成员函数第七节友元一、友元函数二、友元类第八节常对象、常成员函数与常数据成员一、常对象二、常数据成员三、常成员函数第九节类的作用域及对象的生存期一、类作用域二、对象生存期第五章指针与引用(4学时)【教学目的及要求】掌握:指针的定义及使用、动态分配内存、指针访问数组元素、引用、按引用方式传递参数。
熟悉:字符串处理函数、指针与引用的关系。
【教学重点】指针的定义及使用、动态分配内存、指针访问数组元素、引用、按引用方式传递参数。
【教学难点】指针的定义及使用、动态分配内存、指针访问数组元素、引用、按引用方式传递参数。
【讲授内容】第一节指针一、数据存储二、指针的声明及使用三、指针运算四、与对象有关的指针五、void和const指针第二节动态内存分配一、运算符new二、运算符delete第三节指针与数组一、用指针访问数组元素二、指针数组与数组指针第四节指针与函数一、指针作为函数的参数二、返回指针的函数三、函数指针四、带参数的主函数main()第五节字符串处理函数第六节引用第七节引用与函数一、把引用用作函数参数二、返回引用的函数三、拷贝构造函数与对象的引用调用第八节指针与引用第六章继承(6学时)【教学目的及要求】了解:继承的含义,掌握派生类的定义方法和实现;公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员;保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员。
掌握:单继承、多继承中的构造函数和析构函数、二义性问题。
【教学重点】继承的含义,掌握派生类的定义方法和实现;公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员;保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员。
【教学难点】单继承、多继承中的构造函数和析构函数、二义性问题。
【讲授内容】第一节继承与派生第二节单继承一、公有派生二、私有派生三、保护派生第三节多继承第四节派生类的构造函数与析构函数第五节二义性问题第六节虚基类第七节赋值兼容原则第七章运算符重载(6学时)【教学目的及要求】掌握:运算符重载的概念;几个常用运算符的重载方法。
【教学重点】常用运算符的重载方法。
【教学难点】常用运算符的重载方法。
【讲授内容】第一节运算符重载的语法第二节一元运算符第三节二元运算符的重载第四节特殊的运算符一、=运算符的重载二、++和--运算符的重载三、new 和delete运算符的重载四、[]的重载第八章多态与虚函数(2学时)【教学目的及要求】了解:抽象类的概念。
理解:多态性概念。
掌握:虚函数和纯虚函数的概念。
【教学重点】虚函数和纯虚函数的概念。
【教学难点】虚函数和纯虚函数的使用。
【讲授内容】第一节多态性概述第二节虚函数第三节抽象类第四节虚析构函数第五节综合实例第九章容器类(2学时)(选讲)【教学目的及要求】了解:常见的排序和查找算法。
理解:容器类的概念。
掌握:栈和队列模板。
【教学重点】容器类、栈和队列模板。
【教学难点】栈和队列模板。
【讲授内容】第一节数组类与链表类一、可直接访问的线性容器——数组类二、顺序访问容器——链表类第二节线性表、栈与队列一、线性表二、栈和队列第三节排序与查找一、排序二、查找第十章模板与标准模板库(4学时)【教学目的及要求】了解:标准模板库。
理解:模板的概念。
掌握:函数模板和类模板。
【教学重点】函数模板和类模板。
【教学难点】函数模板和类模板。
【讲授内容】第一节函数模板第二节类模板第三节标准模板库第十一章I/O流(4学时)【教学目的及要求】了解:C++的流,包括C++的预定义流;一般I/O流和文件流的关系;了解文件与文件流的关系;文件系统的概念,包括文件指针和关于文件的操作。
掌握:文件类的定义和相关操作的定义、使用方法;利用常用函数进行文件的打开、关闭、读写、定位等操作。
【教学重点】C++的流,一般I/O流和文件流的关系;了解文件与文件流的关系;文件系统的概念。
【教学难点】文件类的定义和相关操作的定义、使用方法;利用常用函数进行文件的打开、关闭、读写、定位等操作。
【讲授内容】第一节输入/输出流概述第二节标准输入/输出流第三节输入/输出格式控制第四节文件输入/输出第五节用户自定义类型的输入/输出第六节综合实例第十二章异常处理(2学时)【教学目的及要求】熟悉:标准库中的异常类;掌握:异常处理的使用。
【教学重点】异常处理的使用。
【教学难点】异常的处理。
【讲授内容】第一节异常处理的基本语法第二节异常处理的使用第三节标准C++库中的异常类五、实验课教学内容及目的实验项目设置及教学安排表注:实验类型:基本操作型、演示型、验证型、综合型、设计型等。
实验类别:基础、专业基础、专业实验要求:必做、选做实验一概述(1学时)【实验目的】1.熟悉VC++6.0的开发环境。
2.掌握C++的基本语法和输入输出。
【实验要求】•掌握VC++6.0的开发环境和基本的输入输出。
【实验题目】1.打开VC++6.0的开发环境。
2.编辑C++源程序3.链接运行源程序实验二 C++语言编程基础(2学时)【实验目的】1.掌握C++的基本语法和基本控制语句。
【实验要求】1.掌握基本数据类型、变量与常量;数组;运算符和表达式;数据类型转换和控制语句。
2.熟悉基本的数据类型、表达式、控制语句。
【实验题目】1.写一条for语句,计数条件为n从100到200,步长为2;然后用while和do…while 语句完成同样的循环。
2.已知x、y两个变量,写一条简单的if语句,把较小的的值赋给原本值较大的变量。
3.编写一个程序,运行时提示输入一个数字,再把这个数字显示出来。
4.C++有哪几种数据类型?简述其值域。
编程显示你使用的计算机中的各种数据类型的字节数。
5.打印ASCII码为32~127的字符。
6.运行下面的程序,观察其输出,体会i++与++i的差别。
#include <iostream.h>int main(){int myAge = 39; // initialize two integersint yourAge = 39;cout << "I am: " << myAge << " years old.\n";cout << "You are: " << yourAge << " years old\n";myAge++; // postfix increment++yourAge; // prefix incrementcout << "One year passes...\n";cout << "I am: " << myAge << " years old.\n";cout << "You are: " << yourAge << " years old\n";cout << "Another year passes\n";cout << "I am: " << myAge++ << " years old.\n";cout << "You are: " << ++yourAge << " years old\n";cout << "Let's print it again.\n";cout << "I am: " << myAge << " years old.\n";cout << "You are: " << yourAge << " years old\n";return 0;}7.编写一个完整的程序,运行时向用户提问"你考试考了多少分?(0~100)",接收输入后判断其等级,显示出来。