面向对象的互动教学-浅谈高职高专《大学语文》教学设计

2024-10-15

面向对象的互动教学-浅谈高职高专《大学语文》教学设计(通用12篇)

面向对象的互动教学-浅谈高职高专《大学语文》教学设计 篇1

高职学校面向对象软件工程实践教学的改革探索

介绍面向对象软件工程的教学方法与实践的改革,详细地分析面向对象软件工程教学的现状及存在的问题.提出课程教学改革的.思路和方法,并对考核方式做相应的改革.

作 者:张玉娜 作者单位:四平职业大学计算机系,吉林,四平,136002刊 名:硅谷英文刊名:SILICON VALLEY年,卷(期):“”(7)分类号:G42关键词:面向对象 软件工程 教学模式 培养目标 改革 实践

面向对象的互动教学-浅谈高职高专《大学语文》教学设计 篇2

关键词:面向对象,封装,教学设计,教学目标,教学方法,信息化手段

1 课程介绍

首先介绍本次课程的背景、主题、课时、先行后续章节, 明确课程地位。

1) 图文结合, 以手机为例阐述封装概念: 隐藏对象的属性和实现细节, 仅对外公开接口, 控制在程序中属性的读取和修改的访问级别。

2) 本课主题是面向对象之封装, 属于Java程序设计课程中的一个章节, 开设专业为计算机软件专业, 安排课时为2 课时理论课。

3) 本课时的先行章节有Java相关知识与运行环境搭建;Java基础语法与流程控制;面向对象初探———类和对象。 后续章节有面向对象核心思想之继承与多态以及面向对象之接口。

2 教学分析

2.1 教学设计思路

教学内容不仅仅包括教材内容的综合, 还包括教学目标的确定、教学方法的设计、信息化手段的支撑。 我的设计思路如下:首先, 进行市场调研, 根据职业现状, 确定专业岗位, 制定人才培养方案, 这是我们进行教学内容设计的重要依据;归纳岗位中的典型任务, 提出相应的专业能力要求, 通过细化分析, 确定教学目标;根据学情调查和课程标准, 进行教学设计;利用多种信息化手段, 实行课堂教学实施;完成教学后, 再进行评价反馈和完善。

2.2 教学目标

本课的知识目标包括:什么是封装;为什么要封装;怎样实现封装。其中怎样实现封装既是本课的重点, 也是难点。本课的能力目标要求学生体会面向对象程序设计思想, 编写模块化程序。

2.3 学情分析

本课程面向计算机软件专业大一下学期的学生, 高职学生的学习特点可以总结如下:他们的专业学习热情尚处于培育期, 要求养成课前预习的习惯;他们初具编程能力, 喜欢模拟真实的工程项目;对动手操作有热情, 借此强化实践, 提高兴趣;理论知识方面欠佳, 需要理论和实践结合的教学。

2.4 教学策略

基于以上情况, 确定了以学生为中心, 项目导向型的教学策略。教学以项目为载体进行, 具体的工作项目与任务使教学目标一目了然, 比起传统章节式教学, 更能引发高职学生的学习热情。 信息化支撑的手段包括网站、软件平台、多媒体课件、试题库与多种与学生交互方式。

3 教学过程

教学过程包括课前探索、课堂实践和课后拓展。其中90 分钟的课堂安排如下:问题讨论 (15 分钟) 、理论介绍 (25 分钟) 、项目规划 (5 分钟) 、项目实施 (40 分钟) 、总结与讨论 (15 分钟) 。

1) 课前探索:预习、思考、讨论

提前布置预习任务, 学生通过课本预习, 初步了解面向对象特性。了解对象所具有的属性与行为。让学生试体会在程序中如何通过代码来设置或执行属性和行为。

总结问题如下:如何理解属性和行为的权限;为什么说直接向属性赋值是不良的编程习惯, 正确的方式又该是怎样的;如何理解对象所能执行的行为。

2) 课堂实践

理论介绍:本课内容属于教材的项目五———学生基本信息管理中的一个任务。 通过面向对象程序设计, 实现对学生基本信息的统计与显示。 其中运用到的封装知识点用来构造学生对象。

问题讨论:通过举例说明、现场编程解答学生提出的问题。

问题1:如何理解属性和行为的权限。

通过对封装概念的介绍, 学生对权限的定义有了初步了解。 然后讲解具体的权限定义关键字:private、public、protected、friendly, 每个关键字所能修饰的元素以及具体的范围如何理解。此时也运用到了上次课所讲过的继承相关知识。 再通过现场编程, 让学生实际了解权限定义。

问题2:为什么说直接向属性赋值是不良的编程习惯, 正确的方式又该是怎样的。

属性是类的核心, 而程序模块面向用户, 属性应该属于内部结构, 比如手机的内部电路。 如果直接向属性赋值, 则相当于对程序内部结构的破坏, 所以说是不良的编程习惯。 正确的方式是使用getter/setter方式对属性进行封装, 提供接口以便于进一步操作。

问题3:如何理解对象所能执行的行为。

对象能执行的行为包括预定义方法和自定义方法。其中预定义方法需要从API引入, 则涉及到包的组织、继承、封装等综合性知识。

最后通过互联网等知识平台, 补充封装在现实软件设计中所起到的作用。

项目规划:理论知识介绍完毕之后, 进行具体的项目规划, 首先引导学生进行项目分析, 明确项目内容, 细化项目任务, 要求学生自主完成项目结构与流程图 (可通过互联网与教学资源网获取参考资料) 。

项目实施:根据项目结构图, 以教师为主导, 完成本课时的任务模块———实现访问控制。本任务将在上次课的基础上, 重新定义学生类, 对学生及其不同成员定义不同的访问权限, 并封装学生个人的基本信息。另外, 在实践的过程中, 教师提出问题:实例变量和类变量, 实例方法和类方法之间的区别和联系? 引导学生思考, 并回答问题。

总结与讨论:教师对本课时的知识点作逐一回顾, 再次强化重难点———为什么要封装, 如何实现封装。学生通过本课时学习, 应掌握以上知识点并作答。 学生需要完成的配套训练, 将在相应2 课时的上机课时中完成。教师布置上机项目, 学生通过课后设计、编写, 上机调试, 进一步熟练掌握知识点的实际编程运用。

3) 课后拓展

教师为学生提供了多种教学资源与教学场所, 学生需通过动手编程、设计项目来巩固本课所学知识点, 为上机课做好准备。

4) 考核与评价

本课程考核分为三部分:理论掌握度50%+项目分析与规划能力30%+项目实施能力20%。

5) 特色与创新

本课程以职业能力培养为目标, 实现了教做学评为一体, 以工作过程为指导, 实施项目有应用价值, 提供丰富的教学资源, 构建多元化评价体系。

课程的改革思路如下:

(1) 强化工学结合的教学理念, 加强项目的实用度建设。

(2) 建设精品课程与教学网站, 打造优良的师资团队。

(3) 建立基于企业项目开发的学生技能实践达标的在线考核平台, 实时反馈学生学习程度。

4结束语

计算机专业具有技术性强、知识更新快、就业分散的特点。高职院校重点是培养职业人才, 其教学应与一般本科院校有所区别。 就计算机教学而言, 应该具有独特的职业计算机教学特色, 要提高自身竞争能力, 要求学生适应能力强, 有创新精神, 逐步提高职业素养, 培养较强的实际动手能力。 除了掌握基础的计算机理论知识外, 更重要的应具有勤奋踏实、吃苦耐劳的精神, 高职院校的计算机专业在进行人才培养中应结合市场需求和岗位需要, 积极探索实践教学新途径, 建立完整的一体化的实践教学体系。 以“精理论、重能力、多实践、求创新”的办学理论为指导思想。 重视实践和应用, 促进学生专业素养的提升。教学过程中, 重在培养学生的编程思想, 提高动手能力, 理论课教学之中要随时注意这一点。

参考文献

[1]薛贵军.Java语言程序设计教程{M].华南理工大学出版社, 2014, 7.

