软件工程研究导引(Guidance to Software Engineering Research)

教学目标:软件工程是计算机科学的重要研究领域之一,但大多数学生缺乏对软件工程研究的认识、分析和评价能力。本课程旨在引导学生对软件工程研究的兴趣,提高对软件工程研究工作的认识、分析和评价能力,为有志于参与软件工程研究的学生开启入门之路;《软件工程研究导引》的教学目标是使学生理解如下知识:软件工程研究的目标和分类、基于模型的软件开发方法、软件测试和分析技术、软件开发过程中的一致性管理技术,以及掌握对这些方法和技术的认识、分析和评价能力

授课老师:许畅)、蒋炎岩

课程助教:王慧妍(

使用教材:软件工程旗舰会议 ICSE (International Conference on Software Engineering)、ESEC/FSE (Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on Foundations of Software Engineering)、ASE (IEEE/ACM International Conference on Automated Software Engineering)、ISSTA (ACM SIGSOFT International Symposium on Software Testing and Analysis) 和 ICSME (IEEE International Conference on Software Maintenance and Evolution) 等论文集

选课需求:学习过软件工程基础课程(如本科生《软件工程》),以及程序设计语言高级课程(如本科生《编译原理》),熟练掌握至少一种高级语言的使用,进行过较多或较大软件的开发和维护工作;需进行分组报名后才进入讨论编排(无编排则为旁听);研究生课程从第三周(9月17日这周)开始,首次课介绍课程内容和软工背景,前三周进行分组报名(说明见后),报名成功的同学将编排进入后续的论文讨论,中途不可退出

评分标准:论文讨论的表现、以及分组晋级的情况等

联系方式:有任何对本课程的疑问,请 email 给许畅老师(除特别说明的情况之外)

说点什么:这是一门研究生前沿文献研讨课程,但是组织形式与众不同,希望你乐在其中,持续晋级 :-)


课程安排

学期:2018-2019学年第一学期(共17周,有效时间15周)

时间:每周五上午3-4节(两节连上,优化时间;老师出差补课时,安排周末或晚上;运动会仍然上课,参加比赛的可提前告知老师)

地点:仙2-307

课程资料:


动态新闻

以下是重要通知

2018-09-21:选课分组已结束,欢迎各位同学

2018-09-20:有些说明做了微调

2018-08-11:课程网站设立


分组报名

分组报名开始于9月3日,结束于9月21日;请各位选课同学 email 给课程助教,说明自己的姓名、学号以及期望的分组(先到先选,兼顾平衡),之后会收到是否报名成功的反馈;不成功的请按反馈内容及时调整,所有调整需在9月21日晚24点前完成(未完成的会被随机分配);未报名的视为旁听课程,无学分

共有4个分组(具体内容将于首次课上介绍):

报名结束后,9月23日(周日)课程助教将 email 给每个分组的所有成员以介绍组员,课程网站也将公布分组情况和分组论文;每个分组需于当天晚24点前确定组长,并以组长群发该组所有成员的方式通知课程助教;组长需承担略多责任,但同时也获得额外奖励

分组情况:

欢迎以上同学!

分组论文:

A 组:

C1 组:

T 组:

C2 组:


组织形式

分组报名成功的同学,正式进入讨论编排,将无法退出此课;从第4周开始,每周进行一场论文讨论(涉及一至多篇论文)

论文讨论分为 Training 和 PK 两个阶段:

主讲方合作阐述选定论文的贡献(基于论文,用 slides),反对方攻击主讲方的阐述(而非论文本身);老师对参与讨论同学的表现进行评价,观众进行打分;如果某反对方组的问题质量不高,该组所有成员的最终得分将被降低

具体安排:

共有3轮论文讨论,每轮讨论包括1-8场不等;除首轮讨论所有同学都参与外,后两轮只有 PK 赛入选者/晋级者参与;入选者/晋级者在付出更多努力的同时,也有机会获得本课程更高的成绩,同时影响本组其他成员的得分;其他同学应作为智囊团以各种方式支持本组 PK 赛入选者/晋级者,所付出的努力将计入各人的最终得分


讨论模板

论文讨论将围绕如下或类似的问题展开,回避这些问题将降低老师对相应同学的评价:

1. 研究问题是什么?为什么这是个有意义的问题?为什么这是个有挑战性的问题?

2. 为什么已有工作在这个研究问题上不足?在哪方面、哪种情况下不足?

3. 为什么提出的新方法能有效地解决该研究问题?究竟是什么内涵使得这种新方法区别与已有的工作?表现在哪里?

4. 新方法是怎么运作的?它有什么假设?为什么这些假设可行?

5. 新方法的可用性和有效性如何?它的使用场景和条件是什么?是否适用于实用场景?

6. 新方法是如何与已有工作进行比较的?这样的比较是否有效?是否有隐藏的正确性威胁因素?

7. 新方法是否有什么不足?在什么情况下会表现出来?是否有改进的可能?为什么及如何做?

主讲方需围绕着这些问题阐述选定论文的贡献,反对方则以明确的方式还击;“明确”是必须的,任何含糊的说法都是不符合要求的,比如说“我感觉这个方法有问题/我不相信这个结果/我的经验不是这样的/不如你自己来说说有什么不足”等,或者纠结无意义的细节,比如“这张图画得不好/这里有个笔误”等


讨论安排

第1轮第1场(9月28日;Training;A 组):

第1轮第2场(9月30日;Training;C1 组):

第1轮第3场(10月12日;Training;T 组):

第1轮第4场(10月19日;Training;C2 组):

决赛情况:

冠军:;亚军:;季军:


相关照片


请按Ctrl+F5强制刷新页面以获取最新版;最后更新日期:2018-10-12