Software Engineering for Data-Intensive AI Applications
This project course addresses issues relevant for software engineering for systems that use artificial intelligence (AI) techniques such as machine learning or large-scale parallel data processing. This includes a discussion of the value that can be created through the use of AI, in particular for data analytics and business intelligence, as well as its ethical considerations. At the same time, technological and architectural foundations of software systems using AI techniques and handling large amount of data are discussed.
The course addresses how software systems need to be structured and deployed in order to be able to achieve the performance required for realistic applications. The selection and implementation of different AI techniques based on requirements of a specific realistic problem are discussed. Relevant software architectures and patterns are introduced and discussed in the context of a realistic application scenario.
A main focus is high-data throughput systems that incorporate complex business logic and business processes and work on large data sets, possibly with a continuous stream of data that needs to be processed. Such systems are very common in the industry and students are very likely to come in contact with the principles covered in this course in their early professional career.
Students will create a running software that uses state-ofthe-art architectures and AI techniques to design and build a system based on realistic specifications and requirements.