《面向对象程序设计》教学大纲 篇3

课程名称:面向对象程序设计 英文名称:Object Oriented Programming)学分:2 总学时:36 实验(上机)学时: 8 开课专业:电子商务专业

一、本课程的性质、目的和培养目标

面向对象程序设计是电子商务专业的限定选修课程。面向对象程序设计是当今最为流行的程序设计方法,本课程以C++语言为核心,全面概述面向对象程序设计的基本概念和基本技术。主要内容包括:理解和掌握面向对象程序设计的基本思想和技术,掌握C++中的引用和函数重载、类与对象、静态成员与友元、运算符重载、继承与派生类、多态与虚函数等重要概念和技术。通过教学要求学生基本掌握面向对象的程序设计方法,认识C++是如何支持面向对象程序设计的,培养、训练学生运用面向对象技术进行程序设计的能力。

二、预修课程

计算机语言与程序设计

三、课程内容及学时分配

第一章 从C语言到C++语言

1.C++语言出现的历史背景(OOP思想概述)2.C++中的注释、常量和输入输出 3.C++中的变量定义与作用域 4.C++中的函数 5.C++中的指针与引用

本章学时数:4,本章习题数:4 第二章 类与对象 1.类 2.对象

3.构造函数和析构函数 4.对象及其应用 5.对象的生存期 6.再论程序结构 7.面向对象程序设计

本章学时数:6,本章习题数:6 第三章 静态成员与友元 1.拷贝构造函数 2.静态数据成员 3.静态成员函数 4.友元函数

本章学时数:6,本章习题数:6 第四章 运算符重载 1.运算符重载的概念 2.运算符重载举例

本章学时数:4,本章习题数:4 第五章 继承与多态 1.继承的概念 2.单继承 3.多态与虚函数

4.类的分解(类的层次设计)5.抽象类与纯虚函数

本章学时数:6,本章习题数:6 第六章 I/O流库简介 1.C++流库的结构 2.输入与输出 3.格式控制 4.文件

本章学时数:2,本章习题数:2

四、实验(上机)内容和建议学时分配 实验1(4学时)

要求:定义类,该类至少应包括静态数据成员和静态成员函数,要求通过本实验掌握定义类的基本方法。实验2(4学时)

要求:通过本实验掌握函数重载、友元函数、继承、虚函数等的基本使用方法。

五、教材和参考书目

1.《C++语言基础教程》,吕凤翥编著,清华大学出版社,1999 2.《C++程序设计教程》,钱

能主编,清华大学出版社,1999 3.《The C++ Programming Language》(Third Edition),Bjarne Stroustrup,Addison-Wesley,1997

六、课外学习要求

要求课前预习下一次课的讲课内容,课后复习本次课的讲课内容并通过相应的作业加以消化。

七、考核方式

面向对象的互动教学-浅谈高职高专《大学语文》教学设计 篇4

课程编码:030551002 学时/学分: 2周/4学分

一、大纲使用说明

本大纲根据计算机科学与技术专业2010版教学计划制订。

(一)适用专业 计算机科学与技术。

(二)课程设计性质 考查。

(三)主要先修课程和后续课程 先修课程:《C语言程序设计》

后续课程:《Windows程序设计》、《开发工具》

二、课程设计目的及基本要求

《面向对象技术课程设计》是信息科学与工程学院计算机科学与技术专业的一门重要的实践环节课程,面向对象技术课程设计是一个对实践环节有求较高的课程。进行面向对象技术课程设计,一方面通过集中性的编程训练,使学生系统地掌握如何将客观实际问题与面向对象的编程语言及开发工具对应起来,将理论概念的学习转变成具体的程序开发的方法。另一方面,通过编写课程设计报告,锻炼学生编写文挡的能力,培养学生初步具备软件工程的基础技能。

在进行面向对象课程设计的过程中,学生应该具备五个方面的能力。

(1)应该掌握面向对象的基本概念与理论。

学生应该掌握面向对象的基本概念与理论,重点为面向对象系统的封装性、继承性和多态性理论。

(2)应该具备算法的设计能力。

学生应该掌握算法与数据结构的设计能力,重点为在类的成员函数的设计过程中,对于某一具体功能设计相应的算法。

(3)应该具备类的设计能力。学生应该具备类与对象的设计能力,重点为如何针对给定的问题设计相应的类的成员以及类之间的关系。

(4)应该具备高级语言编程能力。

学生应该具备高级语言编程能力,主要是指使用高级语言编程解决各种问题的能力。(5)编写课程设计报告的能力。

最终应该掌握编写课程设计报告等相关软件文档的能力,如何采用条理清楚、格式规范的方法编写课程设计报告,将自己的课程设计成果进行论述与总结也是非常重要的。

三、课程设计内容及安排

课程设计内容主要依托于面向对象技术课程,课程设计题目涉及了众多类的设计问题,具体内容应该由课程设计指导书进行详细阐述。

实现指定类和对象的设计,添加要求的属性于方法,完成相应的测试,如有理数类、矩阵类、人员信息类、图形化计算器及界面程序,提高对构造类、继承、多态、文件等知识点的掌握程度。课程设计的具体实施安排可以采用两种形式,一种是每人独立完成分配给自己的课程设计题目,这适用于题目工作量要求不高的情况;另一种是采用分组的方式,将学生2~3人为一组,完成一组综合题或一道工作量要求较高的题目。具体采用哪种方式可以在进行课程设计安排时可 1

以灵活掌握,要注意的是尽量争取学生课程设计的题目不一样,从而避免课程设计成果雷同,降低课程学习效果。

通过两周的课程设计,学生完成面向对象技术课程设计题目,教师最终对学生提交的软件和课程设计报告进行验收。

四、指导方式

(1)教师提供设计题目,讲解题目要求,提示主要设计路线。

(2)将学生分组,选定设计题目,完成综合题目设计与编码。

(3)题目涵括面向对象基础及个知识点理论内容,如类与对象的设计、继承、多态、文件和简单MFC程序设计。

五、课程设计考核方法及成绩评定

1.考核方法:教师检查设计结果,教师组织学生答辩。2.成绩评定:

课程总成绩:课程设计最终的成绩=学生出勤成绩×20%+课程设计答辩成绩×40%+课程设计论文成绩×40%。课程设计的成绩可以采用百分制整数形式,也可采用优良制形式。在采用优良制成绩时,由计算出的百分制成绩转换成相应的优良制成绩。

六、课程设计教材及主要参考资料

《C++程序设计课程设计》(第2版),刘燕君 刘振安 张一叶 编著,机械工业出版社,2010年1月

《C++程序设计实验指导与课程设计》,郭有强 张怡文等 编著,清华大学出版社,2009年4月

《C++语言程序设计案例教程》,郑莉 编著,清华大学出版社,2005年6月

面向对象的互动教学-浅谈高职高专《大学语文》教学设计 篇5

教学目标:了解面向对象程序设计方法的基本原理及主要特点——抽象性、封装性、继承性、多态性。掌握类和对象的概念以及如何用类来解决具体问题并在类的基础上如何派生出新类,以及重载的概念和作用。

教学类型:在多媒体教室直观讲授,引导学生进行类的操作。教学内容:

复习上次课

5.5类的继承

Visual Basic.NET支持类的继承,允许用户定义一个类,作为其他类继承的依据,继承类能够继承,扩充基本类的属性和方法,继承类也可以重载基本类的一些方法。

例如,把窗体看成一个类,在Vissal Basic.NET中用户可以根据现有的窗体继承出一个新的窗体。其中已有类叫做基类(父类),继承的新类叫做派生类(子类)。

1、实现基本的继承

下面通过例子进一步说明为什么要使用继承。

