软件工程研究导引(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 (International Conference on Automated Software Engineering) 和 ISSTA (International Symposium on Software Testing and Analysis) 等论文集

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

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

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

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


课程安排

学期:2017-2018学年第一学期(共18周,有效时间16周)

时间:每周五上午3-4节(两节连上,优化时间;老师出差补课时,可能安排周末或晚上)

地点:仙1-317

课程资料:


动态新闻

以下是重要通知

2017-09-25:组员信息已更新

2017-09-22:选课学生已超标,选课报名结束;课程资料已更新

2017-09-15:接到通知出差计划有变,故首次课恢复为周五上午原时间(即9月22日上午3-4节,原教室仙1-317)

2017-09-01:首次课由于老师出差,由22日改为24日晚7点,在计算机楼230教室

2017-07-06:课程网站设立


分组报名

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

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

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

分组情况:

欢迎以上同学!

分组论文:

A 组:

C1 组:

T 组:

C2 组:


组织形式

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

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

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

具体安排:

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


讨论模板

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

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

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

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

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

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

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

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

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


讨论安排

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

决赛情况:

冠军:TBD;亚军:TBD;季军:TBD


相关照片


请按Ctrl+F5强制刷新页面以获取最新版;最后更新日期:2017-09-25