二、课程教学内容提要与基本要求理论部分序号基本要求学时教学内容提要理解渐进复杂度的定义,能使用有关基础知识记号描述给定算法的渐进复杂度。具备使用循环不变量来证明算法正确性a)算法在计算中的地位,b)渐进复杂度的能力;4c)循环不变量能够描述分治算法的思想,能使用分d)分治法治思想设计针对给定间题的算法;e)求解递归问题复杂度的方法熟练掌握递归问题复杂度的求解方法,能计算给定递归间题的复杂度。能够描述DP思想以及如何利用DP思想设计算法的基本步骤,能使用DP高级算法设计与分析技术思想设计针对给定间题的算法;2a)动态规划理解贪心选择属性的含义,掌握利用6b)贪心算法贪心思想设计算法的基本步骤,能使用贪心思想设计针对给定间题的算法。掌握红黑树的定义及其常用操作的复杂度,掌握红黑树的插入操作;高级数据结构掌握斐波那契堆的定义及其常用操作a)红黑树3的复杂度,掌握斐波那契堆的基本操8b)斐波那契堆作;c)并查集掌握并查集的实现及其常用操作的复杂度。能够描述线性规划的概念,给出对应的形式化描述,能利用单纯型法计算机器学习相关简单线性规划问题;a)线性规划掌握最小二乘法的定义、形式化描述b)最小二乘拟合84及其理论推导;c)神经网络理解神经网络的概念,掌握其形式化d)卷积神经网络描述,掌握反向传播的理论推导;理解卷积神经网络的概念,具备对卷23
23 二、课程教学内容提要与基本要求 理论部分 序号 教学内容提要 基本要求 学时 1 基础知识 a) 算法在计算中的地位, b) 渐进复杂度 c) 循环不变量 d) 分治法 e) 求解递归问题复杂度的方法 理解渐进复杂度的定义,能使用有关 记号描述给定算法的渐进复杂度。具 备使用循环不变量来证明算法正确性 的能力; 能够描述分治算法的思想,能使用分 治思想设计针对给定问题的算法; 熟练掌握递归问题复杂度的求解方 法,能计算给定递归问题的复杂度。 4 2 高级算法设计与分析技术 a) 动态规划 b) 贪心算法 能够描述 DP 思想以及如何利用 DP 思 想设计算法的基本步骤,能使用 DP 思想设计针对给定问题的算法; 理解贪心选择属性的含义,掌握利用 贪心思想设计算法的基本步骤,能使 用贪心思想设计针对给定问题的算 法。 6 3 高级数据结构 a) 红黑树 b) 斐波那契堆 c) 并查集 掌握红黑树的定义及其常用操作的复 杂度,掌握红黑树的插入操作; 掌握斐波那契堆的定义及其常用操作 的复杂度,掌握斐波那契堆的基本操 作; 掌握并查集的实现及其常用操作的复 杂度。 8 4 机器学习相关 a) 线性规划 b) 最小二乘拟合 c) 神经网络 d) 卷积神经网络 能够描述线性规划的概念,给出对应 的形式化描述,能利用单纯型法计算 简单线性规划问题; 掌握最小二乘法的定义、形式化描述 及其理论推导; 理解神经网络的概念,掌握其形式化 描述,掌握反向传播的理论推导; 理解卷积神经网络的概念,具备对卷 8
积层反向传播公式的推导能力。能够描述正则语言和有穷自动机的概念,具备针对给定正则语言构造等价有穷自动机的能力;计算理论初步能够描述上下文无关文法和下推自动a)正则语言和有穷自动机机的概念;b)上下文无关语言和下推自动机5能够描述递归语言和递归可枚举语言hc)图灵机及算法的定义的概念以及它们和图灵机的关系。掌d)递归语言和图灵机的判定握对角化方法的本质并能利用其证明e)可解决问题,P与NP问题给定间题。能够通过停机语言的证明来阐释计算机能力的边界。实验部分实验内容、要求及时间安排、仪器要必开/实验学序号实验项目名称时求类型选开三、教学方法该课程主要通过讲演法来进行知识层面的传授,通过讨论间答法等启发式方法激发学生的积极性,培养起独立思考能力。对于计算理论的部分间题,还可以通过现代化试听手段以更加直观的方式展示枯燥的理论问题。四、课程思政内容1.培养学生不畏艰难,脚踏实地的科学研究态度,抵御当前社会浮躁之风;鼓励学生进行原创性研究而不是对国外开源模型的各种魔改,从而真正提高我国的创新能力。2.通过对计算以及计算机数学本质的讲授,让学生能够辩证地理解当前机器学习的现状以及大模型的能力边界。五、教学目标达成与评价方式教学目标将通过以下方式达成1.课堂讲授:讲演及案例驱动式教学;2.反转课堂及讨论:课上现场出题,让学生进行分析,然后上台讲授,激发学生的积极性,培养起独立思考能力。达成情况通过闭卷考试以及平时成绩进行评价,其中平时成绩为对反转课堂及讨论的评24
24 积层反向传播公式的推导能力。 5 计算理论初步 a) 正则语言和有穷自动机 b) 上下文无关语言和下推自动机 c) 图灵机及算法的定义 d) 递归语言和图灵机的判定 e) 可解决问题,P 与 NP 问题 能够描述正则语言和有穷自动机的概 念,具备针对给定正则语言构造等价 有穷自动机的能力; 能够描述上下文无关文法和下推自动 机的概念; 能够描述递归语言和递归可枚举语言 的概念以及它们和图灵机的关系。掌 握对角化方法的本质并能利用其证明 给定问题。能够通过停机语言的证明 来阐释计算机能力的边界。 6 实验部分 序号 实验项目名称 学 时 实验内容、要求及时间安排、仪器要 求 必开/ 选开 实验 类型 三、教学方法 该课程主要通过讲演法来进行知识层面的传授,通过讨论问答法等启发式方法激发学生 的积极性,培养起独立思考能力。对于计算理论的部分问题,还可以通过现代化试听手段以 更加直观的方式展示枯燥的理论问题。 四、课程思政内容 1.培养学生不畏艰难,脚踏实地的科学研究态度,抵御当前社会浮躁之风;鼓励学生进 行原创性研究而不是对国外开源模型的各种魔改,从而真正提高我国的创新能力。 2.通过对计算以及计算机数学本质的讲授,让学生能够辩证地理解当前机器学习的现状 以及大模型的能力边界。 五、教学目标达成与评价方式 教学目标将通过以下方式达成: 1. 课堂讲授:讲演及案例驱动式教学; 2. 反转课堂及讨论:课上现场出题,让学生进行分析,然后上台讲授,激发学生的积 极性,培养起独立思考能力。 达成情况通过闭卷考试以及平时成绩进行评价,其中平时成绩为对反转课堂及讨论的评
价。六、课程成绩评定课程成绩=闭卷考试成绩(60%)+平时成绩(40%)平时成绩评定方式:平时成绩(100%)评价因子逻辑、抽象能力表达能力比例40%60%七、建议教材与主要参考书建议教材:Introduction toAlgorithms,3rEdition,ThomasH.Cormenetal.,MITPress,2009参考书:Introduction to the Theoryof Computation(3rdEdition).Michael Sipser,CENGAGELearning,2012八、编制与审核工作内容负责人完成时间丁编制(任课教师)2024.07.20审核(学科、专业负张伟2024.07.31责人)批准(主管院长)刘秀磊2024.07.3125
25 价。 六、课程成绩评定 课程成绩 = 闭卷考试成绩 (60%) + 平时成绩(40%) 平时成绩评定方式: 评价因子 平时成绩 (100%) 逻辑、抽象能力 表达能力 比例 60% 40% 七、建议教材与主要参考书 建议教材: Introduction to Algorithms, 3 rd Edition, Thomas H. Cormen et al., MIT Press,2009 参考书: Introduction to the Theory of Computation (3rd Edition). Michael Sipser, CENGAGE Learning, 2012 八、编制与审核 工作内容 负责人 完成时间 编制(任课教师) 丁濛 2024.07.20 审核(学科、专业负 责人) 张伟 2024.07.31 批准(主管院长) 刘秀磊 2024.07.31
《软件系统与工程》课程教学大纲课程名称课程编码CS506软件系统与工程Software Systemand英文名称考核方式口考试■考查Engineering口公共必修课学分2■专业必修课口公共选修课课程性质口专业选修课总学时32口补修课口其他口本研一体化课程口特色课程口学科交叉融合课程口全英文授课课程8课程特点实验学时口双语授课课程口案例课程口校企联合课程口其他先修课程(已具操作系统、数据结构、计算机程序设计、数据库、软件工程备知识能力)适用学科/专业计算机科学与技术、电子信息(人工智能-智能计算)、电子信息(计算机技术)学位类别(领域)一、课程教学目标本课程涉及基础软件系统、高级程序设计语言、软件工程等核心内容,为研究生提供较为全面的基础软件和工程技术知识,培养软件思维和工程实践能力。通过本课程的学习,能够掌握并具备大型、复杂软件系统研究与开发的基础理论知识和工程实践能力,提升计算思维,了解新时代软件系统研究与开发的最新进展,为从事相关领域的研究与工程开发工作奠定坚实基础。通过本课程的学习,能够在知识、科研实践能力和创新能力等方面达到如下要求:26
26 《软件系统与工程》课程教学大纲 课程名称 软件系统与工程 课程编码 CS506 英文名称 Software System and Engineering 考核方式 □考试 考查 课程性质 □公共必修课 专业必修课 □公共选修课 □专业选修课 □补修课 □其他_ 学分 2 总学时 32 课程特点 □本研一体化课程 □特色课程 □学科交叉融合课程 □全英文授课课程 □双语授课课程 □案例课程 □校企联合课程 □其他_ 实验学时 8 先修课程(已具 备知识能力) 操作系统、数据结构、计算机程序设计、数据库、软件工程 适用学科/专业 学位类别(领域) 计算机科学与技术、电子信息(人工智能-智能计算)、电子信息(计算机技术) 一、课程教学目标 本课程涉及基础软件系统、高级程序设计语言、软件工程等核心内容,为研究生提供较 为全面的基础软件和工程技术知识,培养软件思维和工程实践能力。通过本课程的学习,能 够掌握并具备大型、复杂软件系统研究与开发的基础理论知识和工程实践能力,提升计算思 维,了解新时代软件系统研究与开发的最新进展,为从事相关领域的研究与工程开发工作奠 定坚实基础。 通过本课程的学习,能够在知识、科研实践能力和创新能力等方面达到如下要求:
(1)掌握基础软件和软件工程的一般技术和方法:(2)了解新时代软件系统研究与开发的最新进展,具备自主学习能力;正确理解新时代技术发展对基础软件系统的要求与影响;(3)掌握并具备大型、复杂软件系统开发和研究的基础理论知识和工程实践能力。二、课程教学内容提要与基本要求理论部分学时序号教学内容提要基本要求理解基础软件系统基本概念;基础软件系统概述了解系统软件和基础软件发展历史;·基础软件系统基本概念了解主流软件工具及软件系统栈,并能21·系统软件和基础软件发展历史够合理进行技术选型。主流软件工具及软件系统栈软件工程知识体系理解软件工程的定义、软件工程的目标;掌握软件工程生命周期阶段、过程、管·软件工程的定义和目标26理、方法和工具等方面的基本概念,并·软件生命周期应用于软件工程实践,开源软件开发方法了解常见开源协议的内涵并能够遵照执行;开源协议介绍?了解常用开源平台与工具,并能够合理34·开源相关规律选型。开源平合与工具.敏捷软件开发方法理解敏捷开发原理,并能够在实践中应用;。敏捷开发原理与实践4了解敏捷开发过程的各阶段要求,并应·敏捷开发过程用于软件开发实践。软件新技术发展能够通过文献调研与分析总结,了解软件行业的发展趋势和最近技术进展;5能够正确认识新技术发展对软件行业的影响,以及对从业者的素质要求。实验部分27
27 (1) 掌握基础软件和软件工程的一般技术和方法; (2) 了解新时代软件系统研究与开发的最新进展,具备自主学习能力;正确理解新 时代技术发展对基础软件系统的要求与影响; (3) 掌握并具备大型、复杂软件系统开发和研究的基础理论知识和工程实践能力。 二、课程教学内容提要与基本要求 理论部分 序号 教学内容提要 基本要求 学时 1 基础软件系统概述 基础软件系统基本概念 系统软件和基础软件发展历史 主流软件工具及软件系统栈 理解基础软件系统基本概念; 了解系统软件和基础软件发展历史; 了解主流软件工具及软件系统栈,并能 够合理进行技术选型。 2 2 软件工程知识体系 软件工程的定义和目标 软件生命周期 理解软件工程的定义、软件工程的目标; 掌握软件工程生命周期阶段、过程、管 理、方法和工具等方面的基本概念,并 应用于软件工程实践。 6 3 开源软件开发方法 开源协议介绍 开源相关规律 开源平台与工具 了解常见开源协议的内涵并能够遵照执 行; 了解常用开源平台与工具,并能够合理 选型。 4 4 敏捷软件开发方法 敏捷开发原理与实践 敏捷开发过程 理解敏捷开发原理,并能够在实践中应 用; 了解敏捷开发过程的各阶段要求,并应 用于软件开发实践。 4 5 软件新技术发展 能够通过文献调研与分析总结,了解软 件行业的发展趋势和最近技术进展; 能够正确认识新技术发展对软件行业的 影响,以及对从业者的素质要求。 8 实验部分