要描述人和雇员,对于每一个人来说都有姓名、年龄、性别等信息,对于公司雇员有以上内容以外还有雇员的工作部门及薪水等信息。当分开来实现这两个类的时候,就会发现其实它们有许多相同之处。如果分开编写这两个类的代码,不仅编写效率低,而且程序代码也难以维护,所以最好的方法就是让它们使用一些相同的代码,此时继承就可以发挥作用了。使用继承,可以创建一个Person类(基类),它包含了name(姓名)、age(年龄)、sex(性别)等属性所有的共享代码。然后再创建employee派生类,这个类是由person类继承而来的,这样它们就可以自动地获得所有的公用代码了。

【例5.3】建立person类及它的派生类employee类。Public Class person

Public sname, Iage, ssex

Public Property name()As String

Get

Return sname

End Get

Set(ByVal value As String)

sname = value

End Set

End Property

Public Property age()As Integer

Get

Return Iage

End Get

Set(ByVal value As Integer)

Iage = value

End Set

呼伦贝尔学院—— 计算机科学与技术学院

End Property

Public Property sex()As String

Get

Return ssex

End Get

Set(ByVal value As String)

ssex = value

End Set

End Property End Class Public Class employee

Inherits person

Dim Ssalary As Single

Public Property salary()As Single

Get

Return Ssalary

End Get

Set(ByVal value As Single)

Ssalary = value

End Set

End Property

Sub Displayemployee()

Debug.WriteLine(“雇员的姓名:” & name)

Debug.WriteLine(“雇员的性别:” & sex)

Debug.WriteLine(“雇员的年龄:” & age)

Debug.WriteLine(“雇员的薪水:” & salary)

End Sub End Class Module Module1

Sub Main()

Dim aemployee As New employee()

aemployee.name = “王强”

aemployee.sex = “男”

aemployee.age = 25

aemployee.salary = 3600.0

aemployee.Displayemployee()

End Sub End Module

2、禁止继承

在默认状态下,创建的任何类都是可以用作基类,可由这个基类创建其他的类。但有时需要创建一个不被继承的类,这时可以在类的声明中使用NotInheritable关键字。

Public NotInheritable Class Class_name …… End Class

呼伦贝尔学院—— 计算机科学与技术学院

使用这个关键字后,其他代码都不能使用Inherits关键字来创建一个由这个基类继承二来的子类。

3、基类成员在派生类中的作用域

通过继承性创建子类时,新类将从父类获得所有Public 和 Friend方法、属性及变量。但在父类中声明的Private的任何内容都不能直接应用于新子类的代码中。

例如:可以在上例的person类中重写age方法,代码如下: Private Property age()As Integer

Get

Return Iage

End Get

Set(ByVal value As Integer)

Iage = value

End Set

End Property Age方法声明为private,所以employee类和其他代码都不能使用它。当然也有一个列外,就是New方法,构造函数方法必须在每一个子类中重新定义。

有时public和private并不够用,需要创建一个可以用于子类而不能用于客户代码的方法,此时就可以使用protected作用域。当某些内容声明为protected时,该元素就不能应用于类以外的代码,但可以应用于通过继承派生出的子类。

例如:若将person类当中的name、age、sex属性都声明为 Protected Property name()As String Protected Property age()As Integer Protected Property sex()As string 那么测试程序中的下列代码将不再有效: aemployee.name = “王强” aemployee.sex = “男” aemployee.age = 25 但示例中的name、age、sex属性可以应用于employee中的所有代码,因为它继承了父类。为设置属性,可以在employee中增加一个方法setperson():

Public Class employee

Inherits person

Dim Ssalary As Single Public Property salary()As Single

Get

Return Ssalary

End Get

Set(ByVal value As Single)

Ssalary = value

End Set End Property Sub setperson(ByVal n As String, ByVal a As Integer, ByVal s As String, ByVal c As Single)

name = n

age = a

sex = s

呼伦贝尔学院—— 计算机科学与技术学院

salary = c End Sub

Sub Displayemployee()

Debug.WriteLine(“雇员的姓名:” & name)

Debug.WriteLine(“雇员的性别:” & sex)

Debug.WriteLine(“雇员的年龄:” & age)

Debug.WriteLine(“雇员的薪水:” & salary)

End Sub End Class Module Module1

Sub Main()

Dim aemployee As New employee()

aemployee.setperson(“王强”, 25, “男”, 3600.0)

aemployee.Displayemployee()

End Sub End Module 5.6重载方法

VB.NET具有重载方法的功能,可以利用重载来实现多态性。重载是可以在一个类中可多次声明相同名称的一种方法,只要每个声明都有不同的参数列表即可。其中参数列表不同指的是参数的数据类型不同或参数的个数不同。例如:Public Sub show(ByVal x As Integer, ByVal y As Integer)。

上面show方法的参数列表的参数的类型为(Integer, Integer)。为了重载这个方法,必须使用不同的参数列表,例如(Double,Integer)或(Integer,Double)都可以。重载不能只是通过改变函数的返回值来实现,而是要求实际参数的数据类型不同。

Public Class sum

Public Function add(ByVal a As Integer, ByVal b As Integer)As Integer

Return a + b

End Function

Public Function add(ByVal a As Double, ByVal b As Double)As Double

Return a + b

End Function End Class Module Module1

Sub main()

Dim NO1, NO2 As New sum

Debug.WriteLine(NO1.add(5, 6))

Debug.WriteLine(NO2.add(2.5, 3.6))

End Sub End Module

学生练习:声明一个Shape(形状)基类,在此基础上派生出Rectangle和Circle类,(1)根据给出的矩形的左上角和右下角的坐标计算该矩形的面积;(2)根据给出的圆心坐标计算出圆的面积。

面向对象的互动教学-浅谈高职高专《大学语文》教学设计 篇6

面向对象程序设计的思想, 是软件技术这个专业针对学生培养的重要素质之一。尤其是在高职高专教育的课程体系里面, 面向对象程序设计这门课程在各个高校里面一直都位居举足轻重的位置。

在众多的高等职业教育里面, 计算机软件体系的课程, 尤其是针对软件开发这一体系的课程基本都是先学程序设计基础, 然后开设面向对象程序设计, 从我从事多年的教学经历来看, 学生们在学习程序设计基础这门基础课程的时候对于程序的控制结构比较难以理解, 到了学习面向对象程序设计这门课程的时候, 对类与对象的理解就更加困难了, 尤其是给同学们树立类与对象的思想。

2面向对象程教学内容—类与对象的教学设计

在这门课程的教学当中, 如果不让学生树立面向对象的思维, 那么学生就很难进入本门课程的学习, 学习尤其要注重理解性记忆, 如果全靠死记硬背把概念记住, 是不可能深入学习面向对象的精髓的。本门课程要求学生理解面向对象编程思想, 掌握面向对象基本概念、集合框架、多线程、IO以及异常处理, 能够运用JDBC开发C/S模式下的中小型数据库应用软件, 能够运用JUNIT工具进行单元测试, 培养团队协作、交流沟通、自学、抗压能力, 提升软件工程规范及编码规范意识。

所以要达到以上目标, 就要很好地给同学们树立面向对象程序设计的思想, 很多教材都是编排在第一章第一节讲解类的概念, 在第一章第二节讲解对象的概念, 这种方式的讲解无论是本科的学生还是专科的学生理解起来都是很困难的。所以在做本课程的教学设计的时候, 就应该改变以前传统做法, 争取达到让学生做到易学易懂易做。在这里仅仅以Java语言为例子说明讲解怎样让学生理解类与对象的思想。

首先, 按照标准定义给出类和对象的概念。类是对事物的抽象和归纳, 是具有相同标准的事物的集合与抽象。对象是由属性 (Attribute) 和行为 (Action) 两部分组成, 属性用来描述对象的静态特征, 行为用来描述对象的动态特征。这两个概念, 对于初次接触面向对象这门课程的学生来说是很抽象的, 而且是很不容易理解的, 所以在讲解的过程中作为教师一定要给出让学生容易理解的例子以及代码, 帮助学生理解这个概念, 而不是一味地去灌输这个抽象的概念。在讲解这个概念的时候也要尽可能地用简单通俗易懂地语言灌输给学生, 也就是要把抽象问题具体化, 复杂问题简单化。比如给两个简单的例子如下, 来帮助学生理解类与对象的概念以及他们之间的联系就一目了然。

