More and more modern software systems include machine-learning (ML) models for part of their functionality (e.g., recommendation engines in e-business sites) or are even built around such models (e.g., mobile apps for instant language translations). Artificial intelligence (AI), including the subfields of ML and data analytics, are hot topics of interest to many of our students. Yet, while AI courses abound, including more formal and more practical courses and many online MOOC-style offerings and tutorials, we find that little attention is paid to software-engineering aspects in building complete systems that involve AI.
… (see PDF)