Class Location and Time: 9:30-10:45am TT, McBryde 238.
Instructor: Dr. Na Meng, nm8247@cs.vt.edu, Office Hours: TT 10:45am-12:15pm, 122A McBryde.
Software engineering is concerned with developing and maintaining software systems that behave reliably and efficiently, and satisfy all requirements that customers have defined for them.
In our course, we will briefly introduce all phases of software life cycle: requirements analysis, design, implementation, testing, and maintenance. Different from the undergraduate-level software engineering course (CS3704) that emphasizes analysis and design, this course will mainly focus on software implementation and maintenance.
Specifically, the course will introduce advanced useful techniques and tools to help program comprehension and transformation, such as program differencing, clone detection, and program analysis. Various active software engineering research areas, such as empirical study, fault localization, and delta debugging, will be also presented and discussed to improve critical thinking and cultivate interest in software engineering.
The goal is to improve skills of programming and writing, promote creative and deep thinking, and pose interesting research questions or investigations about software engineering.
Note: If any student needs special accommodations because of a disability, please contact the instructor during the first week of classes.