对比以上两段代码, 左边这段代码着重培养学生们面向对象的思维, 帮助学生理解“类”这一个非常抽象的概念, 这样就把人“类”这个非常抽象的概念用代码加以具体化, 让学生们更好地加以理解和掌握, “人类”就是一个抽象化的概念, 它把人类所共有的特点以及人类的一些共同的动作行为封装在了一对大括号里面, 所以说“类”是属性和方法的集合。右边这段代码用以帮助理解对象这个概念, “对象”就是对类进行实例化, 在这个例子里面, “张三”就是人类的一个具体实际的例子, 也是学生们用眼睛能够观察体会到的实体, 也就是对“人类”进行的实例化。这两段代码简单详细地解释了“类”是一个抽象化的概念, 而“对象”是该类的一个实体。所以在讲解这两个概念的时候, 要改进以前的方式方法, 不能为了概念而一味地去给学生灌输概念, 更不能把“类”和“对象”这两个概念分开分步骤地去讲解。二是要把这两个有着紧密联系的概念放在一起简单明细地去讲解。

3教学设计的小结

以这样的方式把面向对象程序设计里两个重要的概念理解了, 同时也让学生树立了面向对象程序设计的思想, 那么在后续的课程里, 让学生学习类的三大特征:封装性, 继承性, 多态性, 也就显而易见了。让众多学生进而深入地学习这门课程也就便得简单明了。

摘要:在面向对象程序设计中, 类是一个抽象化的概念, 而对象是该类的实例化。因为类是抽象的, 所以类是不占用内存空间的, 而对象是实例, 所以对象一旦建立就要调用构造函数为其属性和方法分配所占用的内存空间。类是用于创建对象的蓝图, 它是一个定义包括在特定类型的对象中的方法和变量的软件模板。

关键词:类与对象,面向对象程,程序设计

参考文献

[1]姚骏屏, 何桂兰主编.陈素琼, 任姚鹏副主编.Java面向对象程序设计与系统开发[M].西安电子科技大学出版社, ISBN 978-7-5606-3649-8, 2014 (12) .

[3]江开耀.软件工程与开发技术[M].西安电子科大出版社, 2009.

[4]钱银中.java程序设计案例教程[M].机械工业出版社, 2009.

面向对象的互动教学-浅谈高职高专《大学语文》教学设计 篇7

还记得猫、猫叫;狗、狗吃东西吗?无数的程序员都喜欢将此类似的情形设计当作面向对象最好的例 子。是的,非常生动且形象;但实际运用中你是否能真正做到举一反三?

回述到游戏设计中,大家是否时常会感觉游戏世界与我们的真实世界如此贴近?游戏中的精灵好比我 们人类,更广泛的,你可以将精灵看做游戏世界中任意的生命体。在现实世界里,“人”是我这样的家伙 的统称,“人”可以站立,可以移动,可以战斗,可以受伤,可以死亡;在游戏世界里,“精灵(Sprite) ”是所有生命体的统称,“精灵”同样可以站立(Stand),可以移动(MoveTo),可以战斗(Attack),可以 受伤(Injured),可以死亡(Death)。当然,梦幻般的它们或许还能施法(Casting)甚至飞行(Fly)。能够移 动,因此必须有速度(Speed)和方向(Direction);可以死亡,因此必须有它活着的证明(Life)……于是, 一个非常非常贴近我们现实生活的游戏“精灵类”出现了:

每个“人”都生活在各自的“城市”里,“城市”有路,有桥,有山,有水……多种多样的地况形成 了整个城市的立面结构;“精灵”存在于各自所处的“场景(Scene)”中,每个“场景”都拥有一张生动 的背景地图(Map)展示着美丽的风景,精灵们就是在这样铺设着坐标系(Coordinates)的“场景”里自由自 在的生活。只要高兴,它们随时都可以到不同的“场景”走亲访友或者探险旅游。因此,“场景”管理着 它内部的所有对象如“精灵”、“魔法”等,作为承载游戏各元素的重要枢纽,它有着非凡的意义:

玩家是游戏世界中的 “上帝”,他经营着游戏中所能掌控的一切;精灵去血了,升级了得报告“上帝” ;雷达发现敌情了得通知“上帝”;场景切换了,要让“上帝”看见;GameOver了 , “上帝”要知道。假如说“人”生活在城市里,而所有的人、城市又构成了整 个地球,更广义的说就是整个世界,所以,“世界”就是我们“人”所生活的舞台 。同样的,在游戏世界里的所有一切对象如“精灵”,“场景”,以及向“ 上帝”打报告的各种“面板”,它们之间要连通,要交互也同样需要这样一个平台。没 错,它就是“游戏窗口(Window)”,类似于MainPage.xaml。游戏世界中所有对象如果需要和 其他外部的对象进行交互,只需为自己添加委托事件,在“游戏窗口”中需要的地方触发这个 事件即可实现。举个最最简单的例子,“精灵”在不断的移动,移动是“精灵”与 生俱来的能力,因此它自己就可以轻松搞定:sprite.MoveTo(…),

但是,此时“上帝 ”想要通过“雷达地图面板”了解该“精灵”所处的准确位置,我们不能再 通过sprite.TellRadar(….)了,因为“雷达地图面板”是“游戏世界”的 财产而非某个“精灵”的内部资源。于是乎“精灵”想到了一个好办法,它决定每 走一步都在地上做个自己所特有的记号,从而告诉“游戏世界”:我现在在这儿了。转换成编 程语言就是定义“精灵”坐标变化事件及相应的委托:

public delegate void CoordinateEventHandler(Sprite sprite, DependencyPropertyChangedEventArgs e);

public event CoordinateEventHandler CoordinateChanged;

当“精灵”移动且坐标改变时触发(即做记号):

private static void ChangeCoordinateProperty(DependencyObject d, DependencyPropertyChangedEventArgs e) {

……

if (sprite.CoordinateChanged != null) {

sprite.CoordinateChanged(sprite, e);

}

……

}

最后,通过在“游戏窗口”中注册这个事件,一旦“精灵”坐标改变即通过“雷达地图面板”告诉“ 上帝”:

sprite.CoordinateChanged += (s, e) =>{

radar.TellGod(……);

};

由此得到,“游戏窗口”就是游戏中万物之间的交流平台,对象与对象之间的交互都在其内部完成:

到此,大家是否已能理清“精灵”,“场景”,“游戏窗口”这3个“游戏世界”中最基础且必不可少 的重要元素之间的关系了?亲爱的朋友们,请放飞思想,用现实世界的现象和原理去反向叙述机器所操控 的“游戏世界”,你定会发现其实一切都是那么的轻松而惬意。是的,这就是面向对象思想给我们带来的 福利:让程序开发更简单!

仿佛又废话了一节,保守估计又要开始有朋友给这个仍不知悔改并坚持以大无畏的精神忽悠读者的深 蓝丢鸡蛋了。其实,我写的每篇文章都有它存在的原因或价值,承上启下是外因,更重要的是我发现就算 再简单再好理解的代码都能让很多朋友望而生畏,其实并非不懂编程,我理解的是大家更多缺少的是属于 自己的思维,那种勇于创新不害怕失败的自我潜能深挖掘的精神,这才是我最终想要传达的思想,同样也 是这新一部系列教程所要阐述的Silverlight游戏设计理念。

在这样的思路的指引下,历时大半个月利用业余时间制作完成了这个Silverlight场景编辑器,可谓呕 心沥血之作。但是,至从它出现后,更多的朋友反而会这样觉得:“深蓝的作品真是一部不如一部,哎, 失败,失败中的失败。”真的是这样吗?俗话说内行人看门道,外行人看味道。懂行的一看就知道是个好 宝贝,豪不惭愧的说,它可以制作你目前所玩过的一切2D游戏的图形框架,而它的核心算法仅有两个,而 且还是我第一部教程第十节中早已提到的那两组公式;更重要的是,它的结构非常简单且代码量少,绝对 的通俗易懂。

