本科算法课程建设的一些实践与思考本科算法课程建设的一些实践与思考 摘要:本文介绍了北京航空航天大学计算机学院本科算法课程建设的现状,分析了目前教学中存在的问题,总结了教学方法上的实践经验,并对算法课程的建设提出了一些思考。 关键词:算法;课程建设;实践 1算法课程建设的现状 1.1课程的定位 《算法与数据结构(2)》主要讲述基本的算法设计方法以及对算法的时间、空间和其他方面进行度量分析。 算法,是程序设计的灵魂。著名的PASCAL之父、结构化程序设计的首创者、19...
为了进一步提高学生学习算法的积极性,我们拟建设一个算法课程网站,并逐步向网站中添加在线求解问题(类似目前国内多所大学的ACM网站)和算法讨论区等诸多板块,加强与同学的交流。鼓励同学利用课余时间参加在线答题和算法讨论。
通过平时与学生的交流我们发现,学生更愿意将理论知识实际化,在现实生活中寻找所学知识的应用。例如,在一次与学生的交流中,我们谈到在商场购物打折优惠卷的优化使用问题,之后一位学生便自己编写了一个针对商场搞优惠活动时不同折扣、返卷及优惠卷使用规则的购物优化算法程序,并在某商场进行了现场的咨询服务。这种勤于思考和实践的表现受到了教师的表扬和鼓励,毫无疑问,这种学以致用的学习方式是非常有益的。
3.2是否需要介绍模拟退火和遗传算法等启发式算法
在以往的教学中,我们主要为学生讲述求解问题的精确算法,如贪心策略、动态规划等。但随着当前算法理论的深入研究,众多学者越来越关注和研究难问题及启发式算法。因此,为了鼓励和启发学生深入学习算法,我们正在考虑是否在以后的授课中加入对模拟退火和遗传算法等启发式算法的介绍,为学生以后对算法的深入研究起到抛砖引玉的作用。
3.3如何培养学生的研究能力
我们认为,北航的学生与国内其他一流高校的计算机专业学生相比,普遍动手能力强,但具有研究能力的拔尖学生少,去国外一流高校深造和顶尖研究单位工作的学生则更少。如何培养学生的研究能力,是我们目前面临的问题之一。我们认为,培养学生的研究兴趣,激发学生的研究热情,为学生营造良好的学术研究氛围,鼓励学生参加竞赛,与国际接轨,是培养研究型人才的重要手段。因此,在教学工作中,我们试图采取有力有效的方法带动学生参与学术研究和项目工作,如:
●在教学中布置一些研究性的题目并介绍相关的背景知识(如SAT问题的求解算法);
●将学生分成若干小组,每组有一个负责人,要求学生利用互联网等手段去查找相关资料,以培养发现信息和处理信息的能力;
●鼓励学生提出自己的求解算法进行计算实验分析,最后撰写技术报告,并进行组内排名,从中挑一些优秀的算法参加国际算法竞赛。
3.4如何将教学与目前算法研究的发展相结合
近些年
摘要:本文论述了在计算机专业课程中应用“任务驱动”教学法的必要性,以及“任务驱动”教学法的概念及其一般的实施流程。
关键词
本文来自:计算机毕业网 :任务驱动;建构主义;计算机专业课
1计算机专业课教学现状分析
当今社会知识经济的迅猛发展,对学校的教育提出了更高的要求,如何培养新型的适应社会发展需求的人才,需要教师敢于超越传统,根据不同学科或专业的教情与学情,创造性地实施素质教育,这是历史赋予的重任,也是时代的要求。
计算机专业课是一门操作性很强,极富有创造性,且内容更新较快的课程,只有经过充分的实践才能真正掌握知识和技能,只有不断追求创新才能跟上飞速发展的信息技术的步伐。而传统的计算机专业课的教学过于强调教师的教,忽略了把课程作为信息的载体,使学生在学习过程中不能主动地掌握知识和技能,因而限制了人的潜能的发挥。
在素质教育不断推进的今天,改变传统教学方法的呼声日益高涨,强调学生的主体性、积极性和创造性已成为开展素质教育的本质体现,“任务驱动”教学法符合素质教育的要求。
2什么是“任务驱动”教学法
所谓“任务驱动”教学法是一种建立在建构主义学习理论基础上的教学方法,是实施探究性教学模式的一种教学方法。它是将所学知识隐含在一个或几个任务中,学生通过提出问题、分析问题、明确问题所涉及知识,并在教师的指导下解决问题的教学方法。在学科学习中,“任务驱动”教学法以问题作为载体,创设一种类似科学探究的情景或途径,让学生自主地通过已学的知识,分析问题,完成任务,从中培养学生的实践能力和巩固已学的知识。
建构主义教学设计原则强调学生的学习活动必须与大的任务或问题相结合,以探索问题来引动和维持学习者学习的兴趣和动机。
具体到课程教学的设计过程中,采用“任务驱动”教学法是指任课教师根据当前教学主题 (目标) 设计并提出任务,针对所提出的任务,采取演示或讲解等方式,分析任务并给出完成该任务的思路、方法、步骤和结果,在此基础上,教师也可以任务方式引导学生边学边做,并独立或协作完成相应的学习任务,实现“学中做”、“做中学”,以达到学生真正掌握知识与技能之目的。“任务驱动”教学法的出发点是:师生互动;切入点是:边学边做;落脚点是:调动学生学习的积极性、创造性,尤为强调个性的发挥,事实上“任务驱动”教学法并不是简单的给出任务就了事,重要的是要让学生学会学习。
本文简要地介绍了我们在高职计算机专业课教学过程中采用“任务驱动”教学法的一些
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
设计、过程考核以及相关理论和实践的探索,希望对计算机专业课的教学有一定的参考意义。
3 “任务驱动”教学法的实施步骤
任务驱动法实施一般可分为任务设计、分析探索和效果评价等3个阶段。
3.1任务设计阶段
在“任务驱动”教学中,任务的提出是前提条件,是这个过程中的核心,它将决定在这节(门)课中,学生是主动学习还是被动学习。所以,任务设计是任务驱动法的第一步,也是任务驱动法的关键。
教师要站在稍超前于学生智能发展水平的高度上,提出有利于学生掌握技能、获取知识的有意义的任务,设计的任务应能激发学生的学习兴趣。教师在实践教学中若能创造一种真实的问题情境,无疑能提高学生的求知欲。
任务的设计要有明确的目标,只有任务明确、编排合理方能达到预期的效果,教师要在学习总体目标的框架下,根据学生认知规律把知识点分成一个个相对容易完成的小任务。这些任务与任务之间不是孤立的,而是互相联系、相辅相成的,通过小任务由简单到复杂,循序渐进地完成。任务设计应注意学生的个体差异,分别提出恰当的基本目标、发展目标。基本目标通过努力人人都应达到,而发展目标则可以鼓励学有余力的同学继续追求,从而培养学生积极探索、勇于开拓的精神。
任务的形式一般可以分为下列3种。第一种形式的任务要求非常明确,有统一的样板,要求学生完全按照教师给出的样板去做,这种形式比较适合课程内容的开始教学;第二种形式是任务中的一部分内容是教师明确要求的,另一部分是允许学生自由发挥的。例如学生在学习PowerPoint做演示文稿时,可以给学生设计一个“送给爸爸妈妈的电子贺卡”的任务,“做一个电子贺卡”是确定的任务,但其中设计的具体内容可由学生自由发挥,这种教学形式适合教学的中间阶段;任务的第三种形式是教师只给出一些原则上的要求,大部分内容由学生自由发挥,这种教学形式比较适合课程设计和实训阶段。例如在VB课程设计时,要求学生完成一个管理系统 (工资管理系统、成绩管理系统、图书管理系统等等) 。后两种形式的任务的确定还需要学生自己思考或者小组讨论,最后得出具体的任务。
总之,提出的任务要符合学生认知规律,把教学内容融合于开放平等的教学环境中,引导学生自觉地去探求知识,去获取知识,去运用知识。
3.2分析探索阶段
分析任务是任务驱动法中必要的环节。教师对任务进行适当的分析,有利于学生在探究学习中少走弯路,减少盲目性。一般来说,任务给出后,教师不要急于讲解,应该先让学生讨论、分析任务,搜集相关的资料,分析完成任务需要做哪些事情,存在哪些问题。如果完成任务的知识没有学习过,即含在任务中的新知识点,这也是任务所要解决的问题,
教师对任务分析之后,就是学生自主探索的阶段。这是学生学习知识技能的阶段,在这一过程中,教师尽量不要直接告诉学生如何去解决面临的问题,可以进行适当的启发,给出合理建议,提供学生所需的资料,也可以参与其中讨论。教师设计的任务可以由学生个人完成,也可以分小组完成。“任务驱动”教学法的任务是使学生成为学习主体。
例如,在VB教学中应用“任务驱动”教学法,我们可以这样来安排,首先,在课堂上向学生们展示一个有趣的程序作实例,这个程序是完整的,并且包含了当天课程要讲的新的语句,也大量使用了前面课程中已经学过的指令,再由浅入深地讲解实现这一程序的基本思路,提出所需解决的问题。然后,在程序中一步步地引出对象、控件的使用,讲解新命令的使用方法,最后总结新指令的使用方法和注意事项。这样的教学不仅使枯燥无味的内容变得简单、有趣,激发了学生浓厚的学习兴趣,而且使学生不至于掉入VB语言知识的细节里,很快了解了程序设计的全过程,从而产生浓厚的学习兴趣。如讲时钟控件一课,为了抓住学生的注意力,引起学生的兴趣,先向学生们展示一个地球围绕太阳转动的小程序,当地球沿着既定的轨道围绕着太阳转动的时候,学生们立刻被吸引住了。然后分析需要解决的问题,一个是如何实现地球在既定的轨道上移动,再一个便是移动速度控制。然后引导同学们思考怎样求得轨道上一点的坐标,当同学们的注意力都集中过来时,便可介绍Timer时钟控件的使用了,接下去再一步步引导学生如何用Move方法让地球转起来等等。最终使学生们基本掌握整个程序的编写思路和方法,让他们感到编程很有意思,很好玩,还想编写出更加有趣的程序,因为只要有了兴趣,对知识的渴望和学习就是顺理成章的事了。
计算机学科的特殊性,为我们老师提供了太多的机会和可能为学生去创造这种生动活泼的课堂气氛和环境,只要老师下功夫去发现、去挖掘。所以,“任务驱动”教学法抛弃了以往学生跟着教师指挥棒转,被动接受知识的状况,使学生能独立思考、大胆尝试、自主探索,对学生分析问题、解决问题的能力培养十分有益,另外“任务驱动”教学法也为学生的合作学习提供了良好的条件,考虑到知识技能层次上的差异,教师可以把各种层次的学生组成一组完成同一任务,学生通过合作学习,学会了表达自己的见解,学会聆听他人的意见,理解他人的想法,学习他人的长处。
3.3效果评价阶段
完成了任务并不等于完成知识技能的建构,还必须对学习效果进行评价,这就是总结反思和巩固的阶段。学生完成任务后,应该对任务完成情况进行总结性评价,对存在的问题进一步讨论。先进行小组内交流,对不完善的地方做相应的修改,如还有疑问,可在班级集体交流时提出供大家讨论。小组讨论完后,进行班级交流。
评价任务的最后过程,是教师对学生的作品给予评价,评价的内容包括:学生是否完成了对新知识的理解、掌握和熟练应用,以及学生自主学习的能力,同学间相互协作的能力和创造性,解决问题的能力如何等等。教师的评价应注意保护学生的自尊心和信心,充分肯定其优点,使学生体验到成功者的快乐,以保持良好的学习势头。
评价活动主要是学生和学生之间以及学生与教师之间的交流,也是一个合作学习的机会。在这样一个合作性的集体中,具有不同知识结构、不同思维方式、不同风格的学生,可以在交流过程中互相启发、互相补充,在相互交流中产生新的认识。而教师也可从学生的一些创意作品中得到启发,达到教学相长的效果。任务评价活动使教师和学生在某种程度上都得到了发展。
教师对学生的评价不仅是学生成果的静态评价,还包括学习过程的动态评价。通过教师的点评帮助学生总结完成任务的过程和方法,促使学生反思自己的思路和行为,把所学的知识和技能消化。
4 “任务驱动”教学法的不足
对于计算机专业课来说,“任务驱动”教学法应该是比较理想的教学方法。然而,教无定法。笔者在十多年的教学过程中也发现“任务驱动”教学法的许多不足之处,最大的不足之处,就是对知识掌握不够系统全面。比如,我们在教学程序设计的时候可以创设一种任务情境让学生围绕某一个任务开发一项软件,软件开发完毕后,学生对该软件所需要知识应该已经掌握,然而,在软件设计的过程中对于一些需要用到的知识点,以及对
摘要:在“操作系统”课程的教学中,实验教学设计的好坏直接影响到学生对操作系统本身的理解与吸收。其中实验平台的设计与建设至关重要。本文提出了一套基于Windows内核的“操作系统”课程实验平台,它架构在大众最为熟悉的Windows操作系统基础上,可供学生对操作系统内核进行扩展、修改、并获得客观评价。此举极大的降低了学习门槛,提高了学生的学习兴趣和主动性。在实际应用中取得了较好的效果。
关键词:操作系统教学;实验平台;WRK;Windows内核
G642
1引言
“操作系统”是计算机软件中最重要,最核心的部分,也是高校计算机高等教育的一门重要基础课程。操作系统中有众多的理论、模型与思想,如果不通过实验教学,对学生的讲述仅仅停留在课堂陈述,又无法取得很好的效果,因此“操作系统”是一门实践性很强的课程。
目前国内高校“操作系统”实验课程的开设方法有如下几种:(1)验证型:即通过模拟环境、实际操作或案例剖析的形式,对操作系统中的常见算法、技术等进行验证。这种方法可以有效的化操作系统中的抽象原理为形象的实现,但是学生做的内容往往千篇一律,其主动性很难调动。(2)设计型:即通过模块替换、功能扩展或独立开发的形式,要求学生设计实现一些操作系统中的功能。这种方法可以提高学生的自主能动性,但是其工作量与难度很难把握,如果太简单起不到锻炼的作用,太难又可能导致大部分学生无法完成而影响教学效果。如何使操作系统实验既能很好的辅助课程教学,又能提高学生的实践水平,是所有讲授操作系统的教师不得不面对的问题。
我们认为,搭建强有力的实验平台对解决此问题有重要意义。一个好的操作系统实验平台需要最大程度上的降低课程实验的难度,屏蔽操作系统实现的复杂细节,抓住知识要点,调动学生的积极性,同时又可以对学生的工作作出合理的评价。目前的操作系统实验平台多以专门用于教学的操作系统为主,例如Nachos、Minix等,学生对其并不熟悉,需要二次学习。在同济大学软件学院的“操作系统”课程实验中,我们尝试采用大众熟知的Windows操作系统作为实验平台载体。
以往基于Windows的操作系统实验最大的困难在于其封闭性。由于无法得到Windows操作系统的源代码,公众无法深入了解、分析和修改Windows操作系统内核,因此实验仅能停留在用户态层面。微软公司于2008年初针对全球学术界发布Windows Research Kernel(简称WRK),它是一套可修改、可编译、可调试的Windows内核源代码。借助于WRK,基于Windows操作系统内核的实验平台搭建已成为可能。
2实验平台介绍
2.1基本思想
搭建操作系统实验平台,其基本思想有如下几点:第一,真实的操作系统往往为了追求效率或功能往往有很多复杂的实现细节,而这些细节恰恰不利于学生的深入学习。通过实验平台,可以让学生无需直接面对这些细节问题,而可以更加关注于重要的算法、思想和原理。第二,操作系统中有不少晦涩的原理和抽象的模型。通过实验平台,可以设计一些创新型实验,以增强课程的趣味性,从而进一步调动学生的积极性和主动性。第三,对于学生实验的工作量和工作成果,实验平台需要以某种具体
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
给出合理的评价。第四,对于学生创新过程中遇到的具体问题,需要提供一个及时沟通和交流的平台。不能让学生因为某个技术困难而导致整个实验无法继续进行。
鉴于上述思路,基于该实验平台,教师和学生应该在实验中做到如下工作,如图1所示:
首先,教师自己需要对WRK做深入的了解。摸清WRK中的基本算法、数据结构等。然后对WRK的代码作出一定修改,最主要是要把一些核心算法与数据结构的接口定义出来。
其次,教师需要撰写实验指导书,指导学生如何基于教师定义的接口对WRK进行扩展、以及预期的效果等,并且开发成果评测软件。还要对学生进行WRK基础知识的讲解。
接下来,学生可以在基于WRK的实验平台上进行实验,包括基本算法替换、扩展功能实现等。如果遇到问题,可以及时与老师、或其它同学沟通。
最后,实验平台可以根据学生的完成情况,给出合理的评价。
2.2实验平台架构
为了实现上述思想,我们基于WRK搭建和设计了如下实验平台,如图2所示。
该平台是基于Virtual PC虚拟机的。在其之上运行WRK内核。在实验开始前,教师对WRK的内核做必要修改。对同步原语、内存分配算法、调度算法等都做了修改。修改后的WRK内核虽然可以运行,但是都是采用最基本的算法,效率非常低。需要学生对其进行进一步改进。
然后,系统给WRK增加了一系列新的系统调用,该系统调用主要用来导出系统的一些核心评估、评测数据。在其之上,我们还编写了自制的评估软件。该评估软件利用新增的系统调用,对经同学修改后的WRK内核进行功能、性能等各方面的评估,而该评估指标,是学生实验成绩的重要组成部分。
2.3实验内容举例
围绕该实验平台,我们开发了一系列实验。详细信息可参考“操作系统实验”精品课程网站(http://sse.tongji. edu. cn
/oswrk/)。下面仅列举一个例子作为介绍。
实验内容:操作系统同步死锁检测。死锁是同步中经常发生的问题,目前的Windows操作系统中不会对死锁进行检测。修改WRK源代码的WaitForSingleObject( )函数,在给同步对象上锁之前增加死锁检测功能,如果该加锁操作会导致死锁,则函数返回特定的错误值。
要求:(1) 重新构建的Windows内核必须通过评估软件的测试。(2) 提交修改后的增量源代码。
为完成此实验,教师首先需要开发实验评估软件。在该软件中,故意实现多种情况的等待死锁。在学生修改后的内核上运行该软件后,其可以评估修改的代码是否可以检测死锁,并分析死锁检测的时间消耗,从而给出学生作业较为客观评估。
3首次实践经验总结
在2008年,我们组成了以15名本科生(含一名西班牙瓦伦西亚大学国际交换学生)作为该实验的试点对象。首批展开试点。
在实践过程中,我们有如下经验总结:
第一,教师一定要把握好实验的“度”。即布置的任务最好能够有明确的范围限制。如果实验目标过大,则可能导致工作量太大或问题太多而无法完成。
第二,由于WRK是比较新的东西,资料相对较少,很有可能会遇到大家都无法解决的问题。这个时候沟通、共同攻关就显得比较重要。在试点中,我们建立了一个所有组员都可以编辑的维基用来做沟通,如图3所示。一方面大家可以快速看到目前存在的问题。另一方面,也有利于探索的积累,起到了良好的作用。
第三,一定要调动学生的积极性,但是不能希望一蹴而就。实验需要由浅入深的展开,前期实验从观察性实验入手,一方面让学生了解WRK的架构,另一方面让学生感觉入手并不难。然后可以渐渐增加动手、创新实验的比重。当然,要保证绝大多数实验是创新型实验,否则无法真正锻炼到学生的动手能力和创新意识。
4结束语
WRK让搭建基于Windows的操作系统实验平台成为了可能,但是真正要让WRK发挥其在操作系统实验教学中的作用,还需要教师们做大量的工作。在同济大学软件学院的教学中,我们建立了一个基于WRK的实验平台,并初步在课程中应用。但这仅仅是迈出了第一步,接下来还需要在实际教学的过程中听取各方面的意见与建议,进一步对该平台进行完善。
本文出自:www.stulunwen.com 大学生论文网
参考文献:
[1] 冯红伟,王鹏. 操作系统教学与实验设计研究[J]. 实验室研究与探索, 2007(12):251-253.
[2] 潘东静.操作系统实验教学研究[J]. 现代计算机,2008(1):70-71.
[3] 邓胜兰, 宁洪. 操作系统实践教学的探索[J]. 计算机教育,2007(10):8-9.
[4] 王国华. 《操作系统》实验课程的设置与实践[J]. 山西财经大学学报:高等教育版,2006(S1):108.
[5] 赵福来. 国内高校操作系统课程实验教学实施情况评述[J]. 中国科技信息,2005(12):90.
[6] 彭敏, 何炎祥. 基于WRK的Windows操作系统原理实验教学探索[J]. 计算机教育,2008(20):38-40.
协同管理系统驱动企业低碳高效运转
近两年来,企业管理软件领域发生了一个实实在在的变化。这个变化就是企业管理软件的基础软件——办公自动化系统OA被升级换代了。用市场的话来说,就是整个被洗了一遍牌。包括已安装系统的升级换代和新安装的系统,几乎统统被协同办公系统取代了。这虽然只发生在OA上,但对于整个企业管理软件市场却具有非同小可的象征性意义——企业管理软件协同化的趋势已经形成。摘要:本文针对西部地区高校中,计算机专业的少数民族班学生学习的现状,分析了教学方法中存在的一些问题及其原因,提出了几点建议。以期对其他同类地方学校的教学起借鉴作用。
摘要:嵌入式系统是目前应用非常广泛,发展非常迅速的一个技术领域,做好“嵌入式系统”课程的教学工作也是诸多高校追求的目标。本文系统分析了“嵌入式系统”课程的教学特点,提出了“三点一线”的教学方法,并阐述了“三点一线”教学方法在湖南大学“嵌入式系统”教学中的应用及效果。