面向软件工程学科的算法课程建设.pdf.pdf 全文免费在线阅读
本文关键词:面向软件工程学科的算法课程建设,由笔耕文化传播整理发布。
网友lxydx近日为您收集整理了关于面向软件工程学科的算法课程建设.pdf的文档,希望对您的工作和学习有所帮助。以下是文档介绍:中国大学教学 2012 年第 12 期55屈婉玲,北京大学信息科学技术学院教授;王捍贫,北京大学信息科学技术学院教授;段莉华,北京大学软件与微电子学院讲师。面向软件工程学科的算法课程建设屈婉玲王捍贫段莉华摘要:算法不但是计算机科学与技术专业的核心课程,也是软件工程专业的核心课程。算法知识不仅广泛地用于软件系统的设计与分析中,同时对培养学生分析和解决实际问题的能力具有重要的作用。本文基于北京大学软件与微电子学院的教学实践,对软件工程专业硕士研究生算法课程的教学改革进行了总结,提出了相应的教学实施方案。本方案的特点是:以素质和能力培养为目标,构建面向不同教学要求的模块化的知识框架,并注重理论联系实际,在软件系统建模和分析中强化应用。关键词:算法设计与分析;软件工程;硕士研究生课程;教学改革;计算思维北京大学软件与微电子学院是一所面向产业和领域需求,培养高层次、实用型、复合交叉型、国际化人才的学院。经过 10 年的探索与实践,提出一套“产学研用结合”的培养模式和“多层次、多方向、多领域、模块化、开放式”的课程体系[1]。在该课程体系中,“算法设计与分析”课程如何定位?面向工程硕士的算法课与本科生的算法课有什么区别?针对不同本科专业方向和基础的学生如何制订教学实施方案?这些都是需要探索的问题。一、算法课程的定位和指导思想教育部软件工程学科课程体系研究课题组在《中国软件工程学科教程》一书中提出了 4 种分别侧重于计算机科学、软件开发技术、系统认识和工程化理念的不同的本科生教学计划参考模式,其中“数据结构与算法”都是重要的核心课程之一[2]。软件工程是计算机科学与工程和管理学科的交叉学科,算法知识是计算学科的核心内容,是软件工程硕士必备的基础。特别对于从事软件工程的高层次、复合型人才,通过算法课程的学习有助于培养学生的计算思维与系统分析能力。因此,在北京大学软件与微电子学院的课程体系中,“算法设计与分析”课程是面向全校硕士研究生的公共选修课,同时是软件开发、软件测试与质量保证专业与研发中心硕士研究生的必修课,总计 3 学分,48 学时。由于软件学院跨学科、多领域、产学研用相结合的培养模式,在制订算法课程的教学计划时遇到以下问题。问题 1:学习算法课的学生来自不同的专业方向,有着不同的培养目标和需求(见表 1)。表 1 选修算法课学生的专业方向分布必修:156 人选修:56 人软件开发 106 软件工程管理 5软件技术软件测试与质量保证 3 电子服务技术 9安全软件开发 9数据挖掘及商务智能 13 计算机辅助翻译 1嵌入式软件与系统 18 数字媒体技术 4网络技术及应用 9 金融信息服务 2数字艺术支撑技术 1 系统与网络安全 24研究中心软硬件协同设计 6其他专业方向自然语言处理 2表 1 给出了一个北京校区算法课脱产班 212 人专业方向分布的示例,其中必修学生 156 人,大约占 3/4,剩下的是其他专业方向的选修生。不同专业方向、不同培养模式(脱产和在职班)的学生对算法课有着不同的需求。研究中心的学生由于要参与课题研究,需要较好的计算思维及更强的建模分析能力,其他学生更着重于软件工程实践及面向领域的应用,而在职班的学生则希望了解更多的应用背景。如何根据不同的培养目标确定算法课的教学内容?问题 2:算法课具有一定的难度,需要用到某些数据结构与离散数学的知识。而软件与微电子学院有部分学生56本科专业不是计算机或相关专业,没有系统学过这些课程。根据北京大学软件与微电子学院的特点,面向软件工程学科的硕士研究生算法课要在课程定位、教学目标、教学内容、教学设计等方面不断探索,制订出具有自己特色的教学实施方案。课程建设的指导思想是:(1)突出能力培养。随着计算机的广泛应用,新的问题不断涌现,新的算法层出不穷,能力的培养尤为重要。与算法和问题求解相关的能力主要体现在以下 4 个方面:用适当的数学模型描述实际问题的建模能力,运用计算思维确定问题求解方法的算法设计能力,对给定算法做出性能评价的分析能力,对问题难度和复杂性的判定能力。针对软件工程专业硕士,在算法教学中应该着重于前 3 种能力的培养。(2)构建统一的知识框架。该框架面向多个专业方向,适应于不同的本科基础,针对多样性的人才培养目标,采用层次化、模块化的结构,使得教师能够根据不同的教学需求制订相应的教学计划。(3)进行科学的教学设计,不断更新教学内容,引入好的教学方法和教育技术。(4)建设一系列配套的教学资源,包括教材、电子教案、教学辅导书、网上教学环境等。(5)注重教师培养,建立老中青结合的教师队伍。二、算法课程的教学目标与知识框架针对软件工程专业硕士,算法课程的教学目标是:(1)掌握计算机算法设计的基本技术——分治策略、动态规划、贪心算法、回溯与分支限界、随机算法等。(2)掌握计算机算法分析的基本方法——了解评价算法的标准,能够对给定算法做出最坏与平均时间复杂度的估计,了解问题复杂度的界定方法。(3)了解计算复杂性理论的基本框架和应用。(4)培养针对实际问题进行建模并选择高效求解算法的能力,使得学生在计算思维、学科方法训练及专业素质方面得到提升。根据软件工程的特点,算法课的核心内容以算法设计技术与分析方法为主,对于 NP 完全理论以及概率算法、近似算法等研究领域加以简要的介绍。算法课程的知识框架如下图所示。在算法知识框架中,处于底层的是算法基础,有关知识可以在课程开始给予简要的介绍,也可以包含在其他基础课中。北大软件与微电子学院的做法是:把有关计算机组成、操作系统、程序设计、数据结构等计算机科学与技术的基础知识配置成 A、B、C 三种类型的基础课,以便不同专业的学生根据自己的情况选修。中间两层由核心知识单元构成,主要涉及算法的设计技术和分析方法,这部分内容是课程重点。第四层涉及计算复杂性理论,重点是NP 完全理论。面对软件工程专业,只需要简单介绍相关的概念和理论框架,使学生了解什么是问题的难解性。最高层则结合学科进展介绍近似算法、随机算法等热点研究方向,同时联系学生科研实践对课程进行总结。整个教学安排按照 48 学时进行分配,其中基础知识、算法设计与分析部分可根据不同班次的教学要求分配 32~42 学时。算法课程的知识框架图三、围绕计算思维和能力培养进行教学设计“计算思维”是美国科学基金会在 2006 年的研究报告中提出的新概念,也是近年来计算机教育所关注的热点问题。计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[3]。计算思维是通过约简、嵌入、转化和仿真等方法,把一个困难的问题阐释为如何求解它的思维方法。是一种递归思维,是一种采用抽象和分解的方法来控制庞杂的任务或进行巨型复杂系统的设计,是一种选择合适的方式陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法[4]。作为高层次的软件工程研究和应用人才,应该受到良好的计算思维训练,而算法是计算思维训练的重要一环。算法课程的教学要求是:能够对所求解的问题加以抽象或约简,给出形式化的描述并找到正确高效
12>
播放器加载中,请稍候...
系统无法检测到您的Adobe Flash Player版本
建议您在线安装最新版本的Flash Player 在线安装
本文关键词:面向软件工程学科的算法课程建设,,由笔耕文化传播整理发布。
本文编号:162098
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/162098.html