下一节,我将开源这个场景编辑器。紧接下去后面的章节,我会向世界展示这个Silverlight-2D游戏 场景编辑器的伟大!还是不相信哪??嘿嘿,关注哦~

面向对象的损伤容限分析与设计 篇8

面向对象的损伤容限分析与设计

将面向对象的程序设计方法引入到结构损伤容限分析与设计中.建立了结构剩余强度分析和裂纹扩展分析的.基本对象类,给出了基本类和辅助类的描述,并用C++语言实现.编制了相应的分析程序,给出了类的实例.结果表明用面向对象方法设计的剩余强度和裂纹扩展分析程序其性能较传统程序设计方法得到显著改善.

作 者:王生楠 作者单位:西北工业大学,飞机结构强度研究所,陕西,西安,710072刊 名:西北工业大学学报 ISTIC EI PKU英文刊名:JOURNAL OF NORTHWESTERN POLYTECHNICAL UNIVERSITY年,卷(期):20(4)分类号:V215.6关键词:面向对象方法 损伤容限分析 程序设计 C++

面向对象的互动教学-浅谈高职高专《大学语文》教学设计 篇9

关键词:高职院校,网络化,大学语文,课堂教学

当前,随着网络的普及,高职教育的网络化程度也在逐步提升。目前各高职院校在办学的同时,也应大力推动网络课程的建设与实施,积极发挥网络教学的优势,提高高职院校教育教学的质量,整合、优化教育教学资源,建立大规模的网络教育平台。网络技术的突飞猛进为高职院校大学语文的教学提供了发展的契机,使得大学语文教学的多媒体化、网络化成为一种教学改革势在必行的趋势。这既是提高教学质量的关键,也是提升高职院校大学生素养的有效途径。

一、大学语文网络化课堂教学的优势及存在问题

(一)大学语文网络化课堂教学的优势

1. 网络化课堂教学使大学语文教学更加生动,使学习变得更加轻松。

现行的大学语文教材及内容比较抽象,多与现实生活相脱离,不利于学生的学习。而现代信息技术的普及弥补了此项缺陷。多媒体技术能很好地支持音频、视频和图像等多种媒体的有机集成,以图文并茂、声形相映的完整形象展现在学生面前。

2. 网络化课堂教学使大学语文教学打破了时空的限制,方便了学生的学习,使课堂变得灵活多变,充满生机。

通过信息网络建立的师生、生生互动平台使身处异地的学生得到了学习的机会,也使学生的学习不再受时间的限制,学生可以根据自己的需要选择不同的时间和不同的内容进行学习。同时,也可以帮助学生预习、测评和反馈,大大提高了学习效率。

3. 网络与大学语文教学的融合激发了学生的学习兴趣与热情,提高了学生的自学能力和阅读能力。

运用信息技术可以使大学语文教学内容变成生动逼真的影音、图文资料、快捷的交流渠道,可以大大激发学生学习语文的兴趣。同时,利用网络,让学生接触更多外界信息,有助于学习内容的内化。课后,学生在网上论坛发表学习心得体会,与老师、同学进行交流,使学习变得富有情趣。

4. 网络与大学语文教学的融合培养了大学生的合作精神和实践能力,增强了师生、生生之间的互动,使单一的班级授课转变为个别化教学、协作学习等多种教学组织形式。

(二)大学语文网络化课堂教学存在的不足

当然,在人们普遍盛赞网络化大学语文课堂教学的同时,还需要正视它存在的不足。

1. 师资培训和教师的再教育力度不够,因此缺乏制作网络课程的专业人才。

2. 从事大学语文教学的教师在制作网络课程方面能力水平不足。

3. 知识复制的作用被过分夸大,知识产权保护效力较弱。

4. 学分学位认证未成气候,学习分析层次较低。

二、大学语文网络化课堂教学主要应用类型分析

当前高职大学语文网络化课堂教学大致分三种,第一种是最简单的PPT演示文稿。第二种是信息化课堂设计,即教师在教授过程中采取先进的信息技术手段,利用网络或者多媒体等手段将复杂抽象的概念或过程展示予以形象化、具体化,以便学生更好理解。第三种是网络课程,包括微课、MOOCS、翻转课堂等。

其中,MOOCS技术主要包括高质量的编目视频、数据采集与分析、带有社交功能的授递平台等。这是一种比较先进的教学方式,MOOCS技术使得基于网络的大学语文课堂教学相比过去更加有效、更具规模。在整个学习的过程中,教师设计好具体的课堂环境,使用任务型教学法或项目教学法来驱动教学,让学生在网络化的教学环境中自主探索,自主学习。老师与学生通过网络技术进行以老师为主导、以学生为主体的沟通和交流。

翻转课堂是指在信息化环境中,教师提供以教学视频为主要形式的学习资源,学生在上课前完成对教学资源的观看和学习,师生在课堂上一起完成作业答疑、写作探究和互动交流等活动的一种新型教学模式。这种教学模式不仅充分调动了学生学习的积极性,增强了教学效果,还培养了学生的信息技术应用能力和实践探索能力,为高职学生顶岗实习、优先就业提供了支持与帮助。

三、大学语文网络化课堂教学具体措施

网络的应用对大学语文教学产生了深远的影响,也带来了巨大冲击,特别是语文教学的实施层面已经发生了变革,主要表现以下几个方面:

(一)转换教学交互方式

利用网络远程教学在教学互动时空不限等方面的优势,实现学生与学生、学生与老师间的教学互动,以弥补课堂面授时间有限的不足。一方面,学生把课程作业直接发布到课程教学网站上,教师则通过回复的方式对学生作业进行分析、点评和及时指导;另一方面,学生也可以通过课程网站对同学的课程作业进行观摩和互评,以分享自己的想法。另外,鼓励学生在网站的“教学论坛”参与相关问题的讨论,或提出学习过程中遇到的问题,以寻找老师和同学的帮助。

(二)转变师生的任务

网络的应用打破了传统语文教学中教师的主导地位,改变了学生只是被动地接受知识的局面。教师从主导性角色转变为设计者、组织者、学习者等多重角色,学生也从被动变为主动。在教学前,教师应该设计好课堂环境、选择好课堂活动、确定时间安排及准备好相关教材和教具。在教学中,教师是组织者、参与者和协助者,学生是参与者。在教学后,教师可以和学生通过网络平台进行分析、总结。教师的任务不再只是讲授,而是要加强对学生学习能力的培养。学生的任务也不仅仅是被动、无选择地去获取知识,而是有一定的自主性,可以不受地域和时间的限制进行学习。

(三)构建网络案例教学

实践可以更好地促进理论的形成与完善。学生可以以实践教学案例给教师的授课注入更加新鲜的活力和动力。研究中,挖掘往届大学生课程作业案例、教育实习教学案例、优秀小学教师教学案例,并通过教学光盘的形式在开课初提供给每位学生,供学生课后观摩、模仿。

(四)制作大学语文网络教学视频

高职院校的大学语文应着重突出语言文字的工具性,重点培养高职学生的文学鉴赏能力、文献阅读和信息处理能力、口语表达能力、应用写作能力。为了重点培养这四种能力,网络化大学语文课程应设计相应的教学内容,并制作具体的教学视频。

网络化大学语文阅读教学融合模式有“情境法教学模式”“互动拓展阅读模式”等。大学语文教学的核心在于欣赏,生动、形象、生活化是文学作品的本质特性,而且作品欣赏本身更适合使用多媒体来教学。通过相关的图片设计或录像,配以音乐朗诵展现情景,使学生能直观体味作品意境,领悟文学作品内涵。它可以使传统教学方式无法阅读到的教学内容或无法感受到的场景生动形象地表现出来。

