2012-04-19 25页 doc 127KB 24阅读
is_194719
暂无简介
摘要:传统的成人教育方式和教学手段有一定的局限性,本文针对普通高等教育和成人高等教育的不同点进行研究,在成人“计算机组成原理”课程的教学中,结合多年普通和成人教学的经验,就教学中的有关问题进行探讨,为成人“计算机组成原理”课程教学提供新思路,更好地提高成人教学的质量和效果。
5考核方式的改革
考试是衡量学生对知识的掌握程度,也是对教学效果的信息反馈,可以促进教学工作的改善。根据我们对成教生的教学目标,我们对成教生学习的考核不是检测学生记住了多少知识,而是检测他们获取知识和应用知识的能力;由于成教生的学习基础比较薄
弱,学习时间有限。因此在考核内容上避免死记硬背的知识,而是以考学生对知识的综合应用能力为主导,考核内容也不宜太难。成绩的评定采用综合成绩,而不是一张试卷定乾坤,我们根据期末考试成绩、平时测验成绩、作业成绩和出勤等多项因素,全面考核学生的能力和素质。一般考试成绩占60% 、平时成绩占40%来综合评定学生的学习成绩,通过比较好的考核成绩来激发学生学习的主动性和积极性,也使学生离自己所追求的目标能更进一步。
6结语
本文是我们在普通高等教育和成人高等教育中对“计算机组成原理”课程教学的经验总结,在教学中我们针对不同层次的学生采用不同的教学目标、教学内容、教学方法和教学手段,实验证明效果比较好。因此,我们认为在成人教育的过程中,必须充分考虑学员的学习需求,充分考虑教学是否有利于学员学习质量的提高,不要不顾实际的完美形式主义,应该提倡成人教育的务实和求真。本研究受武汉大学计算机学院教学改革项目资助,在此表示感谢!
参考文献:
[1] 银德辉. 从成教学员的学习心理探析我国高等成人教育改革[J]. 湖南科技学院学报,2008,29(4):176-178.
[2] 李晓彦,齐保东. 成人高等教育计算机专业教学改革与实践的思考[J]. 继续教育研究,2003(6):76-77.
[3] 徐爱萍,刘建英,吴松梅. 计算机组成原理课程教学改革研究[J]. 高等建筑教育,2004,13(1):53-55.
The Educational Research and Practice on the Courses of Com
摘要:本文在对网络学习行为信息的采集分析的基础上,提出了学习者群体及个体网络学习行为的实时监控的方法并进行实践,以期对网络教育教学提供必要依据。
关键词
本文来自:计算机毕业网 :网络学习;学习行为;监控;网络学习平台
1引言
随着网络的普及和终身学习的学习型社会的到来,E-Learning将成为一种主要的学习方式。网络学习依靠网络强大的共享性、交互性、时效性和开放性等特点,使其具有自己特有的优势。但是E-Learning也不可避免地带来了教师角色淡化、课程教学缺乏针对性、学生和教师缺乏交流等问题。我国网络教学在实施上往往把注意力集中在知识内容组织、网络课程设计、学习资源提供等方面,而忽视了对注册学生的学习监控,这是造成网络学习质量不够高的一个重要原因。
1999年我国开展现代远程教育试点以来,多年的办学实践也已证明,无约束的网上教学资源的提供和传递、对学生缺乏监控机制的网上学习,其教学资源使用情况和学习效果令人堪忧!中央广播电视大学和全国不少网络教育学院的网上教学检查表明,网上教学活动情况很不如人意,化了很大人力物力建设的网上教学资源利用率很低、学生参与网上学习的热情不高,不少学校投入很大资金建设的数字图书馆,其使用率也很不理想。
由此可见,网络学习中的监控机制对于促进网络学习这种新型的学习方式的普及和发展、提高网络学习质量具有重要意义。
2网络学习行为信息的自动采集
网络学习行为是指学习者在由现代信息技术所创设的、具有全新沟通机制与丰富资源的学习环境中,开展的远程自主学习行为[1]。要实现网络学习行为的实时监控,一个基本前提是能采取有效措施来采集学习者网上学习过程中的各种信息,以供行为分析系统实时处理。如何精确、高效、实时地采集网络学习行为信息?首先就是要准确定义网络学习行为信息模型。本研究依据行为理论和行为科学(Behavioral Science)的基本原理[2],对学生网络学习行为的本质属性进行深入分析,将网络学习行为信息模型简单地表述为:Who Do What。
Who(行为主体)即用户的标识,是由字符串或数字组成的学生的网络学习平台账号,具有唯一性。
Do(行为活动)则是由学生访问网络学习平台所做的操作和操作的时间构成,就Web服务器日志而言,操作主要有GET,POST等。作为网络学习行为,其操作也可以根据需要进行定义,一般情况下其语义应代表某种有意义的操作。
What(行为客体)也就是学生学习行为发生时所操作的对象,学习行为采集系统应该可以完整记录该操作对象,包括对象类型、对象名称或对象标识等。
其次,在网络学习平台设计时必须全面考虑需要采集的各种行为信息,为网络学习平台各功能模块设计相应的行为信息记录接口,定义各类行为的标识代码(编码),编码时应考虑网络学习平台功能的扩展。
网络学习行为监控系统结构如图1所示。网络学习平台包括用户管理、班级管理、权限管理、资源管理、互动天地、网上答疑、学习支持和评价系统等功能模块。在监控系统设计时对需要记录的行为进行了统计和分析,对每种学习行为进行细化,尽可能做到精确。学生的网络学习行为信息通过学习行为采集模块统一处理;存储系统将学习行为以数据库记录的方式记录到数据库管理系统中,以便统计分析。除了记录学生在网上学习时浏览的各类教学资源、与教师互动的情况,系统还记录了学生登陆、注销每门课程学习的时间。统计监控模块根据学生形成性考核的需要,对采集的学习行为进行统计,形成数据报表,为教师改进教学、学校教学管理部门决策提供数据支持。
网络学习行为数据库表的设计无需严格遵从数据库设计范式,应适当冗余。网络学习平台每日生成的学习行为数据量非常大;过多使用数据表进行联合查询,可能导致查询效率低下。适当的数据冗余可在一定程度上减少联合查询,提高实时查询速度。
学习行为数据库表由时间记录表和操作行为表构成。时间记录表记录了学习者进入课程以及离开该课程的时间,主要用于记录学生每次进入课程学习的时间长度;操作行为表记录了学生每一次与网络学习平台有意义的交互操作。时间记录表的字段主要有:用户账号、课程代码、进入课程时间戳、离开课程时间戳、时间长度(以分钟为单位)。操作行为表主要由用户账号、用户类型(代表用户身份的字段,如学生、教师或管理员等,属于冗余信息)、班级代码、课程代码、操作对象分类、对象名称、对象媒体类型、操作类型(行为识别代码)和操作发生的时间等字段构成。操作代码根据网上教学实际需要定义了20多种,包括浏览、发布、发帖、跟帖、组织讨论等;操作对象分类被分为课程说明、教师介绍、教学大纲、教学实施方案、教学媒体、作业、教学辅导、期末复习、IP课件、参考资料、虚拟实验、在线自测、学生学习笔记、学生学习计划、意见反馈、试卷管理、BBS讨论、答疑室等。
3网络学习行为实时监控的应用实践
对学生网络学习行为的实时监控,在内容上具有多个层次。首先,是计算机网络环境的监控,通过分析网络信息系统的运行状况,加强基础网络平台的建设,提高学习者远程访问教学资源的效率和速度。其次,需要掌握网上学习的总体情况、发展趋势、网络资源建设情况等,便于学校教学管理人员和领导做出相应的决策,对教学的各个方面做出调整[3]。再次,通过对学习者个体学习行为的监控,便于教师了解学习者个体的学习情况,从而及时调整教学计划、教学进度和教学策略,提供个性化的学习支持服务,实施个别化教育。
3.1基础信息网络运行状况的实时监控
计算机信息网络的正常、稳定运行是网络教育的基本保障,但网络运行的环境非常复杂,黑客攻击、计算机病毒、设备故障和软件设计缺陷等都有可能造成网络异常,甚至出现网络通信中断;而网络教育不仅要求网络稳定运行,并且要求网络能够支持多媒体数据的可靠传输。因此,网络教育必须加强对基础信息网络运行状况的实时监控,时刻关注网络运行状况,以保证网络教学活动正常开展。在计算机网络核心和网络出口安装网络协议分析设备,全面监控网络的运行状况,包括网络应用运行情况、网络的实时流量。
3.2学习者群体网络学习行为的实时监控
网络学习行为是学习者个体网上学习情况的记录,要了解网络学习平台上学生群体网上学习的基本特征,则必须对所有学习者的学习行为进行统计分析,为学校领导以及教学管理人员提供决策性依据[4]。学习者群体网络学习行为统计的内容主要有以下几个方面:
3.2.1来访客户端信息统计
网络学习平台不同于普通网站,在设计和开发时需要考虑网站的教育性、交互性,尽量做到画面布局合理、简洁,并且能够突出教学的重点,方便学生在线学习。然而,不同的客户端(浏览器目前较为主流的有Internet Explorer、Firefox等)在显示同一内容时会有不同的表现效果,同一浏览器的不同版本也会造成显示上的差异。因此,了解学生客户端的使用情况,是设计、开发、改进网络学习平台的依据,也是网络教学资源制作的依据。
3.2.2不同地域学习者在线分布情况
网络教育教学点地域分布广,了解和监控不同地域学习者对网络学习平台的访问情况,可以更有针对性地改善网络学习平台服务器的处理性能,从而加快学习者访问网络学习平台的速度和数据处理速度,为各地学习者提供更快捷的网上学习支持服务。另外,从不同地域的到访人数比例也可以看出不同地域学习者对网络学习平台的关注度(图2)。
为培养学生网上学习的习惯,不少学校规定学生在线学习时间应该达到一定的要求。以浙江广播电视大学校本部学生为例,学生每学期在线学习时间主要集中在20小时至80小时之间,个别学生甚至达到800多小时(图3)。这与学生学习习惯相关,有的学生在线操作主要是为了下载教学资源,以离线学习为主;有的学生则较为关注学习平台教学资源,时常登录学习平台,并积极参与教学论坛和教师的交互活动。
3.2.3学习者在线人数的实时统计
通过对网络学习平台同时在线人数的实时监控,可为网络学习平台教师和技术管理人员提供积极意义的参考。教师根据在线人数的变化,可以分析学习者每天在线学习的主要时间段,并可在该时间段参与学生之间的互动,掌握发布教学资源、回答学生提问的时间点。
图4是网络学习平台同时在线学习者人数的实时统计图。学习者登录学习平台后,学习平台自动记录该学生的登录信息,并每隔10分钟对人数进行一次采样,由计算机自动绘制同时在线人数统计图。学校领导、教师、教学管理人员和技术人员能实时浏览该图。
3.3学习者个体网络学习行为的实时监控
通过收集学习者网上学习行为而实时生成的统计报表,以课程为单位,记录了学习者网上学习的行为数据统计以及所有的操作日志,反映了学习者网上学习的情况。该报表有利于教师实时查看学习者网上学习情况,一方面可根据学习者学习行为的统计信息,获取学习者网上学习的行为、资源以及课程等方面的偏好,以便及时调整教学内容、教学方法;另一方面,也可以监控学生的网上学习,督促学习者更好地参与网上教学活动。同时也便于学习者掌握自己的学习进度。
图5为学习者个体网络学习行为的实时统计情况,其内容分为三个部分:①学习者个人简要信息,②学习者学习行为统计,③学习者操作日志。学习行为统计:以课程为单位,记录该学习者课程的学习时间、各种媒体的学习次数、与教师或学习者之间的沟通交流以及自检自测等情况。学习者操作日志:记录学习者每天在网络学习平台上的详细操作,便于教师掌握学生个人的学习偏好和关注重点。
4结论
我国网络教育的发
摘要:传统的软件测试教学模式很难将知识传授给学生,教学方法和手段已不能适应时代发展的需要,本文介绍了我系在软件测试课程的教学过程中引入案例教学以及项目驱动等教学措施,取得了一定的教学效果。
关键词:软件测试;案例教学;项目驱动
近几年专业性的软件测试机构和组织迅速发展,随之带来了专业软件测试人才的旺盛需求,软件测试人才的培养正成为新的热点。然而,软件测试课程的理论与实践脱节,现有许多软件工程教材中关于软件测试的章节只介绍软件测试的理论方法,即使有案例也只是简单说明,并没有介绍软件测试的具体方法和实现过程,这导致学生只会死记硬背软件测试的条条框框而不懂如何活学活用。为此,我们尝试进行改革,引入了新的教学思路和措施。
1案例教学
案例教学法比传统的以教师为主导的教学法,更有利于提高学生分析问题和解决问题的能力,促进学生学会学习以及沟通合作。我们在教学的过程中,以可操作的软件测试案例为中心,让学生能在教学中体会实际的测试过程。
首先,一个好的测试案例所包含的内容必须完整,应包含测试目的、特殊的硬件要求、特殊的软件要求、特定的配置、执行测试的描述、测试的预期结果或成功条件。
其次,根据测试的分类不同,可分为以下几种:
对于单元测试案例,主要按照程序内部的结构测试程序,检验程序中的每条通路是否都能按预定要求正确工作。这类测试案例主要验证模块接口、模块局部数据结构、模块边界条件、模块中所有独立执行通路、模块的各条错误处理通路。掌握白盒测试/黑盒测试方法以及单元测试的用例设计;通用代码编程规范、伪码写作规范的检查;基本的代码静态检查方法与工具运用;代码覆盖率检查方法与工具运用;OO程序单元测试方法与过程;针对内存泄漏的检查;掌握测试覆盖分析方法和测试用例最小化的运用。
对于功能测试案例,用于鉴定执行后启用的功能。这类测试案例验证软件是否提供了基本的单
元功能、是否提供集成后的功能,以及是否提供解决方案设计中指定的其他功能。
对于Web测试案例,Web系统是当前网络环境下最多的应用系统,其主要内容设计为Web性能测试项目解析、性能测试流程、测试规划与设计、性能测试需求分析、用户事务分析、Web资源分析、网页元素细化等。
对于集成测试案例,主要包括针对结构化软件和面向对象软件的集成测试,独立开展集成测试用例设计和用例执行。具体分为基于结构化程序的集成测试方法和基于UML图的面向对象的集成测试方法。
对于系统测试案例,掌握常见系统测试类型的基本测试方法,独立设计系统测试用例,运用手工方式或测试工具完成系统测试,包括功能测试、性能测试、压力(负载)测试、配置测试、易用性测试。
再次,教学案例的具体应用。我们根据难以程度,将测试案例大致可分为简单的基础性实验案例和综合实验。简单的基础性实验案例主要包括白盒测试和黑盒测试,通过学习让学生掌握软件测试最基本的一些方法。综合性的实验案例,特别是较大型的软件项目测试实验,让学生在实验的每一个步骤中理解软件测试技术和各种具体的测试方法,增强实际操作能力,增加软件项目测试的综合经验。
通过综合性实验的学习,可以让学生感受大型软件测试项目的工作流程和实施细节,掌握各种软件测试方法在大型项目中的应用,体会软件测试的规律;了解软件测试项目的管理,熟悉软件测试项目中人员的管理、产品的管理、软件测试案例的管理以及缺陷的管理;能够进行比较复杂的白盒测试或自动化测试,为从事要求较高的软件测试打下很好的基础。
2项目驱动
软件测试是一项技术性较强的工作,规范的实施也是以工程的方式开展或进行。因此,最好的课程内容及教学设计是通过项目的活动及过程来呈现问题,运用相关理论知识解析问题,以及通过工程过程解决问题,通过项目阐明技术方法与策略的运用。
项目的复杂性通过分解得到局部的单一性和简单化。项目包含了由易到难,由简单到复杂,由单一到综合,逐步实现的内容和过程。软件测试本身就是理论与实践紧密结合的一门技术学科或工程体现,贯彻项目教学法是该课程理论教学与实践教学“一体化”的最好形式。通过项目教学,可落实教学的循序渐进原则、系统化原则、目标性原则、整体优化原则以及规范化原则。项目教学使教学内容的构建紧密围绕课程总体目标展开,项目组成具有针对性强,目标具体明确、步骤清晰的特点。它按照组成技能教学内容及相互间的内在联系,使各部分内容有所侧重,互相衔接,
软件测试项目大致可以分为以下三个方面:“软件测试技术”等课程的实践教学,强调案例教学法,强调实践教学;课外实践,强调综合性、设计性实验,由学生在课余时间完成,包括毕业设计;企业实习,和多个企业建立关系,供学生实习软件测试。
3常用自动化测试工具使用
在理解软件测试自动化原理基础上,掌握业界常用的
Rational、WinRunner、LoadRunner、Junit、Panorama等系列测试组件的运用。在制定的测试策略中应用测试自动化工具开发、编辑、运行和调试自动测试脚本程序,建立测试过程、生成测试报告,分析测试结果,理解测试工具如何进行对测试数据进行自动评估分析,掌握测试工具如何对测试文档生成和利用。如表1。
4结束语
我们对软件测试的教改受到了学生和老师的普遍欢迎。通过调查,大多数学生认为使他们对课本知识的理解更加深入了,主动思考问题的能力也得到了提高。教师们也普遍反映“软件测试”的教学质量和教学效果得到极大的提高。
参考文献
[1] 钟元生. 软件测试实践教学特色的构建实践[J]. 电化教育研究,2006,162(10):62-65.
[2] 张小进,陈雄峰. 软件工程课程改革探索—软件测试在程序设计课程中的引入[J]. 高等理科教育,2006,70(6):91-94.
[3] 贺平. 软件测试课程开发[J]. 计算机教育,2006,(12):53-56.
[4] 梁春媚. 建构主义教学理念在中职计算机教学中的运用[J]. 职业教育研究,2004,(12):60-61.
[5] 张继学. 案例教学及其在国内的发展现状[J]. 职业教育研究,2004,(11):60-61.
摘要:游戏编写是游戏程序设计教程中很重要的内容。本文介绍了一个完整的2D游戏—坦克大战的开发过程,对游戏素材编辑、地图编辑和游戏主程序的设计做作了完整介绍和代码实现,使学生能完全掌握并应用到实际其它游戏的开发过程中。
FY: Double;
FZ: Integer;//==深度坐标,越小越在低层
FWidth: Integer;//==角色尺寸:宽和高
FHeight: Integer;
procedure Add(Sprite: TSprite); //==增加角色到列表FList中
procedure Remove(Sprite: TSprite);//==移走角色
procedure AddDrawList(Sprite: TSprite);//==增加角色到绘制角色列表FDrawList中
procedure Collision2;//==碰撞检测
procedure Draw;//==绘制角色
function GetClientRect: TRect; //==得到角色大小
function GetCount: Integer;//==角色列表中角色数量
function GetItem(Index: Integer): TSprite;//==用索引取得角色
function GetWorldX: Double;//==获取角色在地图世界中的位置
function GetWorldY: Double;
procedure SetZ(Value: Integer);//==设置角色在地图层中的“深度”
protected
//==注意:所有virtual方法必须在子类中实现==//
procedure DoCollision(Sprite: TSprite; var Done: Boolean); virtual;
//==碰撞事件处理
procedure DoDraw; virtual;//==显示事件处理
procedure DoMove(MoveCount: Integer); virtual;//==移动事件处理
functionGetBoundsRect: TRect; virtual;
functionTestCollision(Sprite: TSprite): Boolean; virtual;
//==碰撞测试
public//==公布方法
constructor Create(AParent: TSprite); virtual;
destructor Destroy; override;
procedure Clear; //== 释放列表资源
function Collision: Integer; //==获取发生的碰撞次数
procedure Dead;//==死亡登记
procedure Move(MoveCount: Integer); //==移动所有角色
function GetSpriteAt(X, Y: Integer): TSprite; //==取得某位置处的角色
propert