欢迎来到天天文库
浏览记录
ID:31517295
大小:110.00 KB
页数:8页
时间:2019-01-12
《面向软件工程学科的算法课程建设》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、面向软件工程学科的算法课程建设 摘要:算法不但是计算机科学与技术专业的核心课程,也是软件工程专业的核心课程。算法知识不仅广泛地用于软件系统的设计与分析中,同时对培养学生分析和解决实际问题的能力具有重要的作用。本文基于北京大学软件与微电子学院的教学实践,对软件工程专业硕士研究生算法课程的教学改革进行了总结,提出了相应的教学实施方案。本方案的特点是:以素质和能力培养为目标,构建面向不同教学要求的模块化的知识框架,并注重理论联系实际,在软件系统建模和分析中强化应用。 关键词:算法设计与分析;软件工程;硕士研究生课程;教学改革;计算思维 北京大
2、学软件与微电子学院是一所面向产业和领域需求,培养高层次、实用型、复合交叉型、国际化人才的学院。经过10年的探索与实践,提出一套“产学研用结合”的培养模式和“多层次、多方向、多领域、模块化、开放式”的课程体系[1]。在该课程体系中,“算法设计与分析”课程如何定位?面向工程硕士的算法课与本科生的算法课有什么区别?针对不同本科专业方向和基础的学生如何制订教学实施方案?这些都是需要探索的问题。 一、算法课程的定位和指导思想8 教育部软件工程学科课程体系研究课题组在《中国软件工程学科教程》一书中提出了4种分别侧重于计算机科学、软件开发技术、系统认识
3、和工程化理念的不同的本科生教学计划参考模式,其中“数据结构与算法”都是重要的核心课程之一[2]。软件工程是计算机科学与工程和管理学科的交叉学科,算法知识是计算学科的核心内容,是软件工程硕士必备的基础。特别对于从事软件工程的高层次、复合型人才,通过算法课程的学习有助于培养学生的计算思维与系统分析能力。 因此,在北京大学软件与微电子学院的课程体系中,“算法设计与分析”课程是面向全校硕士研究生的公共选修课,同时是软件开发、软件测试与质量保证专业与研发中心硕士研究生的必修课,总计3学分,48学时。 由于软件学院跨学科、多领域、产学研用相结合的培养
4、模式,在制订算法课程的教学计划时遇到以下问题。 问题1:学习算法课的学生来自不同的专业方向,有着不同的培养目标和需求(见表1)。 表1给出了一个北京校区算法课脱产班212人专业方向分布的示例,其中必修学生156人,大约占3/4,剩下的是其他专业方向的选修生。不同专业方向、不同培养模式(脱产和在职班)的学生对算法课有着不同的需求。研究中心的学生由于要参与课题研究,需要较好的计算思维及更强的建模分析能力,其他学生更着重于软件工程实践及面向领域的应用,而在职班的学生则希望了解更多的应用背景。如何根据不同的培养目标确定算法课的教学内容? 问题2
5、:算法课具有一定的难度,需要用到某些数据结构与离散数学的知识。而软件与微电子学院有部分学生本科专业不是计算机或相关专业,没有系统学过这些课程。8 根据北京大学软件与微电子学院的特点,面向软件工程学科的硕士研究生算法课要在课程定位、教学目标、教学内容、教学设计等方面不断探索,制订出具有自己特色的教学实施方案。课程建设的指导思想是: (1)突出能力培养。随着计算机的广泛应用,新的问题不断涌现,新的算法层出不穷,能力的培养尤为重要。与算法和问题求解相关的能力主要体现在以下4个方面:用适当的数学模型描述实际问题的建模能力,运用计算思维确定问题求解
6、方法的算法设计能力,对给定算法做出性能评价的分析能力,对问题难度和复杂性的判定能力。针对软件工程专业硕士,在算法教学中应该着重于前3种能力的培养。 (2)构建统一的知识框架。该框架面向多个专业方向,适应于不同的本科基础,针对多样性的人才培养目标,采用层次化、模块化的结构,使得教师能够根据不同的教学需求制订相应的教学计划。 (3)进行科学的教学设计,不断更新教学内容,引入好的教学方法和教育技术。 (4)建设一系列配套的教学资源,包括教材、电子教案、教学辅导书、网上教学环境等。 (5)注重教师培养,建立老中青结合的教师队伍。 二、算法课
7、程的教学目标与知识框架 针对软件工程专业硕士,算法课程的教学目标是: (1)掌握计算机算法设计的基本技术――分治策略、动态规划、贪心算法、回溯与分支限界、随机算法等。 (2)掌握计算机算法分析的基本方法――8了解评价算法的标准,能够对给定算法做出最坏与平均时间复杂度的估计,了解问题复杂度的界定方法。 (3)了解计算复杂性理论的基本框架和应用。 (4)培养针对实际问题进行建模并选择高效求解算法的能力,使得学生在计算思维、学科方法训练及专业素质方面得到提升。 根据软件工程的特点,算法课的核心内容以算法设计技术与分析方法为主,对于NP完
8、全理论以及概率算法、近似算法等研究领域加以简要的介绍。算法课程的知识框架如下图所示。 在算法知识框架中,处于底层的是算法基础,有关知识可以在课程开始给予简要的介绍
此文档下载收益归作者所有