网络化大学语文写作教学融合模式,主要有强调思维加工的“思维加工型作文心理模型”、既重视教师主导作用又重视学生主体作用的“双主作文教学模式”“看图作文三维教学模式”等。

网络化大学语文口语交际教学融合模式,为学生提供了口语交际的模拟情境,而学生在这一情境中,交流互动,学会表达,并传递信息和情感。但目前大部分高职院校多媒体与听说教学融合的实践尚不多,对高职院校来说,应加强现代信息技术与口语交际教学的融合。

四、结语

网络化课堂教学为高职院校大学语文教育走向整合带来了全新的境界。它以整合的思想,使大学语文教学方式发生了本质的变化。在新的技术环境下,使自主交互式的大学语文学习成为可能,学生真正成为语文学习的主人。让大学生的学习和生活体验、精神成长走向融合,每个大学生都可以根据自己的学习要求和环境选择适合自己的学习内容、学习方法和教学交互平台。网络化课堂教学打破了传统语文课堂教学的时空界限,创造了超越时空的大学语文学习环境,带来了全新的移动互联场景化学习样态。网络化课堂教学可以支持学生随时随地进行阅读与表达,也创建了一个宏大的支持全网链接的学习共同体。让大学语文教学中的听、说、读、写等基本能力与人的生存、交际、学习、发展沟通融为一体,让学生在真实的项目中自主合作学习语文。

参考文献

[1]祝虹媛.浅谈基于网络化的高职课堂教学模式[J].教育科学,2015(7).

[2]袁相科,何飞云.浅谈高职院校网络化外语课堂教学[J].漯河职业技术学院学报,2007(4).

[3]张加蠧.高职教育网络化课堂教学效果的分析[J].中国成人教育,2009(14).

[4]韦荣领.试论高职课堂网络化教学的社会性[J].科教文汇(下旬刊),2010(5).

[5]于作岩.关于提高高职课堂教学效率的策略探讨[J].科技信息,2010(12).

[6]修月祯.网络多媒体环境下的英语教学改革之研究[M].北京:清华大学出版社,2006.

java面向对象程序设计教案 篇10

主讲教师:熊春秀 编写时间:2011-4-30

第一章:概述

第 1、2 节:面向对象的基本概念、面向对象程序设计概述 授课时间:2011-2-

22、23

计划学时数:1 教学任务与目的:让学生理解面向对象的基本概念 教学重点:掌握面向对象的基本概念 教学难点:理解面向对象程序设计的方法 教学方法:多媒体+板书 参考书目:《面向对象程序设计导论》,[美]C.Thomas wu著,电子工业出版社 专业词汇:Java虚拟机、Applet程序 备注

第二章:Java特点及运行环境

第 1、2、3 节:Java语言特点、Java应用程序及运行环境、Java Applet程序及运行环境 授课时间:2011-2-

22、23

计划学时数:3 教学任务与目的:让学生学会JDK的下载、安装与环境配置。教学重点:掌握编译和执行Java程序的基本步骤

教学难点:理解Java程序的入口并能够通过命令行传递参数 教学方法:多媒体+板书 参考书目:《面向对象程序设计导论》,[美]C.Thomas wu著,电子工业出版社 专业词汇:JDK、lib、bin 备注 第三章:Java语言基础

第 1、2 节:Java程序的构成、数据类型、表达式以及流程控制语句 授课时间:2011-3-

1、2

计划学时数:3 教学任务与目的:让学生学会Java基本的数据类型和表示方法、数值类型的运算、逻辑运算和比较、条件执行语句(包括三种条件语句和switch语句)、循环控制语句(包括for、while、do while循环及相应的辅助语句)、字符串类String和BufferString以及数组的声明及使用。

教学重点:掌握Java基本的数据类型和表示方法

教学难点:理解Java程序的循环控制语句(包括for、while、do while循环及相应的辅助语句)

教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社 专业词汇:变量、数据类型、循环控制语句 备注 第三章:Java语言基础 第 3 节:Java与C比较

授课时间:2011-3-

8、9

计划学时数:3 教学任务与目的:让学生在C语言的基本上进一步学习Java语言。教学重点:掌握Java语言与C语言的区别与联系。教学难点:理解Java语言在C语言上的改进。教学方法:多媒体+板书 参考书目:《Java2参考大全(第四版)》,[美]Herbert Schildt著,张玉清、吴浦峰、尚勇等译,清华大学出版社。专业词汇:Java、C 备注 第四章:抽象、封装与类

第 1 节:抽象、封装与Java类的概念

授课时间:2011-3-

15、16

计划学时数:3 教学任务与目的:让学生学会面向对象的基本特征、掌握如何定义一个类以及如何生成对象、深入掌握方法的定义及技巧、深入掌握类的访问权限与封装机制、深入掌握包的定义与包的使用方法。

教学重点:掌握类的定义与对象的生成。教学难点:理解类的抽象与封装机制。教学方法:多媒体+板书 参考书目:《Java2 实用教程》,耿祥义、张跃平编著,清华大学出版社。专业词汇:抽象、封装、类 备注 第四章:抽象、封装与类 第 2 节:系统定义的类

授课时间:2011-3-

22、23

计划学时数:3 教学任务与目的:让学生学会使用系统定义的类,并掌握与用户自定义类的区别。教学重点:掌握如何定义所需要的类。

教学难点:熟悉Java平台定义了哪些经常要用到、而且满足我们需要的类。教学方法:多媒体+板书 参考书目:《Java2 实用教程》,耿祥义、张跃平编著,清华大学出版社。专业词汇:系统定义的类、用户自定义类 备注 第四章:抽象、封装与类

第 3 节:类、域和方法的修饰符

授课时间:2011-3-

29、30

计划学时数:3 教学任务与目的:让学生学会类的声明。

教学重点:掌握如何定义类的修饰和方法的修饰符。教学难点:熟悉类的变量的定义与使用方法。教学方法:多媒体+板书 参考书目:《Java2 实用教程》,耿祥义、张跃平编著,清华大学出版社。专业词汇:成员变量、类变量、成员方法、类方法 备注 第五章:继承与多态

第 1、2 节:Java的继承与派生、域的继承与隐藏 授课时间:2011-4-

5、6

计划学时数:3 教学任务与目的:让学生全面掌握面向对象的基本特征、掌握如何使用继承性来到达软件的重用、深入掌握继承过程中域的隐藏和方法的覆盖技巧。教学重点:掌握如何使用继承性来到达软件的重用。教学难点:熟悉继承过程中域的隐藏和方法的覆盖技巧。教学方法:多媒体+板书 参考书目:《Java2 实用教程》,耿祥义、张跃平编著,清华大学出版社。专业词汇:继承派生、域、隐藏 备注 第五章:继承与多态

第 3、4 节:方法的继承、重载与覆盖、this与super、构造函数的继承与重载 授课时间:2011-4-

12、13

计划学时数:3 教学任务与目的:让学生通过继承可以更有效地组织程序结构,明确类之间的关系,并充分利用已有的类来创建新类,通过继承可以实现代码的重用,以完成更复杂的设计、开发。教学重点:掌握类的重载与覆盖的区别与联系。教学难点:熟悉类的重载与覆盖使用方法。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:继承、重载、覆盖、this、super 备注 第五章:继承与多态

第 5、6 节:多态性的实现、接口声明与实现 授课时间:2011-4-

19、20

计划学时数:3 教学任务与目的:让学生深入掌握抽象类和抽象方法的定义,掌握多态通过统一多个相关类的对外接口,在运行时根据不同的情况执行不同的操作,提高类的抽象度和灵活性,深入掌握接口的定义和使用技巧。

教学重点:熟悉多态性实现的两种方式以及接口的实现。教学难点:熟悉多态性与接口的实现方法。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:多态性、接口 备注 第六章:工具类与算法

第 1、2 节:语言基础类库、Applet类与小程序的基本原理 授课时间:2011-4-

26、27

