1、1内蒙古大学软件工程硕士专业学位研究生培养方案一、培养目标软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的理论和技术。内蒙古大学软件工程领域专业学位研究生面向国家和区域社会经济发展,培养高层次实用型复合型软件工程技术和软件工程管理人才,能在企业、事业、技术和行政管理等单位从事相关工作。具体要求为:1. 拥护党的基本路线和方针政策,热爱祖国,具有良好的职业道德和敬业精神,具有科学严谨、求真务实的学习态度和工作作风,身心健康。2. 要掌握本领域的基础理论、先进技术方法和现代技术手段,
2、了解本领域的技术现状和发展趋势,在本领域的某一方向具有独立从事工程设计与运行、分析与集成、研究与开发、管理与决策能力。能够胜任软件工程领域高层次工程技术和工程管理工作。增强创新创业能力。3. 较熟练地掌握一门外国语。二、培养方式和学习年限一一一培养方式1. 本领域采用系统的课程学习和工程实践相结合的培养方式。课程设置以工程实践类为主,突出理论与实践紧密结合、前沿技术与现实需求结合。软件工程实践要求学生直接参与软件工程项目实践,完成必要的技术方案设计、 软件开发、项目管理等工作,并在所取得的工程实践成果基2础上完成学位论文的撰写。2. 双导师制培养方式。聘请具有丰富实践和教学指导经验的企业资深技
3、术或管理人员参与研究生培养工作的各个环节,包括参与课程教学和前沿讲座, 对学生的软件工程实践进行联合指导,协助校内导师进行毕业论文指导等。3. 课程考核分为闭卷考试和课内实践考核两种形式,重在考察学生运用专业知识发现、分析和解决实际问题的能力。一一一 学习年限采用全日制学习方式,学习年限一般为 2 年。三、课程设置及学分要求(软件工程硕士专业学位)课程体系由必修课、选修课两部分组成,除课程学习外还安排有专业实践环节部分。总学分要求为不少于 34 学分,其中课程学习不少于 30 学分,包括必修的学分 18 学分,选修学分不少于 12 学分;专业实践 4 学分。类别 课程名称周学时总学时学分 开课
4、学期 任课教师(职称) 备注外语(专硕) 3 1公共必修课中国特色社会主义理论与实践研究(专硕) 2 1算法基础 4/64 4 1 王俊义、周建涛计算机数学基础 3/48 3 1 李强、刘铁英Web 框架技术与应用 3/48 3 1 马明、赵俊峰专业必修课软件分析与设计 3/48 3 2 孟和吉雅、邢熠信息安全 3/48 3 2 张俊星、马学彬移动应用开发 3/48 3 2 马颖东、张学良分布式数据库 3/48 3 1 高维、崔波专业选修课含跨学科课程云平台软件开发技术 3/48 3 2 高永强、邵允学3类别 课程名称周学时总学时学分 开课学期 任课教师(职称) 备注软件测试与质量保证 3/4
5、8 3 2 孙涛、刘靖4四、专业实践一一一 专业实践方式由校内导师、课题组结合所承担的科研课题,安排学生的专业实践环节;或依托本领域的研究生联合培养基地,在校内外导师的共同指导下,结合工程实际岗位去现场进行专业实践;或研究生结合本人的就业去向,自行联系现场实践单位。一一一专业实践考核软件工程专业学位研究生按照培养方案要求,与导师一起制订专业实践计划,列出专业实践的具体内容。专业实践结束后需提交内蒙古大学全日制硕士专业学位研究生专业实践考核登记表,完成 1 篇不少于5000 字的专业实践总结报告,并在学院内进行交流。各研究所组织专业实践考核小组根据研究生的专业实践工作量、综合表现及实践单位的反馈
6、意见等,按“优、良、中、及格和不及格”五个等级评定专业实践成绩,经学院审核通过后,填写内蒙古大学全日制硕士专业学位研究生专业实践结果汇总表,报研究生院备案,给予相应的专业实践学分 4 学分,不及格者不计学分需要重新参加专业实践环节。五、学位论文学位论文是专业学位硕士研究生培养过程中的重要环节,通过学位论文工作培养研究生独立工作和综合分析的能力,培养研究生发现问题、解决问题、并将解决办法用清晰的逻辑表达的能力。研究生应在导师的指导下,用不少于半年的时间独立完成硕士学位论文。具体要求如下:(一)论文选题要求研究生在导师指导下于第 3 学期初完成论文选题工作。学位论文选题应直接来源于生产实际或具有明
7、确的工程背景,其研究成果要有实际应用价值, 拟解决的问题要有一定的技术难度和工作量,选题要具有一定的理论深度和先进性。具体可从以下方面选取:5一1一 技术攻关、技术改造、技术推广与应用。一2一 新工艺、新材料、新产品、新 设备的研制与开发。一3一 引进、消化、吸收和应用国外先进技术项目。一4一 应用基础性研究和预研专题。一5一 一个较为完整的工程技术项目、工程管理项目的规划和研究。一6一 工程设计与实施。一7一 实验和实验方法研究。一8一 技术标准制定。研究生应在导师指导下撰写开题报告,开题报告内容包括:研究意义、国内外该问题的研究现状与发展、已有解决方案中目前存在的问题、研究内容、关键 技术
8、与研究方法、研究目标、 进度与安排等,重点突出研究内容。研究生应在第 3 学期中做开题报告并回答所提出的问题,在听取意见并修改后提交正式书面报告,研究生所在的开题报告小组对其开题报告进行集体讨论,提出意见,确定论文题目后,研究生方能正式开始学位论文工作。(二)论文形式及其内容要求学位论文的形式可以多样化,既可以是研究类学位论文,如应用研究论文,也可以是设计类和产品开发类论文,如产品研发、工程设计等,还可以是软科学论文,如调查研究报告、工程管理论文等。产品研发:是指来源于软件工程领域生产实际的新产品研发、关键部件研发,以及 对国内外先进产品的引进消化再研发,包括了各种软、硬件产品的研发。内容包括
9、绪论、研发理论及分析、实施与性能测试及总结等部分。工程设计:是指综合运用软件工程理论、科学方法、专业知识与技术手段、技术经济、人文和环保知识, 对具有较 高技术含量的工程项目、大型设备、装 备及其工艺等问题从事的设计。设计方案科学合理、数据准确,符合国家、行业标准和规范,同时符合技术经济、环保和法律要求;内容包6括绪论、设计报告、 总结及必要的附件;可以是工程图纸、工程技术方案、工艺方案等,可以用文字、图纸、表格、模型等表述。应用研究:是指直接来源于软件工程实际问题或具有明确的软件工程应用背景, 综合运用基础理论与专业知识、科学方法和技术手段开展的应用性研究。内容包括绪论、研究与分析、 应用和
10、 检验及总结等部分。工程与项目管理:项目管理是指软件工程领域一次性大型复杂工程任务的管理,研究的问题可以涉及项目生命周期的各个阶段或者项目管理的各个方面,也可以是企事业项目化管理、项目组合管理或多项目管理问题。工程管理是指以自然科学和软件工程技术为基础的工程任务,可以研究软件工程的各职能管理问题,也可以涉及软件工程的各方面技术管理问题等。内容包括绪论、理论方法综述、解决方案设计、安全分析或有效性分析及总结等部分;要求就本领域工程与项目管理中存在的实际问题开展研究,对 国内外解决该类问题的解决方案进行设计,并对该解决方案进行案例分析和验证,或进行有效性和可行性分析。调研报告:是指对软件及相关领域
11、的工程和技术命题进行调研,通过调研发现本质,找出规律,给出结论,并 针对 存在或可能存在的问题提出建议或解决方案。包括绪论、调研方法、 资料和数据分析、对策或建议及总结等部分。既要对被调研对象的国内外现状及发展趋势进行分析,又要调研该命题的内在因素及外在因素,并对其进行深入剖析。(三)论文撰写及规范要求学位论文应条理清楚,用词准确,表述规范。学位论文一般由以下几个部分组成:封面、独创性声明、学位论文版权使用授权书、摘要(中、外文)、关键词 、论文目录 、正文、参考文献、 发 表文章或申请专利目录、致 谢和必要的附录等。学位论文撰写要求概论清晰,逻辑严谨,结构合理,层次分明,文字流畅, 图 表清
12、晰,概念清楚,数据可靠,计算正确,格式 规范,引用他人文章应明确标注。论文送审及答辩时要求必须有行业部门的专家参加。同时,加强评阅制度,要求必须有行业、企业或政府部门有应用研究经验的专家进行评阅。通过学位论文答辩者,方可授予专业学位。7六、主要课程教学大纲算法基础课程教学大纲课程中文名称:算法基础 课程英文名称:Fundamentals of Algorithmics课程编号:094200103 课程类别:必修 学分:4 学时:64课程简介在学习数据结构与算法的基础上,进一步学习算法的设计方法、技巧和具体实现方法与应用。使学生掌握算法的基本设计方法和分析方法,常用数据结构和算法,通过实践掌握基
13、本算法的实现技能。主要内容包括:算法的基本概念和基本分析方法,递归算法、贪心算法、动态规划算法的设计和实现,算法的应用与实践。 培养学生运用算法技术解决问题的实际能力。教学内容及学时安排本课程教学内容及学时安排如下(64 学时):第一章引言(6 学时)1.1算法的基本概念1.2抽象数据类型与基本数据结构1.3算法的时空复杂度1.4算法设计的基本步骤 第二章 排序(8 学时)2.1 简单排序算法2.2 希尔排序与快速排序2.3 归并排序与堆排序2.4 排序算法的分析、比较与改进2.5 大规模数据的排序第三章 查找(12 学时)3.1 顺序查找3.2 Hash 表3.3 二叉查找树3.4 B-树与
14、 B+ 树3.5 倒排索引及其压缩3.6 跳表及其应用3.7 集合与字典第四章递归算法(9 学时)4.1 递归算法的设计与实现4.2 递归算法实例4.3 递归算法转换为非递归的方法4.4 递归算法的分析第五章贪心算法(5 学时)5.1 贪心算法的设计与实现5.2 贪心算法实例第六章动态规划算法(8 学时)6.1 动态规划算法的设计6.2 基于递归的动态规划算法6.3 动态规划算法的实例与实现第七章图论算法 (10 学时)7.1 图的搜索7.2 有向图和有向无环图7.3 最小生成树87.4 最短路径7.5 网络流第八章 概率算法 (6 学时)8.1 简介8.2 伪随机数生成8.3 数字概率算法8
15、.4 Mont Carlo 算法8.5 Las Vegas 算法案例教学、实践教学内容及学时安排本课程安排 3 个实验,具体安排如下(16 学时):1、排序类(1)任务要求:实现排序类,公共函数包括冒泡排序、快速排序(递归) 、堆排序。将递归算法改写为非递归的,进行比较。(2)时间要求:布置任务之后,在 2-3 周内完成。(3)提交结果:实验报告,报告包括算法思想、设计思路、程序代码、测试例、运行结果、分析等(电子版) 。(4)学时安排:上机 2 学时。 (5)成绩评定:根据学生提交的实验报告评定本实验的成绩。本次实验占实验总成绩的 25%。2、哈希表类(1)任务要求:实现 OPEN 哈希表模
16、板类(不得使用 C+或 JAVA 自有的哈希表类)。用哈希表实现一个英语词典(1000 个词,在第三个实验中使用)(2)时间要求:布置任务之后,在 2-3 周内完成。(3)提交结果:实验报告,报告包括算法思想、设计思路、程序代码、测试例、运行结果、分析等(电子版) 。(4)学时安排:上机 2 学时。(5)成绩评定:根据学生提交的实验报告评定本实验的成绩。本次实验占实验总成绩的 25%。3、拼写错误检测(1)任务要求:以第 2 题中的哈希表英语词典为基础,应用动态规划法设计和实现拼写错误检测程序。 对输入单词进行检测,如果不正确,给出最接近的 3 个可选词。(2)时间要求:布置任务之后,在 2-
17、3 周内完成。(3)提交结果:实验报告,报告包括算法思想、设计思路、程序代码、测试例、运行结果、分析等(电子版) 。(4)学时安排:上机 2 学时。(5)成绩评定:根据学生提交的实验报告评定本实验的成绩。本次实验占实验总成绩的 25%。4、实验之后,分 5 次进行报告和讨论。每次挑选有特点的 1/5 学生报告实验内容(包括:实验设计、演示等) ,每次 2 学时。根据报告情况评定成绩,占实验总成绩的 25%。考核方式总成绩构成情况:(1)实验与报告(50%)(2)期末考试(50%)参考书目1 计算机算法导论,清华大学出版社,卢开澄,2006 年;2 算法:C 语言实现(第 1-第 5) ,机械工
18、业出版社,2009 年;3 算法设计与分析导论,机械工业出版社,2008 年;4 G. Brassard /邱仲潘等译,Fundamentals of Algorithmics,清华大学出版社,2005 年;9计算机数学基础课程教学大纲课程中文名称:计算机数学基础 课程英文名称:Basic Mathematics of Software课程编号:094200203 课程类别:专业必修 学分:3 学时:48课程简介计算机数学基础是专业型研究生(二年制)第一学年的必修课程。本课程是一门研究和分析计算机科学和管理科学领域中常用的数学知识和方法的课程。本课程从计算机学科与管理学科工程与科研的角度出发,
19、以计算机和管理科学各子领域所涉及到的基本数学问题为主要研究对象,主要研究内容包括运筹与优化、概率与统计、矩阵论等。本课程的重点在于使学生掌握处理计算机和管理科学领域问题的常用数学方法,并使用这些数学方法对遇到的科研问题进行建模和求解。通过本课程学习,使学生具有现代数学的观点和方法,并初步掌握处理离散结构所必须的描述工具和方法以及计算机上常用数值分析的构造思想和计算方法。同时,也要培养学生抽象思维和缜密概括的能力,使学生具有良好的开拓专业理论的素质和使用所学知识,分析和解决实际问题的能力。教学内容及学时安排(一)矩阵论 (16 学时)1、向量空间(5 学时)子空间、线性无关、基和维数、基变换、行
20、空间和列空间2、线性变换(3 学时)矩阵表示、相似性3、特征值与特征向量(8 学时)线性微分方程组、对角化、埃尔米特矩阵、奇异值分解、二次型、正定矩阵(二)概率与统计 (19)1、数据的种类、整理与展示(3 学时)2、数据整体的状态(2 学时)3、条件概率、全概率、贝叶斯公式(6 学时)4、方差分析与回归分析(8 学时)(三)最优化理论(13)1、核方法(5 时)稀疏核、SVM2、动态规划 (8 学时)动态规划的基本概念和原理;动态规划的阶段、状态、决策和效益以及状态转移方程;对一些简单优化问题进行分析,建立模型并求解。10案例教学、实践教学内容及学时安排1、N 元(N-Gram)文法(1)任
21、务要求:给定词典和文本语料库,在文本语料库上统计 N 元文法(如:2-gram、 3-gram 等) ;同时,给定若干句子,在统计好的 N-Gram 模型上计算相应句子在语料库中出现的概率。(示例,http:/ 1-2 周内完成。(3)提交结果:已统计好的 N-Gram,代码等。(4)学时安排:4 学时,由学生报告实验内容(包括:实验设计、演示等) 。(5)成绩评定:根据学生提交的结果(80%)及口头报告的效果(20% )评定本实验的成绩。本次实验占总成绩的 10%。2、朴素贝叶斯分类器(1)任务要求:给定某实验数据集(包括:训练集和测试集) ,在该训练集上构建朴素贝叶斯分类器,在测试集上对已
22、训练好的朴素贝叶斯分类器测试性能。(示例,http:/ 2-3 周内完成。(3)提交结果:已统计好的朴素贝叶斯模型,测试集性能、代码等。(4)学时安排:4 学时,由学生报告实验内容(包括:实验设计、演示等) 。(5)成绩评定:根据学生提交的结果(80%)及口头报告的效果(20% )评定本实验的成绩。本次实验占总成绩的 10%。3、动态时间弯曲(Dynamic Time Warping,DTW)算法(1)任务要求:给定一个时间序列数据集,采用 DTW 算法计算各样本之间的相似度,找出数据集中平均 DTW 距离最小的样本。(http:/ 1-2 周内完成。(3)提交结果:样本间的 DTW 距离,代码等。(4)学时安排:4 学时,由学生报告实验内容(包括:实验设计、演示等) 。(5)成绩评定:根据学生提交的结果(80%)及口头报告的效果(20% )评定本实验的成绩。本次实验占总成绩的 10%。4、人口迁移模型(1)问题描述:假设一个大城市的总人口保持稳定;然而,每年有 6%的人从城市搬到郊区,2%的人从郊区 搬到城市。如果初始时,30% 的人生活在城市,70% 的人生活在郊区,那么 10 后这些比例有何变化?30 年后呢?50 年后呢?长时过程意味着什么?(2)时间要求:布置任务之后,在 1 周内完成。(3)提交结果:Matlab 代码,文档等。