把关课程考试质量的实践探索.doc_第1页
把关课程考试质量的实践探索.doc_第2页
把关课程考试质量的实践探索.doc_第3页
把关课程考试质量的实践探索.doc_第4页
把关课程考试质量的实践探索.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

把关课程考试质量的实践探索 摘要:本文从实践探索入手,分析总结了课程考试对青年教师在“教”与“学”两方面提高质量的重要性,对青年教师如何提高教学质量具有现实的指导意义。关键词本文来自:计算机毕业网 :课程考试;教育教学观念;分层次递进式 课程考试,常听人说是教师的“法宝”,学生的“命根”。虽然我并不完全赞同这一说法,但长期以来,考试无论对教师还是对学生,都是教学过程中倍受人关注的重要环节。我是一位从教五年的青年教师,主讲过“电机拖动与控制”、“数字通信技术”、“MCS-51单片机原理及应用”以及“电工基础”等多门课程。紧张有序的教学实践使我逐步认识到,课程考试的主动权虽然掌握在教师手里,但实际上整个过程是一种“互动式”的师、生互考的实践和检验。而且课程考试后的影响确实非同一般,它不仅影响到教与学的质量和评价,还影响到师、生的心情和“后劲”。作为青年教师,要把关好课程考试的质量实在不是轻而易举之事。记得2005年下半年,从教才一年多的我就承担了“电机拖动与控制”、“数字通信技术”两门课的教学。结果考试时,前一门课全班及格率只12,最高才73分;后一门课不及格率也近40。一开始就遭此“闷棍”,实在没想到,身心承受着巨大的压力和苦恼。反思原因,一是不了解高职学生的学习实际,二是受多年在重点院校学习的影响,命题的形式和难度让学生难以适应。不过,在遭受挫折的同时,也看到了方向和希望:“数字通信技术”考试虽不及格的多,但学生的成绩分布(如下表1所示)则引发我对课程考试质量问题的思考和兴趣。这些质量问题归结起来主要是: 课程考试的质量应该体现在哪里? 对课程考试,教师应有什么样的责任感? 课程考试应该考学生什么? 如何通过命题来达到预定的质量效果?1课程考试的质量主要应体现在哪里?当前,由于大批教学经验丰富的老教师陆续退休,青年教师迅速地被置于教学主战场的位置,“青黄不接”由过去的“人员不足”转而变成“教学经验不足”和“规范意识淡薄”的问题。在这种情况下,一线青年教师队伍中很容易形成基于各自个性而自生自长的“教学意识”和“规范意识”。例如,基于个性的教学法、命题习惯和考试方法等。有个性、多样化本是好事,无可厚非,但实际上发现,包括我自己在内,像教学目的是什么,如何考核学生,如何命题等等问题,并非人人都清楚。2课程考试中教师的责任感应该体现在哪里?课程考试中教师的责任感首先体现在以什么为出发点来命题。现在有一种不良的现象:怎么方便自己阅卷就怎么命题。于是,可以经常看到划一地、不恰当地大量应用填空题、判断题来考核的情况。以什么为命题出发点,究其实质是指导思想问题,而反映出来的就是教育责任感问题。我认为,“以学生为本”要体现在这些平时不那么容易被查到的具体“小事”上。命题的出发点应是引导学生能更好地掌握和运用知识,提高创新能力,而不是方便自己阅卷。所以,教学实践中我尽力朝着有利于学生发展自己的才能和创造性这一方向去命题。例如:在我所讲的课程考试中,我基本上不采用选择判断题来考学生(这样的题很有利于舞弊),而是侧重于运用知识来分析、思考。当然这样增加了大量的阅卷时间,例如把一个简单的选择题改造为分析性、思维性和运用性稍强的题时,阅卷时间要拉长好多倍,但这是一种责任,应当做,值得做。3以分析与创新为主题,分层次递进式命题,是教师真正“发现”和了解学生的重要依据在当今信息、知识和竞争日益突显的时代,高职学生将来走向社会究竟能做什么?对此,学校有责任训练学生“认识自己”、“发展自己”并凭借自己的优势长处去发明创造,而课程考试就是这种训练方式之一。为了实现这种训练,采用分层次递进式命题方式是有效方法之一。所谓分层次递进式命题,就是在了解学生的学习实际的基础上,先命出60分的基本题,突出最基本的概念,涵盖面大,这是第一层次;在此基础上命15分左右的题,使总分达到75分左右的程度,这15分左右题强化基本的分析、计算训练,这是第二层;继而命15分左右的题,难度较大,突出思维与灵活运用,这是第三层;最后是第四层,命10分左右的题,对高职学生,通常是带设计、实践性的知识运用题,主要面向1015基础相当好的少部分学生。总计100分。为体现用同一要求面向所有学生,在后三个层次中的每一个层次,再分小题由易到难递进。实践表明,这种方法的最大好处就是可以通过拉开学生成绩的档次来展示学生的学习质量和效果,方便学生客观地找到自己的差距,也可方便教师更深刻地了解学生并检验自己的教学目的和质量。表2和表3分别是2006年在初探课程考试质量问题后,在命题难度基本不变的情况下05级某专业班的“电工基础”和04级某专业班的“单片机原理及应用”的成绩分布表。这两门课对我也是新课。可以看出,与开始比较,有了改进,高、中、低档比较清晰,80多分,90多分已占有一定比例。由于学生中半数以上是高考文科生转入,故相对而言基础仍较薄弱。表4表6是06年上半年至07年下半年04级06级三个不同专业班的“电机拖动与控制”的考试成绩分布,命题难度仍基本不变。可以看出,与2005年的初次考试比较,情况在不断好转。所谓“好转”,除成绩外,还体现在另两个方面:一是学生的学习因考试的引导已开始由死记硬背逐步转向在掌握基本概念的基础上突出分析、思考和灵活应用,突出“创新”。二是由于不是“非对即错”的选择题,学生反映考试有嚼味,都想凭实力一分一分争,所以考场既无人舞弊,又无人提前交卷,都相当认真。相信经过今后继续的努力和探索,学生的学习状况会更好。4依据不同课程特点命题,是任课教师应掌握的基本功由于客观因素,教师面临多门课程的授课有时是免不了的。但是,不同课程有不同特点。例如,“数字通信技术”内容突出的是数字通信时信息的获取、存储、传输、控制等应遵循的一般规律,具有很强的逻辑性和严谨性。而“MCS-51单片机原理及应用”突出的是模仿人类大脑的思维功能。所以,“数字通信技术”课程考试应注意学生认识、分析和计算的逻辑性、严谨性等方面的训练,而“MCS-51单片机原理及应用”课程考试则应注重发掘和发展学生大脑的思维训练,两者应有所不同。课程不同,命题应该不一样。这是青年教师应特别注意的。 摘要:数据结构是计算机科学与技术专业一门非常重要的专业基础课,如何上好这门课一直是大家探讨的热门话题。而多媒体课件被广泛应用于教学之中,在教学工具中拥有独特的优势和地位。如何让二者更好地结合,既能凸现多媒体课件的优点,又能解决数据结构课程难学难教的问题?作者在多年教学工作的基础上,在精品课程的建设过程中,总结了一些心得和体会。关键词:数据结构;算法;多媒体教学数据结构课程是计算机科学与技术专业一门十分重要的专业基础课,在整个课程体系中处于承上启下的核心地位,它一方面是离散数学、高级程序设计语言、面向对象程序设计等课程的后续课程,要继续深化这些基础课程中学到的基本技术和方法;另一方面是操作系统、编译原理、数据库等专业课的先修课程,要为高年级专业课的学习奠定坚实的理论与实践基础。而且这门课程理论和实践并重,既要求掌握基本的数据结构及其算法,又要求将其熟练应用于解决实际问题之中,以提高学生的软件设计能力和动手能力。很多高校都把数据结构列为考研必考科目,因为它考察的是学生软件开发方面的综合能力,很多企业在招工的时候也加入了这个环节的测试。面对这样一门重要的课程,历届学生在学习中起来却往往不能把握其实质,感到它枯燥难懂,无从下手,结果一学期下来理论知识掌握肤浅,动手能力也没能得到提高,使得数据结构课程不能起到它应有的作用。因此,找到一种好的教学方法,不断提高教师的教学水平就显得尤为重要。1 数据结构课程的特点从教学环节上看,数据结构课程一般安排在大学二年级,这一阶段的学生对计算机只是刚刚入门,运用高级程序设计语言只能开发比较简单的程序,还没有达到熟练掌握的程度。以我院为例,数据结构的先修课程之一是c语言,所以采用C语言作为开发工具,但是学生在阅读算法的过程中,尤其是对掌握不够精准的指针部分遇到了极大的问题,而数据结构中的大部分算法又恰恰使用到了指针。从教学内容上看,数据结构课程内容非常丰富,讲述了表、树、图等主要数据结构的定义及其算法描述和算法分析,概念多且比较抽象、难于理解,算法多且都用类C进行描述,一机调试时需转化为程序设计语言方可通过,既强调理论知识的学习又注重编程能力的操作。2多媒体课件的特点随着计算机技术的发展,计算机在教育领域的应用日渐广泛,在教育部的大力倡导下,全国各高校都积极推行了多媒体教学。教学实践表明,正确运用多媒体教学手段,可以在很大程度上提升教学水平,提高教学质量。通过多媒体对感官的作用,可以辅助课堂教学中抽象的、微观的概念或过程的描述,提高学生的认知能力,可以以更加新颖独特的形式,提高学生的学习兴趣,同时也大大提高了课堂教学的信息量。3利用多媒体课件进行数据结构课程的教学利用多媒体课件的优点,结合数据结构课程的特点,在进行教学设计时应从以下几个方面考虑:3.1 教学信息组织与结构设计从认知心理学的角度来看,主体对信息的加工过程是从不断的接受信息开始的,在工作中不断的将词的“节点”联结起来形成新的命题,从而实现“解码”。在没有任务的自然状态下加工信息,记忆效果服从“趋中效应”,而在明确任务的前提下,记忆效果服从“首尾效应”。在利用多媒体设计数据结构课件的时候就可以根据这一特点,在每一章节开始的时候明确教学重点或知识点,让学生有确定的学习目标和学习任务,然后根据记忆保持效果规律安排教学内容。这样做的另一个好处是,在多媒体教学课堂信息量大的前提下,可以有效避免学生有听课抓不住重点的感觉。3.2抽象概念的形象化设计数据结构课程和数学联系紧密,很多概念及定理比较抽象,这时可以结合多媒体丰富的表现手法,突出教学内容中已有的具新颖特性的信息和对学生情绪有正面激励作用的信息。比如在讲队列的时候,结合医院排队就诊、食堂排队打饭等例子就八队、出队的静态图形或数据移动的动画效果进行讲解,启发学生从中抽象出队列的特点,加深理解,“先知其用再知其理”是很容易被学生接受的。其次,运用多媒体高效的集成环境,运用色彩,动画等技术方法,将教学内容中重点但难于理解的关键词句、概念、原理等与其它信息区别开来。生动的视觉表象可启动学生的情绪机制,有利于知识的内化与深化。另外,利用多媒体的超链接技术,可以使本来是平面展现的知识结构变得立体化,使各知识点之间的上下位概念关系、从属关系、并列关系等层次清晰的反映出来。比如在算法中反复出现了对于存储空间的动态分配问题,为了使学生更灵活的运用指针,可利用链接复习高级语言程序设计中关于malloc和free的使用,或者面向对象程序设计语言中关于new和delete的使用。摆脱这些基础问题的困扰,使学生能够更快的了解算法的含义。再比如讲到某处时,还可以链接引入后续的部分内容,再把学生的视线拉回到所讲内容,让学生学会带着问题学习。用这种方式,学生能自主灵活的学习,学习顺序可根据需要任意改变,以时间和空间为主要线索反映知识的结构。3.3算法的动态演示设计算法的难于理解和实现往往是学生感觉数据结构难学的一个重要原因,以严蔚敏清华版教材为例,全书涉及到的各种算法有近百例,课堂中用来精讲或验证的算法也有五、六十例,由于学生对高级程序设计语言的运用不够熟练,所以在学习起来有畏难情绪,从而导致学习热情不高,或因为程序多次调试不成功而失去学习兴趣。另外教师在课堂上大段的讲解算法也容易造成课堂气氛不活跃,学生积极性不高的局面。基础好思维敏捷的学生能够跟得上教师的节奏,而基础薄弱的学生很容易因为听不懂而放弃。这时就可以充分利用多媒体课件灵活、动态、可交互、可重复的优点,创造图解使用图示,降低理解问题的复杂性。比如在讲解二叉树的建树操作中,在学生对递归调用掌握比较模糊的情况下,可以按照算法的执行顺序,一边动态演示从根节点出发建立每一个叶子节点,而后连接到根节点左右子树的过程,一边辅以动态栈演示中间的变化过程。使学生暂时摆脱代码的约束,很形象的了解算法所表示的内容,待有直观的感受后再来理解算法。3.4板书+多媒体的教学设计现代教学模式强调,教师是教学活动的主导,学生是教学活动的主体,所以在运用多媒体进行课程教学的过程中要充分体现教师和学生的这种教和学的关系。尽管多媒体技术有诸多的优点,在课堂教学中也不能一味的依赖多媒体课件,教师是知识传授者,而不是课件的播放者。尤其是在数据结构的讲授过程中,算法中核心代码的提出,关键点的强调,如果恰当的结合板书会起到事半功倍的效果。比如在进行二叉树性质的介绍中,这些性质的证明过程往往是很多计算题的解题过程,如果在用屏幕显示出结果的基础上,结合板书带领学生进行推导,就会使学生更加主动的参与验证,理清思路,从而加深理解和记忆。“眼过十遍不如手过一遍”就是这个道理。另外,适当的利用板书,可以使学生从紧张的浏览大容量信息的视觉疲劳中暂时解脱出来,调整节奏,有时间来思考教师提出的问题,变被动接受为主动思考。3.5多媒体课件风格的设计运用多媒体课件进行教学的目的是辅助教学,利用感官的刺激,调动学生的积极性,激发学生的学习兴趣。但是这也要掌握一个度,比如不能把课件制作的色彩过于丰富,图片和动画运用的花里胡哨,或者插入华而不实的声音效果,这样非但不会帮助教学,还会喧宾夺主,分散学生的注意力。教学信息应该很艺术、很和谐、很科学地包含于多媒体课件内部,从字体字号的选择,到前景背景颜色的设置,再到每一个技术技巧的运用,都要围绕着教学内容来设计。4结语学记中说:“君子之教,喻也。道而弗牵,强而弗抑,开而弗达”,而多媒体技术在教学中的正确运用恰好可以起到锦上添花的作用,能更好的激发学生的学习兴趣,使学生不畏难、有勇气去克服困难;同时明确教学目的,使学生掌握正确的学习方法。当然,将多媒体教学合理地运用于数据结构课程决不是一件容易做到的事,还需要经过长时间的不断完善和提高,这对每一位从事计算机教学的教师都提出了更高的要求。 “做中学”让我学会学习 当前教育提倡推行素质教育、培养创新型人才。“做中学”的教育模式可以让学生全程参与教学、实践,自主学习,充分调动学生主动获取知识的积极性。在学习的过程中做项目,可以使学生的理论知识和实践技能得到提升,培养团队意识,并具备一定的处理工程问题的能力,这也正是企业所需要的;同时,老师可以在学生应用所学知识时给予指导和帮助,实现“做中教”,使教与学有机结合,相互促进。 基于项目的“主动学习”,是“做中学”在高等教育阶段一种非常有效的形式,也是CDIO的重要标准之一。通过这种形式,让学生自己规划学习、自己主动查找学习资料,发现问题、分析问题、主动提出解决方案,直至解决问题。在这个过程中,学生自己规划学习和自学的能力得到强化,团队合作能力、沟通能力和辩证思维能力得到提高。 根据我在北京交通大学工业工程专业读本科时基于项目的“主动学习”经历,本文从以下几点与大家分享“做中学”的收获和体会。 1发现问题(寻找问题) 基于已有的知识,由老师或学生去发现一些现实中的,或者从现实中提炼出来的、力所能及的问题,分析问题产生的原因和所涉及的大致内容与范围。在这个环节中,老师对题目和研究内容的指导和建议起着非常重要的作用。此外,项目小组的同学集思广益,发散思维,通常会取得不错的效果。 在我读大学三年级时,“人因工程”和“基础工业工程”这两门专业课提到了工人的工作效率是与工作环境有关的。当时我正在国家工科物理基地的创新天地实验室寻找立项的题目,于是我想到可以设计制作一套简单、有效的控制系统,来解决工作环境中包括照明、温度、空气质量和湿度等环境因素的自动控制问题。这样既可以实践我所学习的管理科学专业知识,又可以应用课程中学到的技术方法。接着,我复习了相关的专业知识,并得到了指导老师的认真指导和帮助,确定项目的可行性:又找来感兴趣的学生组成项目小组,和我一同去图书馆查阅环境因素控制相关的资料,在互联网上检索具体技术的常见实施方法。由于对项目背景和初步方案有较为充分的准备和分析,我们这个题目通过了立项。 随后的国家级大学生创新项目“向日葵太阳追踪系统”等选题申报也是相似的:通过观察发现,通常使用的太阳能电池板都是固定式安装,太阳光线长时间处于斜射状态,而这种斜射状态会降低太阳能电池板的能量转换效率,于是我开始尝试利用向日葵的仿生学原理来解决这个问题。 针对发现的问题,分析解决问题的方向和方法,较为深入地研究,也可以组织多人讨论,此处可以应用“头脑风暴法”,得出一套或几套可行的方法和执行路线。有了初步的执行方向,就可以大致确定这个问题所包含的子问题,以及解决各个子问题需要用到的方法和途径。新的方法需要学习,新的途径需要摸索。将问题细化归类,也可以得出大致的难度系数,可以根据难度系数来决定简化问题,或者拓展问题。在确定问题之后,即可以开始着手准备,分析哪一部分问题可以用已有的知识解决,哪一部分问题需要通过学习,获取解决问题的新知识。这个过程就像一次探险,解决问题的结果是探险活动的目的地,在出发前需要根据已有的知识,研究前进路线和前进方式:继而较为深入地分析为了这次活动所需要解决的困难,以及哪些可以用目前的知识解决,哪些问题可以在学习后解决,并分析出预期的风险和制定活动计划。 完成项目可分为三个层次:创意设计、技术制定、加工制作。在项目立项时,可以根据学生的受锻炼程度分级训练。对于实践经验较少的同学,可以首先培养动手操作的技能,增强感性认识,然后循序渐进地提高要求:对于具备一定实践技能的学生,可以加强创意设计环节,鼓励发散思维,培养创新精神。在小组内,也可根据小组成员的不同特点,分配适合完成的任务。 2实施方案 项目的顺利进行,是与老师的适时指导和帮助分不开的,同时也需要团队成员分工合作,积极配合。 工业工程这门学科非常讲求提高效率,降低成本。在做项目的过程中,我就应用了课堂上老师讲授的管理方法和技术。首先,对项目题目进行细致的分析,将大任务细化、分解为子任务;对项目中各子任务的完成时间做出估计,确定各子任务间的紧前、紧后关系,即后面的子任务要在完成前面子任务的基础上开始实施;制定出项目初期的进展计划和时间表。 在给小组成员分配任务时,也要根据他们各自的特点来确定分工。例如,喜欢电子控制的学生可以负责电路部分,热爱机械设计的学生主管机械结构,思维灵活的学生可以安排较为概念性的设计任务,踏实肯干的学生安排较为细致的工作和落实较为具体的任务,擅长沟通交流的学生可以负责采购和零件加工等。 根据制定的计划和执行方案,采用统筹的方法安排进度,并分配小组成员的任务,在尽可能短的时间内完成计划。 实施方案的过程是一个将概念转化为实物的过程。例如我在做太阳追踪项目时,开始在我头脑中的方案概念就是一棵向日葵:接着,我要分析向日葵的追日原理,了解太阳能光伏行业的基础知识,考虑如何将向日葵的仿生原理用到太阳能电池板上,使之可以追日旋转;然后绘制图纸,制作电脑仿真,确定一套可行的方案;购买原材料和器件,像搭积木一样,将一堆原料变成最后的一个可以自动追日转动的太阳能追踪系统。这个过程可能会持续比较长的时间,但这也是收获最大的阶段。 在执行的过程中,可能会遇到预料之外的问题,比如按原有的设计,某个零件可能存在安装的问题,这时就需要想解决的安装办法,更改尺寸,设计零件安装座等,或者修改相关的空间结构。 另外,在设计实现某个功能时,可能根据已有的知识无法达到目的,就需要查阅资料学习新方法了。例如,在太阳追踪项目中,需要选择驱动电机,而这个很具体的知识在课本中较少涉及,就需要先去图书馆查阅电机的种类、特性等知识,再到网上以及电子材料市场查找合适的电机。 这个过程中存在一定的不确定性,既包括时间进度,也包括方案的修改和完善。 由于需要解决问题的目的明确,在学习新知识时就更有针对性,如何尽快找到所需的知识,并在短时间掌握、应用,也是对工程实践能力的很好锻炼。 3应用新知识解决新问题 解决问题的时间是有限的,在遇到关键问题或不容易解决的问题时,及时向老师请教是一种非常有效的方法:此外,还要求项目小组的学生具有团队意识,分工明确地到图书馆或者网络上,从大量的信息中较 为高效地获取所需的内容,并在尽可能短的时间内掌握这些新知识实现知识和数据的共享。在这一环节中,学生检索信息和利用信息的能力得到提高,增强了适应信息化时代的技能。此后,新学会的知识会很快得到利用,在应用中加深对知识的理解。由于没有过多的相关已有经验的限制,发散思维更加活跃,也容易有所创新。有些创新性想法是科学合理的,这会为相关行业的发展提供动力:有些通过实践验证是不可行的,但在这个过程中,也同样深化了学生对该领域的研究与思考,仍然是有益的。 我在开始决定做太阳能追踪设备时,已掌握的是机械和电子方面的专业知识,但对于太阳能相关的内容,知道的非常少。为了从实际角度解决追踪问题,就必须熟悉太阳能光伏发电行业的专业知识和行业背景,于是,我从零开始查阅太阳能光伏的书籍。有时,为了寻找某些问题的答案,我可以在一个晚上翻阅十几本太阳能的书籍,并做记录;当遇到其他问题时就可以凭记忆将问题归类,更有针对性地查询,这样坚持不断的学习,使我在短时间内掌握了太阳能行业的基础知识。 制作印刷电路板,通常需要用Protel软件绘制PCB板的电路图。Protel这种软件我在课堂上没有接触过,就在图书馆借几本入门的书,去互联网找一些视频教程,不会的地方再问老师和同学。由于项目进度的需要,我积极地学习新的知识,于是在很短的时间里就掌握了基本的绘制PCB板电路图的技能。 在实物样机制作时,这些太阳能方面的知识更是发挥了很大作用。同时,在部件采购的过程中也会遇到相关行业的技术人员,学习和交流实践的经验,改善产品设计,使其更符合市场需求。有几位企业的人员曾告诉我:产品要切合实际,成本低,才容易卖出去。这对我的设计思路有很大的启发。 4方案的修改与完善 方案的修改与完善,是一个持续、渐进的过程。一个项目的方案,从最初版到最终版,通常要修改很多次。实施和完成方案的过程,就是将一个想法转变为实实在在的产品或者切实可行的结果,是从理论到实践的过渡。方案的执行,会受到现实条件的制约,要做的就是在约束条件下的可行区域内选择可行的、或者最优的方法。在这个环节中,通常会出现很多新的、预想之外的问题,是对项目执行者能力的考验,可以增强参与者解决实际问题的能力。 当我们做太阳追踪这个项目时,由于对部分电子元件的特性不够了解,电路控制部分经常出问题。我们就从头开始检查问题的来源,并思考解决办法。后来用另一种性能更好的元件替换原来的元件,从功能实现的方法上去改进。 一个项目小组,经过了较长时间的努力,可能会出现一些疲惫、懈怠的情绪,这也是一个考验意志与战胜困难的过程。此时,与完成任务只是一步之遥,需要振作精神,不急不躁,继续思考解决问题的办法,并勇于尝试,才能见到胜利的曙光。这也印证了“坚持就是胜利”的道理。在高速发展的时代,具有顽强的意志品质是十分必要的。 5解决问题与总结 良好的学习和研究氛围,是项目顺利完成的保障。经过一整套基于项目的学习,有很多收获与体会,也有新的体验。在完成前文所述工作之后,还需要小组认真总结项目完成过程中的经验与教训,犹如学习之后的复习。成功的小组成员会充 摘要:本文提出了MATLAB Web Server 远程服务设计方案,并在研究MATLAB Web Server 技术、M函数文件的结构、功能和设计方法的基础上,设计了一个“信号与系统”课程虚拟实验室系统,为计算机实验辅助教学提供了一种可行的解决方案。关键词本文来自:计算机毕业网 :远程虚拟实验;MATLAB Web Server;信号与系统1 引言“信号与系统”课程的特点是概念抽象,数学知识含量大,繁杂的数学公式推导及数学结果都使学生较难于理解,这就更加需要通过实验来帮助学生理解这些抽象概念。建立虚拟实验室是解决这一难题的很好的途径。开发“信号与系统”课程相关的计算机虚拟实验室,能充分利用宝贵的计算机资源为基础课程服务。MATLAB Web Server是MATLAB的一个可选组件,允许工程人员将MATLAB应用程序通过Internet进行发布,使用者不用学会MATLAB,只要通过点击鼠标就可以访问MATLAB应用程序,获得计算的结果或相应的图形结果,特别适合于网络虚拟实验平台的开发。本文以Browser/Server(B/S)模式的分布式网络结构,将应用程序MATLAB部署在WEB服务器端,从而达到跨平台的作用。服务器端的应用程序使用WEB服务器端作为和客户端浏览器的接口,应用程序在WEB服务器上生成的HTML文档可以给所在平台上的用户浏览,从而实现远程虚拟实验室。2 基于MATLAB Web Server的远程虚拟实验技术2.1MATLAB Web Server基本配置首先采用Windows XP中自带的组件IIS5.0对计算机进行WEB服务器配置;建立虚拟目录/cgi2/bin和/icons,并把它们和WEB服务器主目录一起指向/matlab/toolbox/webserver/wsdemos。安装程序在/matlab/webserver目录下创建一个matlabserver.conf文件。首次打开时,该文件只有一行“-m 1”,该参数表示允许同时运行的MATLAB 进程数,可以根据需要改变其数目。调用MatlabWeb Server,要事先对应用程序的信息表matlabserver.conf文件进行配置,将所有由网页调用的M文件进行列表。每增加一个MATLAB WEB应用,都需要在matlabserver.conf中增加一项配置。即:文件名 /*Matlab进行调用的M文件的名字*/mlserver=/*服务器名称或IP地址,单机测试可配置为127. 0. 0. 1*/mldir= /*设置MATLAB程序的路径,同时也是读写文件的目录*/注意,要使应用生效服务器必须重启。2.2建立一个向MATLAB提交数据的HTML输入文档根据实验设计需求,建立一个处理输入数据和计算结果的m文件,如抽样定理实验sample.m。把所有要使用的m函数文件都移至/matlab/toolbox/webserver/wsdemos中,通过MATLAB Web Server调用MATLAB操作的都是这个文件夹里面的m函数文件。随后建立一个向MATLAB提交数据的HTML输入文档。参数提交是通过HTML页面中的表单来完成的,形式如form action=“/cgi-bin/matweb.exe” method=“post” 。表单中一个重要和必须的输入变量是mlmfile,标明处理该表单的MATLAB程序名,其属性为隐含。例如, input type=“hidden” name=“mlmfile” value = “sample” ,其中,value值为接收该表单参数的MATLAB程序。简化的HTML代码为htmlbodyform action=“/matlab/cgi-bin/matweb.exe” method=“post”target=outputwindowinput type=“hidden” name=“mlmfile” value=“sample”tableinput type=“submit” name=“submit” value=“确定”table/form/body/html在Web页面中,点击 “确定”按钮,将调用MATLAB WEB服务器的入口程序matweb.exe,从HTML表单中提取数据,运行MATLAB M函数文件sample.m。2.3建立一个显示MATLAB计算结果的HTML输出文档MATLAB程序将输入变量进行处理后,计算结果,将其写入结构outstruct中;然后调用MATLAB的子程序Htmlrep(outstruct,temlatefile),生成用于输出的HTML文件,其中,outstruct是包含所有输出参数的struct结构;templatefile是一个预先编制好的HTML模板文件。Htmlrep执行的具体步骤是把outstruct中的值传给HTML模板文件,然后把HTML进行转换。转换后的HTML是一个纯文本文件,其内容通过函数返回值以字符串的形式返回。这样,网关程序matweb.exe就根据函数返回值的内容生成一个HTML文件,直接送至客户端浏览器。由于函数返回值是一个字符串,字符串本身是不能包含图片的。要解决这一问题,与标准的HTML一样,输出的动态HTML文件,要事先写好screen.width-333)this.width=screen.width-333 标记,格式为screen.width-333)this.width=screen.width-333 src=$pic $,而图片的文件名也作为输出变量保存在outstruct中。图片的生成由MATLAB程序完成。可以在生成图片之前使用set()命令调整图片的大小。如果希望采用其他格式,可以尝试使用MATLAB的imread和imwrite命令改变图片格式。3 实验实例基于MATLAB Web Server虚拟实验室的主页如图1所示。主页是进入各模块的门户,依次进入各个实验部分,即基本信号、周期信号的傅里叶级数、周期信号的频谱分析、连续信号的卷积、信号的抽样及重建。图1 虚拟实验室的主页下面以信周期信号的傅里叶级数表示说明基于MATLAB Web Server的虚拟实验方法和过程。一些周期函数表示为傅里叶级数通常需要无限多项才能完全逼近原函数。但在实际应用中,经常采用有限项级数来代替无限项级数。因此,取有限项级数是一种近似的方法,项数愈多,有限项数愈逼近原函数。换言之,其方均误差愈小。选取周期方波信号为例来分析周期信号的傅里叶级数。用户在客户端输入傅里叶级数的项数,可以观察到有限项级数的傅里叶级数逼近原函数的程度。已知周期方波信号如图2所示,周期方波信号的傅里叶级数展开为利用本系统中的周期信号的傅里叶级数的在线实验,就可以通过MATLAB Web Server调用服务器上的MATLAB实现其各次谐波的叠加,并返回部分和波形结果。图2 周期方波信号进入周期信号的傅里叶级数页面,如图3所示。取消“比较”选项前面的勾选,在参数设置中设置傅里叶级数的项数为3,点击“确定”,则服务器返回MATLAB计算的图形结果,如页面右边。从返回的WEB页面上我们可以看到,当傅里叶级数的项数为3时,其各次谐波的叠加波形与原函数的波形的逼近程度。图3 周期信号的傅里叶级数页面从周期方波信号的傅里叶级数展开中可看出,当有限项级数愈多,与原函数的逼近程度越大。为了观察这种现象,勾选“比较”选项,设置另一个傅里叶级数的项数,这里选47,点击“确定”,则服务器返回MATLAB计算的图形结果,如图4所示。对比傅里叶级数的项数为3及47的时候,其各次谐波的叠加波形与原函数的波形的逼近程度。可以看到,随着傅里叶级数项数的增多,部分和与周期方波信号的误差越来越小。在 项的时候,部分和的波形与周期方波信号的波形已经非常接近。并且能清晰地观察到“吉布斯”现象。图4 谐波的叠加波形与原函数的波形比较图4结束语“基MATLAB Web Server虚拟实验室”对学生学好“信号与系统”课程有非常好的辅助作用。相对于硬件实验来说,虚拟实验室不仅有实时性、直观性的特点,而且大大节约了成本,提高了教学效率,增进了学生学习的兴趣,加深了学生对所学课程的理解。 参考文献1 甘俊英,胡异丁. 基于MATLAB的信号与系统实验指导M. 北京:清华大学出版社,2007.2 陈鸽,常敏慧. MATLAB在信号处理系列课程实验中的应用J. 实验技术与管理,2006,23(11):77-80.3 何强,何英. MATLAB扩展编程M. 北京:清华大学出版社,2002.4 黄斯伟. HTML完全使用详解M. 北京:人民邮电出版社,2006. 摘要:本文以词法分析实验为例,讨论了编译原理实验课程的教学方法,提出了在实验课程教学之前,实验过程中以及实验后,教师教学需要注意的地方,以达到深化理论认识,提高学生实际编程能力的目的。关键词本文来自:计算机毕业网 :编译原理;实验教学;词法分析1引言“编译原理”是大学本科计算机专业的必修课程,但学生在学习这门课时普遍感到难度较大,学习内容抽象,不易理解。如果不配合实践教学,仅通过理论课程的学习,难以使学生真正地理解编译程序的构造原理和技术。但是,编译原理的实践课程也存在着一些困难,比如:有些算法本身理解起来都十分抽象,如自动机理论、集合论的推演、LR文法等,大部分学生在实现这些相关算法的时候,难以形成思路;又由于多采用分组实验方式,一部分同学产生依赖思想,寄希望于组内其他同学。这样,显然达不到深入理解理论知识、提高实际编程能力的目的。本文就以词法分析实验为例,讨论编译原理的实验教学方法。词法分析实验主要包括以下几个方面的内容1:词法分析器的设计和实现,三个算法(正规式转换为有穷自动机的算法,有穷自动机的确定化,确定的有穷自动机的化简)设计以及词法分析自动生成器。其中,词法分析器的设计和实现是重点内容。通过这个程序的设计,学生可以掌握词法分析器的作用、分析方法、和实现原理,并了解词法分析在整个编译过程中的地位。三个算法的实现有一定难度,通过三个算法的实现,学生可以加深对算法的理解,提高解决问题的和实际编程能力。2实验前的准备在进行词法分析实验课之前,应督促学生做好充分的准备工作2。首先,应该明白词法分析器的功能,它主要分成输入部分,字符分类识别和识别结果处理输出部分。根据不同的输入,调用不同的识别函数进行识别。进而得到词法分析器的程序框架。再后,进行系统的详细设计,设计出关键的数据结构,将每一个函数实现的算法和关键点,详细的用伪代码表示出来。实验课前的准备过程非常重要。否则,上来就匆忙动手,很可能写了很多代码之后,才突然发现,最初的数据结构设计竟然不合理,导致不少的工作都得推翻之后重新来做。因此,在实际编程前要求学生编写实验思路及实验流程,根据实验任务,设计程序的模块流程图及算法,并提出编程过程中可能遇到的困难和解决途径,最终形成一个预习性质的实验报告3。这样,学生对实验有一个整体思路。思考过程不仅使学生对所学理论有了较深刻理解,而且对理论与实践如何结合进行思考和归纳,提高了实际运用高级语言编程的能力。3实验课中的指导在实验课进行的最初,根据实验项目,指出实验目的和总体要求,介绍关键实验注意事项和操作要点等。对实验中的难点和重点,进行有针对性的讲解,并就实验中学生普遍会遇到的一些典型问题,做启发式地分析和引导,包括讲解学生的预习报告中提到的某些好的思路,起到抛砖引玉的作用,鼓励学生尝试新思路和新方法,最后由学生自主完成实际的系统设计并进行相关的研究尝试4。比如,词法分析器的设计思路,主要的数据流程,以及编写识别指数常数的等较难程序的关键技术等。编程题目由简到难的进行。一般认为,编译原理中的将正规式转换为NFA,将NFA转换成DFA等算法都比较抽象。实现起来有一定难度。如果一开始就从这些算法下手,很可能有一大部分同学都会出不了结果,从而产生畏难情绪,以至于对这门课程今后的学习都没有信心。所以,建议开始的时候从简单的词法分析器入手,帮助学生产生学习积极性。即使不能完整的做到每种单词都能识别,至少可以写出其中一部分。这样,有了初步的小成果之后,就会有兴趣也有信心来完成后续的实验内容。4实验之后的总结在每次实验课的最后,留出时间用于全班的分组讨论。主要围绕两项内容:其一,每个同学对编程过程中出现的问题,讨论相应的解决方法。建立一定的鼓励机制鼓励学生积极发言,提出自己的看法、观点。讨论后,各组指派一名学生代表总结发言。这样,各组学生可以相互了解其他同学在编程中遇到的困难和解决方法,相互取长补短、共同进步。为了让每个学生都得到发展,小组代表随机产生。通过讨论,学生变被动的学习为主动的学习,学习积极性有所提高。其二,由于每人只编写整个词法分析程序的某些部分,所以对整体把握有所欠缺,为弥补此缺陷,要求最后每个讨论小组把各自编写的程序连接起来,形成一个完整的词法分析器,进行总体调试。实验之后应做好实验总结。每个同学提交实验报告。报告内容包括对词法分析器输出的数据进行分析,关键程序的实现思路,遇到的困难以及解决方法,自己认为自己做的比较好的、不足的地方及其原因,自己的想法等等。教师再从中选取一些比较典型的问题和优秀的例子进行讲解,让同学们能够有所感悟5。通过实验总结,不仅让优秀的学生更加开阔了思路,也让比较差的学生看到了自己的不足之处,对他们理论知识的深入理解和实际编程能力的提高都有很好的促进作用。4结论在近几届的学生实验课程中,通过不断尝试、改进我们的教学方法,包括自己编写学习指导,实验指导书等,使编译原理实验课程逐步完善。同时,教学结果也表明,教学实验取得了一定的成绩,比如:学生从以前一上实验课就手足无措,变成了都可以自己动手编写大部分或者全部程序;在同样水平的要求下,学生的平均实验成绩有所提高;学习方式也由过去的被动学习变成了自己积极主动的学习。但是,仍然存在一些问题,如有小部分同学由于以前的程序设计课程学习不够坚实,导致编程能力有限,在对这部分同学进行单独辅导的时候,既要讲解编译原理的知识,还得给他们补习程序设计的知识,导致学习压力更大,兴趣激发更为困难等。这些问题需要进一步寻找解决的办法,以期达到更好的教学效果。 Discuss on Teaching Method of Complier Prin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论