计划学时数:3 教学任务与目的:深入了解Applet生命周期的主要方法和特点、熟练掌握Applet程序的编写方法、深入了解Applet的安全机制及其合理运用。教学重点:熟练掌握Applet程序的编写方法。

教学难点:深入了解Applet的安全机制及其合理运用。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:Applet、生命周期 备注 第六章:工具类与算法

第 3、4 节:数组、字符串、常用算法

授课时间:2011-5-

3、4

计划学时数:3 教学任务与目的:让学生学会字符串类String和BufferString、数组的声明及使用。教学重点:熟练掌握字符串与数组的使用方法。教学难点:深入了解数组的使用方法。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:数组、字符串 备注 第七章:用户图形界面的设计

第 1、2 节:用户自定义成分、事件驱动设计 授课时间:2011-5-

10、11

计划学时数:3 教学任务与目的:让学生学会使用面向对象的程序设计方法构建图形用户界面、深入了解抽象窗口工具包(AWT)、掌握事件处理基本原理和方法。教学重点:熟练掌握图形用户界面的开发方法。教学难点:深入了解图形界面的各种事件。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:AWT、GUI 备注 第七章:用户图形界面的设计

第 3、4 节:GUI对象,包括:按钮、文本框、鼠标、键盘等事件的处理、布局设计 授课时间:2011-5-

17、18

计划学时数:3 教学任务与目的:让学生深入了解GUI构件及掌握布局控制方法、熟练掌握菜单和对话框、掌握简单绘图方法。

教学重点:熟练使用Java语言提供的布局管理器来管理组件在容器中的布局。教学难点:深入了解组件在程序中安排中位置和大小使用方法。教学方法:多媒体+板书 参考书目:《Java语言与面向对象程序设计》,印旻编著,清华大学出版社。专业词汇:布局管理器、容器 备注 第八章:Java高级编程

第 1、2、3节:异常处理、多线程机制、Java程序对网上资源的访问 授课时间:2011-5-

24、25

面向对象的互动教学-浅谈高职高专《大学语文》教学设计 篇11

实验一 Visual C++ 6.0开发环境应用入门(2学时)

一、实验目的和要求

1.了解Visual C++ 6.0的特点。2.熟悉Visual C++ 6.0的开发环境。

3.学习用Visual C++ 6.0编写标准的C++控制台程序。

二、实验任务

1.使用Visual C++来建立一个非图形化的标准C++程序,编译、运行以下程序:

#include using namespace std;int main(){ cout<<“Hello!n”;cout<<“Welcome to c++!n”;} 2.计算1-1/2+1/3-1/4+„1/100的值.3.假设现在同时打开程序1和程序2,是否能够分别同时运行程序1和程序2得出结果,如果不行,请说明原因.三、实验步骤

1.启动Visual C++6.0开发环境

※ 从“开始”菜单中选择“程序”│Microsoft Visual Studio 6.0│Microsoft Visual C++ 6.0,显示Visual C++ 6.0开发环境主窗口。

2.创建一个项目

※ 单击File菜单中的New选项,显示New(新建)对话框(如图1—1所示)。

图1-1 New对话框

※ 单击Projects标签,在Projects(项目)选项卡中,选择Win32 Console Application(Win32控制台应用程序)。在Location(位置)文本框中指定一个路径,在Project Name(项目名称)文本框中为项目输入一个名字“lab1_1”,单击OK(确定)按钮。

※ 在弹出的Win32 Console Application—Step l of 1对话框中选择An Empty project单选项,然后单击Finish(完成)按钮(如图1-2所示)。

图1—2 创建控制台应用程序第一步

※ 最后在New Project Information对话框中单击OK按钮,完成项目的建立。3.建立C++源程序文件

※ 选择菜单命令Project│Add to Project │New,弹出New对话框,如图1-3所示。※ 在New对话框的Files选项卡中选择C++ Source File,并填入文件名称“1abl_1”,单击OK按钮,完成新建C++源程序文件。

图1-3 添加新的源程序文件

4.编辑C++源程序文件内容

※ 在文件编辑窗口中输入代码(如图1—4所示)。

图1-4 在文件编辑窗口中输入代码

※ 选择菜单命令File │Save保存这个文件。5.建立并运行可执行程序

※ 选择菜单命令Build │Build labl_1.exe,建立可执行程序。

如果你正确输入了源程序,此时便成功地生成了可执行程序labl_1.exe。如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源程序进行修改后,重新选择菜单命令Build │Build labl_1.exe,建立可执行程序。

※ 选择菜单命令Build │Execute labl_1.exe运行程序,观察屏幕的显示内容。6.关闭工作空间

※ 选择菜单命令File │Close Workspace关闭工作空间。实验二 函数的应用(2学时)

一、实验目的

1.掌握函数的定义和调用方法。2.练习重载函数的使用。3.练习使用系统函数。

4.学习使用VC++的Debug调试功能,使用Step Into追踪到函数内部。

二、实验任务

1.编写一个函数把华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。

2.编写重载函数Max1可分别求取2个整数,3个整数,2个双精度数,3个双精度数的最大值。

3.使用系统函数pow(x,y)计算x的值,注意包含头文件cmath。4.用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。

y

三、实验步骤

