5ARA0 - Software Engineering for Artificial Intelligence
Modern software applications operate under ever-changing constraints. Requirements might change during development or new insights might invalidate an already planned approach. In contrast to building a hardware product, developing a software product therefore requires flexible and adaptive techniques. Additionally, with Artificial Intelligence (AI) applications, data collection and management require special attention.
The course on Software Engineering for Artificial Intelligence (SE for AI, 5ARA0) teaches the basics of professional software design and applies it to the development of a production-ready AI application. It familiarizes students with best practices in software engineering, and prepares them for the development of reproducible, adaptive and maintainable AI software applications in practice.
Concretely, the course:
- Introduces the software development lifecycle, and explores how practical tools and design principles, such as SOLID, Test Driven Development, Continuous Integration, and version control with Git, aid software development and maintenance.
- Highlights the importance of data management, maintenance and versioning. It also touches upon the security and ethical aspects of data collection and storage.
- Teaches the basics of requirement engineering and introduces the Agile design principles.
The course is taught in a flipped classroom format and assessed through practical software engineering assignments. For more information you can contact the responsible lecturer, Thijs van de Laar at t.w.v.d.laar@tue.nl.