17-649 Artificial Intelligence for Software Engineering
12 units, Carnegie Mellon University
Advances in artificial intelligence AI and machine learning ML offer new opportunities in software engineering to explore the design space and improve software quality. This includes discovering interactions among natural language requirements, prioritizing feature requests, and finding and fixing bugs. Consequently, software engineers must take on the role of data scientist, which entails curating datasets, understanding the tradeoffs in statistical models, and learning to evaluate their models. This course aims to introduce students to advances in natural language processing NLP, including symbolic and statistical NLP techniques, and in deep learning to analyze software artifacts. The course will emphasize algorithm setup and configuration, data preparation, analytic workflow, and evaluation. Datasets will be drawn from industrial requirements, mobile app reviews, bug reports and source code with documented vulnerabilities. At course end, students will understand terminology and have hands on experience to help guide their decisions in applying AI to contemporary engineering problems.
Prerequisites: none listed
Courseweave needs JavaScript to show sections, workloads and planning tools.