1.编写函数float Convert({float TempFer},参数和返回值都为float类型,实现算法C=(F-32)* 5/9,在main()函数中实现输入、输出。程序名:lab3-1.cpp。

2.分别编写四个同名函数max1,实现函数重载,在main()函数中测试函数功能。程序名:1ab3-2.cpp。

3.在main()函数中提示输入两个整数x、y,使用cin语句得到x、y的值,调用pow(x,y)函数计算x的y次幂的结果,再显示出来。程序名:1ab3-4.cpp。

4.编写递归函数int fib(int n),在主程序中输入n的值,调用fib函数计算Fibonacci级数。公式为fib(n)=fib(n-1)+fib(n-2),n>2;fib(1)=fib(2)=1。使用if语句判断函数的出口,在程序中用cout语句输出提示信息。程序名:lab3-5.cpp。

5.使用Debug中的Step Into追踪到函数内部,观察函数的调用过程,参考程序如下:

//1ab3_5.cpp #include using namespace std;int fib(int n); int main(){ int n,answer;

cout<<”Enter number:”; cin>>n; cout<<”nn”;answer=fib(n);

cout<

int fib(int n){ cout<<”Processing fib(“<

6.调试操作步骤如下:

(1)选择菜单命令Build │ Start Debug│Step In,或按下快捷键F11,系统进入单步执行状态,程序开始运行,并出现一个DOS窗口,此时Visual Studio中光标停在main()函数的入口处。

(2)把光标移到语句“answer=fib(n)”前,从Debug菜单或Debug工具栏中单击Run to Cursor,在程序运行的DOS窗口中按提示输入数字10,这时回到Visual Studio中,光标停在第11行,观察一下n的值(观察方法见实验2)。

(3)从Debug菜单或Debug工具栏中单击Step Into,程序进入fib函数,观察一下n的值,把光标移到语句“return(fib(n-2)+fib(n-1))”前,从Debug菜单或Debug工具栏中单击Run to Cursor,再单击Step Into,程序递归调用fib函数,再进入fib函数,观察一下n的值。

(4)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对函数调用和递归调用的理解。

(5)再试试Debug菜单栏中别的菜单项,熟悉Debug的各种方法。实验三 继承与派生(2学时)

一、实验目的

1.学习定义和使用类的继承关系,定义派生类。2.熟悉不同继承方式下对基类成员的访问控制。3.学习利用虚基类解决二义性问题。

二、实验任务

1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试看。

2.定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。

3.定义一个车(vehicle)基类,具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNum)等属性。从bicycle和motorcar派生出摩托车(motorcycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程试试看。

4.(选做)从实验6中的people(人员)类派生出student(学生)类,添加属性:班号char classNO[7];从people类派生出teacher(教师)类,添加属性:职务char principalship[11]、部门char department[21]。从student类中派生出graduate(研究生)类,添加属性:专业char subject[21]、导师teacheradviser;从graduate类和teacher类派生出TA(助教生)类,注意虚基类的使用。重载相应的成员函数,测试这些类。

三、实验步骤

1.编写程序定义基类Animal,成员变量age定义为私有的。构造派生类dog,在其成员函数SetAge(int n)中直接对age赋值时,会出现类似以下的错误提示:

error C2248:’age’:cannot access private member declared in class ’Animal’ 把age改为公有成员变量后重新编译就可以了。程序名:lab7_1.cpp。

2.编写程序定义一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析 构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。程序名:lab7_2.cpp。

3.用debug功能跟踪程序lab7_2的执行过程,观察基类和派生类的构造函数和析构函数的执行情况。

4.编写程序定义一个车(vehicle)基类,由此派生出自行车(bicycle)类、汽车(motorcar)类,注意把vehicle派生为虚基类。再从bicycle和motorcar派生出摩托车(motorcycle)类,在main()函数中测试这个类。程序名:lab7_3.cpp。

面向对象的互动教学-浅谈高职高专《大学语文》教学设计 篇12

存在着两种生源, 分别是五年制与三年制学生, 学生的数学知识的不健全, 理解能力比较差, 学生的对这门课程的兴趣比较少, 上课没有预习, 还停留在初中阶段的, 等老师的喂食。喜欢跟着老师做, 自己不怎么动脑思考, 尤其是要自己去举一反三能力没有。学院开的课程不够科学, 上课的安排不合理。学生上完了课程, 回宿舍基本就不去看, 所定制的教程很不合理的, 不能够让学生容易的学习, 学生遇到问题马上就问老师的坏习惯, 老师变成了现成的字典。上完课程的任务不够, 学生容易偷懒, 作业大部分存在抄袭复制现象。

为了很好的解决这些问题, 提出了自己对于《面向对象程序设计》课程教学改革方法。

第一, 根据学院的实际情况修改不同生源的教学大纲。

五年制的学生的教学大纲容易一点, 三年制的学生的教学大纲难一点。

第二, 选择适当的教材。

不能与本科教材, 中专教材类同, 要根据当前计算机发展选适当的面向对象教材, 我选择的是 (vb2005) , 本课程是基础的程序设计, 现在还使用vb6.0太落后, 如有使用新的vb2005学生更难接受, 因为很多新的概念, 别的课程跟不上, 使用多媒体教师, 使用案例演示+任务驱动, 教师讲解, 学生跟学项目, 学生修改项目, 学生独立完成项目作业, 教师针对性指导, 学生互相讨论学习, 挑选出较好的学生做学习辅导。

第三, 激发学生兴趣。

《面向对象程序设计》课程难度大, 被学生列为最难学的课程之一, 建立学生的学习信心很重要。要使学生感觉不太难, 树立他们的学习信心, 讲课时一定要抓重点, 因此在教学中不是泛泛介绍描述工具的语法和框架, 而是突出关键技术“精讲多练”, 学生可花较少的精力获得较强的编程能力。

第四, 注重学生能力培养。

“面向对象程序设计”课程应采用多媒体课堂授课的方式进行教学, 必须借助一定的工具, 网络教学软件如 (红蜘蛛) 是首选工具, 它能够很好的宏观展示程序整体结构, 又能够很好地微观剖析局部算法, 让每个学生都能清晰的显示教学内容, 比投影仪器效果要好的多, 这对课堂教学中发挥教师的主导作用是非常有利的。培养学生做学习笔记的良好习惯。

第五, 优化多媒体资源。

多媒体课件做的一定要简洁, 不要用一些非必要元素干扰了主题, 程序代码要采用链接的方式去完成, 用记事本打开即可。这样就保证了幻灯片页数少, 讲课时切换少, 减少学生对堂课的主题的理解偏差, 提高课堂效率和效果。

第六, 以问题驱动课堂。

在教学中将问题有目的、有组织地提出, 启发、引导学生的思维方向, 迫使学生动脑思考解决办法, 使他们逐渐习惯以专业的思维思考问题和解决问题。

第七, 作业内容要慎重。

作业在上课前先布置, 让学生带着问题去学习, 让学生去完成作业不是目的, 也不是完成教学环节的任务。作业内容要考究, 一定要留那种教材能够看到影子, 可又看不到全部面目的题材, 要迫使学生去图书馆或者到互联网上查阅资料, 要求必须在作业上体现出查阅资料的特征。这样可以减少作业的抄袭, 促进学生学习能力的提高。作业的公开演示, 防止学生的抄袭。创建一学习的网络 (创建一学习的网站, 教学的视频, 作品的实例) 。

学生先预习, 找出不懂的问题, 听完讲解后, 在询问老师或同学, 事先准备好教学的案例 (以案例应用突出教学重点与难点, 案例要实用简单难度适中) , 教师自己编写一些项目, 在教学前给学生演示, 只给项目的基本框架内容, 要求学生在基本框架里进行修改或是创新, 根据布置的作业可把学生分成3-5人一组完成项目。

第八, 掌控实验进程, 实现因材施教。

实验教学中应逐步提高设计类和综合类实验的比例, 以“任务”和“课题”的形式提出实验要求和具体的实验成果, 事先没有参考答案可供借鉴, 要求学生通过阅读教材和相关资料, 掌握实验所涉及到的知识, 通过综合利用这些知识来设计、开发并最终完成实验项目。

第九, 让学生做好笔记。

教学重点内容要做笔记, 我们的生源情况, 大多学生的记忆能力较差, 五年制的学生更加要求做笔记, 不要让学生把重点内容写在课本里, 最好是拿一本专门学习的笔记本。

第十, 教师与学生的互动体现。

教师采取的做法应该是鼓励表达观点的, 而不论你支持哪种观点, 施压于无观点的学生。促使学生思考问题, 培养学生求真到底的科学精神。通过这样的方式, 师生之间确立了良好的学术关系, 也会使学生相信这个老师有着严肃的做人做事原则, 学生就会对老师逐渐地建立信任感, 进而愿意学习老师教授的知识。

第十一, 培养学生的自学能力。

计算机是一个发展, 每隔一段时间就会推出新的概念与新的面向对象程序设计的产品, 我们学校所教的面向对象程序设计课程的内容也应跟上计算机的发展。

第十二, 科学设置课程设计, 提高应用能力。

课程设计为学生提供一个既动手又动脑的独立实践机会, 使学生将课本上的理论知识和实际有机地结合起来。根据我们的生源情况, 最好是把这门课程开设为两学期, 第一学期为基础内容, 第二学期为项目的开发与提高。课程的安排最好不要一天连上四节, 让学生有时间消化内容。

第十三, 题目难度适中。

由于教学目标和设计时间的限制, 题目规模要保持在300—500行手工代码能够解决的范围内, 难度要稍偏低, 使学生能够有思路解决问题, 能够在规定的时间内完成代码编制、输入、调试和形成相关文档, 树立学生独立开发项目的信心。

在今后的教学中不断改进教学方法, 总结教学经验, 找出一套更适合我们高职高专院校, 《面向对象程序设计》课程最佳教学方法与教学效果。提高我们高职高专院校学生的计算机专业应用人才的知识架构和较强应用能力, 让学生用面向对象的程序设计语言编程来解决具体问题。

摘要:在几年的《面向对象程序设计》课程教学过程中存在着一些问题, 本文对这些教学问题提出解决了方法与对策, 找出一套更适合我们高职高专院校的《面向对象程序设计》课程最佳教学方法, 提高我们高职高专院校学生的计算机专业应用人才的知识架构和较强应用能力。

关键词:面向对象程序,课程改革,任务驱动,项目

参考文献

[1]靳广斌.Visual Basic2005程序设计案例教程.北京大学出版社, 2009.

[2]孔长征.VB.NET编程实例教程.北京希望电子出版社, 2002.

[3]蒋明亮.面向对象程序设计课程实践教学改革研究[J].教学园地.2009, 1.

上一篇:禁毒会议主持人发言稿下一篇:说家风作文600字