Teaching

编译原理(本科生)

掌握和编译器设计相关的形式语言理论基础,编译器的基本流程和相关方法。

  • 课程内容主要包含词法分析、语法分析、语义分析、代码生成和代码优化五个知识模块,对应编译器设计和实现过程中要仔细考虑的各个阶段。
  • 课程的目标是使大家掌握和编译器设计相关的形式语言理论基础、了解编译器生成工具的使用方式、以及实践一个简单编译器的设计与实现过程。
  • 教材:Alfred V.Aho, Monica S.Lam, Ravi Sethi, Jeffrey D.Ullman. Compilers: Principles, Techniques, and Tools (2nd Edition). 赵建华 郑滔 戴新宇 译.(机械工业出版社) (龙书)

软件需求工程(本科生)

软件需求工程是计算机科学与技术专业本科高年级选修课之一,也是软件工程方向的专业核心课程。课程主要介绍软件需求工程的基本理论、技术与方法。

  • 通过本课程的学习,学生应该比较系统地了解软件需求工程的基本理论;熟悉软件需求工程的核心过程、方法,掌握一定的软件需求开发与需求管理工具,具备进行软件需求开发和软件需求管理的基本能力。
  • 课程内容主要包括软件需求开发和软件需求管理两个部分,同时介绍软件需求工程的新进展及相关支持工具。
    • 软件需求开发主要包括需求获取、需求分析、规格定义和需求验证等,重点关注软件需求的获取方法、需求分析建模技术。
    • 软件需求管理主要包括需求评审、需求变更控制和需求跟踪等,重点关注典型开源软件开发环境下的需求评审、需求变更控制和需求跟踪方法。

软件维护与演化导论(研究生)

  • 熟悉软件在维护与演化期间的主要特征、现状以及未来发展趋势,了解基本技术与理论。
  • 课程主要内容:软件维护与演化概述、软件逆向工程与再工程、程序变换与移植、软件重构、软件变更与影响分析、软件数据挖掘、克隆代码检测与分析、软件重用。

软件分析测试(研究生,2014~2018)