Course Overview

Data science plays an increasingly important role in software engineering and in facilitating software systems adapt to evolving users and environments. Emerging data-driven methods in software engineering span requirements elicitation, design, development, testing and maintenance.

The main objective of this course is to introduce students to selected data science techniques and tools, and specifically, their applications in software engineering. However, software engineering is a vast domain, thus in this course we will focus on selected set of related topics in software engineering including requirements, architecture, quality modeling, and failure prediction.

Learning Outcomes

Student Expectations


Class Participation 10%
Paper Presentation and Reports 20%
Programming Assignments 40%
Semester Project 30%