《面向软件工程学科的算法课程建设.docx》由会员分享,可在线阅读,更多相关《面向软件工程学科的算法课程建设.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、面向软件工程学科的算法课程建设 思想 教化部软件工程学科课程体系探讨课题组在中国软件工程学科教程一书中提出了4种分别侧重于计算机科学、软件开发技术、系统相识和工程化理念的不同的本科生教学安排参考模式,其中“数据结构与算法”都是重要的核心课程之一2。软件工程是计算机科学与工程和管理学科的交叉学科,算法学问是计算学科的核心内容,是软件工程硕士必备的基础。特殊对于从事软件工程的高层次、复合型人才,通过算法课程的学习有助于培育学生的计算思维与系统分析实力。 因此,在北京高校软件与微电子学院的课程体系中,“算法设计与分析”课程是面对全校硕士探讨生的公共选修课,同时是软件开发、软件测试与质量保证专业与研发
2、中心硕士探讨生的必修课,总计3学分,48学时。 由于软件学院跨学科、多领域、产学研用相结合的培育模式,在制订算法课程的教学安排时遇到以下问题。 问题1:学习算法课的学生来自不同的专业方向,有着不同的培育目标和需求。 表1给出了一个北京校区算法课脱产班212人专业方向分布的示例,其中必修学生156人,大约占3/4,剩下的是其他专业方向的选修生。不同专业方向、不同培育模式的学生对算法课有着不同的需求。探讨中心的学生由于要参加课题探讨,须要较好的计算思维及更强的建模分析实力,其他学生更着重于软件工程实践及面对领域的应用,而在职班的学生则希望了解更多的应用背景。如何依据不同的培育目标确定算法课的教学内
3、容? 问题2:算法课具有肯定的难度,须要用到某些数据结构与离散数学的学问。而软件与微电子学院有部分学生本科专业不是计算机或相关专业,没有系统学过这些课程。 依据北京高校软件与微电子学院的特点,面对软件工程学科的硕士探讨生算法课要在课程定位、教学目标、教学内容、教学设计等方面不断探究,制订出具有自己特色的教学实施方案。课程建设的指导思想是: 突出实力培育。随着计算机的广泛应用,新的问题不断涌现,新的算法层出不穷,实力的培育尤为重要。与算法和问题求解相关的实力主要体现在以下4个方面:用适当的数学模型描述实际问题的建模实力,运用计算思维确定问题求解方法的算法设计实力,对给定算法做出性能评价的分析实力
4、,对问题难度和困难性的判定实力。针对软件工程专业硕士,在算法教学中应当着重于前3种实力的培育。 构建统一的学问框架。该框架面对多个专业方向,适应于不同的本科基础,针对多样性的人才培育目标,采纳层次化、模块化的结构,使得老师能够依据不同的教学需求制订相应的教学安排。 进行科学的教学设计,不断更新教学内容,引入好的教学方法和教化技术。 建设一系列配套的教学资源,包括教材、电子教案、教学辅导书、网上教学环境等。 注意老师培育,建立老中青结合的老师队伍。 二、算法课程的教学目标与学问框架 针对软件工程专业硕士,算法课程的教学目标是: 驾驭计算机算法设计的基本技术分治策略、动态规划、贪心算法、回溯与分支
5、限界、随机算法等。 驾驭计算机算法分析的基本方法了解评价算法的标准,能够对给定算法做出最坏与平均时间困难度的估计,了解问题困难度的界定方法。 了解计算困难性理论的基本框架和应用。 培育针对实际问题进行建模并选择高效求解算法的实力,使得学生在计算思维、学科方法训练及专业素养方面得到提升。 依据软件工程的特点,算法课的核心内容以算法设计技术与分析方法为主,对于NP完全理论以及概率算法、近似算法等探讨领域加以简要的介绍。算法课程的学问框架如下图所示。 在算法学问框架中,处于底层的是算法基础,有关学问可以在课程起先赐予简要的介绍,也可以包含在其他基础课中。北大软件与微电子学院的做法是:把有关计算机组成
6、、操作系统、程序设计、数据结构等计算机科学与技术的基础学问配置成A、B、C三种类型的基础课,以便不同专业的学生依据自己的状况选修。中间两层由核心学问单元构成,主要涉及算法的设计技术和分析方法,这部分内容是课程重点。第四层涉及计算困难性理论,重点是NP完全理论。面对软件工程专业,只须要简洁介绍相关的概念和理论框架,使学生了解什么是问题的难解性。最高层则结合学科进展介绍近似算法、随机算法等热点探讨方向,同时联系学生科研实践对课程进行总结。整个教学支配根据48学时进行安排,其中基础学问、算法设计与分析部分可依据不同班次的教学要求安排3242学时。 算法课程的学问框架图 三、围绕计算思维和实力培育进行
7、教学设计 “计算思维”是美国科学基金会在2022年的探讨报告中提出的新概念,也是近年来计算机教化所关注的热点问题。计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动3。计算思维是通过约简、嵌入、转化和仿真等方法,把一个困难的问题阐释为如何求解它的思维方法。是一种递归思维,是一种采纳抽象和分解的方法来限制庞杂的任务或进行巨型困难系统的设计,是一种选择合适的方式陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法4。 作为高层次的软件工程探讨和应用人才,应当受到良好的计算思维训练,而算法是计算思维训练的重要一环。算法课程的教学要
8、求是:能够对所求解的问题加以抽象或约简,给出形式化的描述并找到正确高效的求解方法,其中涉及问题抽象、困难问题的分解和递归处理、算法困难度的定量分析与权衡等,这些都体现了计算思维。为了强化计算思维的训练,我们在教学设计中考虑的重点是: 1教学内容,即“讲什么”的问题 大多数学校的本科算法课程主要讲算法的设计步骤,同时强调上机实现。而面对工程硕士的算法课要增加深度,讲出算法技术所隐含的学科思想。这不仅须要介绍详细的设计步骤,更应当讲清晰这样做的理论依据。所设计的算法是否正确?如何证明其正确性?它的优势在哪里?有什么局限性?改进算法的途径是什么?等等。应当通过学习达到举一反三,驾驭算法所体现的思维逻
9、辑和学科方法。有些学生在本科阶段修过算法课,分治策略、动态规划、贪心法、分支限界等设计技术都接触过,认为自己没必要再学了;但是,在期末课程总结中表示“算法课收获很大”,“很多在本科没搞清晰的问题都理解了,拿到实际问题有了更清楚的解决思路。” 须要说明的是,针对必修与选修、脱产与在职班的不同教学要求,老师可以在内容上加以调整。比如对于脱产班算法必修课,可以选择上图框架中的全部10个学问模块,教学支配如表2所示。而在职班和其他专业方向的选修课可以多讲一些应用实例,而适当削减模块610的内容。 2教学方法,即“怎样讲”的问题 算法课中涉及较多的数学学问,比较抽象难懂,怎样激发学生的爱好,做到启发式学
10、习?我们的做法是: 根据“提出问题阐述方法解决问题总结规律推广应用探讨提高”的模式进行教学设计。每种设计技术和分析方法都精选了大量的应用实例,这些实例应当满意“建模简洁,能够清楚地体现算法的设计思想,运用效果良好,有广泛的应用背景,与其他课程的教学内容有联系”。比如讲贪心法,先通过活动选择问题介绍贪心法的设计思想,举出3种贪心策略,其中1种能够得到最优解,而另外2种是错误的;接着总结了贪心法的设计步骤,指出设计的关键是正确性证明,这是讲授的重点,也是难点;然后通过3个典型的例子具体阐述数学归纳法和交换论证的证明方法;最终在推广应用中介绍了最优前缀码、最小生成树、单源最短路径等具有广泛应用背景的
11、例子,并以找零钱问题为例探讨对某些可能得不到最优解的贪心法如何对输入做参数化分析。 从探讨课题和算法领域的新进展中收集典型的实例。学生曾经参加芯片设计、视频检索、资源配置、搜寻引擎、平安协议设计等各种问题的探讨,其中不少内容都涉及算法和困难性理论。把学生参加探讨的课题成果引入算法教学,学生特别感爱好,进一步相识到提高算法设计与分析实力的重要性。 3教学环节 课堂讲授是重要的,但不是全部,学生素养的训练和实力的培育依靠于教学环节的整体设计,比如考核方式、课后作业、课程实践等。 与本科算法教学强调上机实现不同,探讨生算法课的课后作业主要以对实际问题的建模、算法设计与分析的训练为主,有关练习主要取自
12、教材5。 为了突出实力培育的要求,算法课的考核不但考查学生对相关算法学问的理解,更应当检查是否具有相应的算法设计和分析实力,对问题求解是否有一个正确的思路。设计试卷时实际应用试题至少应当占50%。 对于某些学生课后主动阅读资料、结合科研课题进行算法设计与分析的工作赐予更多的关注和指导,并在学习评价上赐予激励。 课程成果评定采纳综合评定的方式,依据不同教学要求,平常成果占40%50%,期末笔试占50%60%。 4教学环境 利用现代化教学手段,建立网上教学环境,进行课件发布、课下答疑、视频探讨等,更好地与学生进行沟通。 在北京高校软件与微电子学院的大力支持下,经过多年的课程建设,硕士探讨生算法课的
13、教学改革取得了显著的成果。形成了面对软件工程学科的学问体系和教学设计,出版了“十一五”规划教材,开发了电子教案,同时积累了较多的教学资源,建立了老中青相结合的师资队伍。广阔学生对算法课的教学也赐予了高度的评价。 参考文献: 1北京高校软件与微电子学院课程体系探讨组.北京高校软件与微电子学院课程体系M.北京:高等教化出版社,2022. 2教化部软件工程学科课程体系探讨课题组.中国软件工程学科教程M.北京:清华高校出版社,2022. 3JeannetteM.Wing.ComputationalThinkingJ.CommunicationsoftheACM,2022,49. 4陈国良,董荣胜.计算思维与高校计算机基础教化J.中国高校教学,2022. 5屈婉玲,刘田,张立昂等.算法设计与分析M.北京:清华高校出版社,2022. 责任编辑:余大品 第9页 共9页第 9 页 共 9 页第 9 页 共 9 页第 9 页 共 9 页第 9 页 共 9 页第 9 页 共 9 页第 9 页 共 9 页第 9 页 共 9 页第 9 页 共 9 页第 9 页 共 9 页第 9 页 共 9 页