Software Engineering for AI-enabled Systems

  • Software Engineering |

Description

The course is designed to establish a working relationship between software engineers and data scientists: both contribute to building production ML systems but have different expertise and focuses. To work together they need a mutual understanding of their roles, tasks, concerns, and goals and build a working relationship. This course is aimed at software engineers who want to build robust and responsible systems meeting the specific challenges of working with ML components and at data scientists who want to facilitate getting a prototype model into production it facilitates communication and collaboration between both roles. The course focuses on all the steps needed to turn a model into a production system.

Program

Software Engineering Plan - 2022

Objectives

  • After taking this course, among others, students should be able to: 1. Analyze tradeoffs for designing production systems with AI-components, analyzing various qualities beyond accuracy such as operation cost, latency, updateability, and explainability.
    2. Implement production-quality systems that are robust to mistakes of AI components.
    3. Design fault-tolerant and scalable data infrastructure for learning models, serving models, versioning, and experimentation.
    4. Ensure quality of the entire machine learning pipeline with test automation and other quality assurance techniques, including automated checks for data quality, data drift, feedback loops, and model quality.
    5. Build systems that can be tested in production and build deployment pipelines that allow careful rollouts and canary testing.
    6. Consider privacy, fairness, and security when building complex AI-enabled systems.
    7. Communicate effectively in teams with both software engineers and data analysts.

Textbook

Geoff Hulten. 2019. Building Intelligent Systems: A Guide to Machine Learning Engineering. Apress.

Course Content

content serial Description
1Introduction and Motivation
2Artificial Intelligence for Software Engineers
3Model Quality
4From Models to AI-Enabled Systems (Systems Thinking)
5Goals and Success Measures for AI-Enabled Systems
6Tradeoffs among Modeling Techniques
77th Week Examination
8Risk and Planning for Mistakes
9Software Architecture of AI-Enabled Systems
10Data Quality and Data Programming
11Managing and Processing Large Datasets
1212th Week Examination
13Intro to Ethics + Fairness
14Explainability & Interpretability
15Safety (Using machine learning safely in automotive software, Military, Health)
16Final Examination

Markets and Career

  • Generation, transmission, distribution and utilization of electrical power for public and private sectors to secure both continuous and emergency demands.
  • Electrical power feeding for civil and military marine and aviation utilities.
  • Electrical works in construction engineering.

Start your application

Start The your journey to your new career.