Software Engineering describes an attitude and a discipline towards the construction of software systems, one which advocates the use of systematic, disciplined and quantifiable techniques and technologies. These are meant to cover all aspects of such system construction, especially including requirements analysis, design, development, testing, operating and maintenance of software. Some of these techniques are especially rigorous and mathematical, and amongst other benefits have improved the abilities of software professionals to understand what they are building and to do so quickly and effectively.
The Software Engineering and Systems group includes members who are interested in are broad set of problems and technologies. In addition to classical Software Engineering, these topics include: