Diagonal
Journal

Education resources on Software Engineering for Machine Learning

July 2024
ethos

Earlier this year, Andrew was lucky enough to be asked to build and teach a course on Software Engineering for Machine Learning to masters students at Imperial College London. He created content designed to cover the engineering concepts required to build robust and trustworthy systems that make use of machine learning (ML) and built the course as it was taught.

You can look at the lectures slides and exercises on Andrew’s website. They cover all aspects of systems, from data ingestion to user experience, while considering the influence of regulation and wider society:

The central task was inspired by the time he spent working with the amazing engineering teams behind DeepMind Health and Google Maps. Andrew explained:

“The course tries to cover what a student needs to know to build and operate robust and trustworthy machine learning (ML) systems, while leaving the details of models themselves to other courses.”

The three month course is structured around a real-world example from the medical domain. It requires learners to work in groups to build a system. Andrew and his students worked on a real-world problem where students designed and trained a model to predict acute kidney injury from synthetic blood test results, before working in groups to build a system around that model to alert clinicians in a simulated environment. Andrew added: 

“Throughout the course, we use real data standards (eg HL7) and deployment infrastructure (eg Kubernetes), rather than simplifications.” The final assessment required running that system reliably in a simulated environment for two weeks.

For anyone inspired to replicate this learning opportunity the infrastructure required to deliver the course is available under the Apache license. The resources available are provided under the CC BY-SA 2.0 deed (though photos are covered separately when noted).

The course was a collaborative effort and Andrew acknowledged many:

“amazing people helped make it possible...Robert Chatley, who talked me into doing it, and taught me how to design and deliver a course, Mari, who wrote and delivered the ethics content, Mili Ostojic and Luis Alberto Croquevielle Rendic, my teaching assistants who signed up without knowing how much work they were actually getting into, Cían Hughes, who made sure the course bears some resemblance to clinical reality, and lastly (but most importantly) the entire student cohort who tolerated a first-time lecturer building a course while delivering it, and helped shape it with their feedback".

Andrew continued:

“The course was made possible by the 4-day week policy of my full time job at Diagonal. I delivered the course while working on our urban spatial analysis tool, Skyline. If you work with the built environment, check it out.”

Find out more about how you can join our early adopter community and become one of the first people to use Skyline by getting in touch here.

To hear more about Diagonal’s wider work and our commitment to social projects and education sign up for our quarterly newsletter. And if you are interested in discussing our work with students and educators please drop us an email