DS403BKK
Building ML-powered Applications

Faculty
Alexander Guschin
Industrial Head of Machine Learning at Central University
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
Overview
In three weeks, we're going to build an application that we and other people can use. This will include some amount of software development, product thinking, and machine learning. ML will be the backbone of our product, SE will be the means to make it work, and product thinking will lead us through. We’ll start with an idea, outline user scenarios an app should fulfil, proceed with system design, and dive into implementation. We’ll use the app ourselves, collect and analyse our feedback, work on improving the user experience, and finally publish this to the outside world to get real feedback and reflect on our experience. This class will help you understand how complex ML systems are built and will be part of your portfolio that you can showcase and reason about.
Learning highlights
- Approach system design with an example.
- Build your product step by step, from a very early prototype to something more complex.
- Work with modern tools and technologies that help us create quick MVPs.
- Collect feedback for your product, analyse it, and prioritise it.
- Learn how to organise your work on a software project.
- Develop an engineering perspective on ML.
- Get a feel for how startups iterate on their products.
Course outline
15 classes
Session 1
Discussing an idea we’re starting with. Understanding application use cases. Discussing system design, parts of the system, and splitting into teams that are going to tackle each part.
Session 2
Working on implementation. Discussing various challenges we encounter and options to fix them.
Session 3
Integrating parts of the solution together. Continuing to work on each part.
Session 4
Getting an early prototype - enough to try it out ourselves and get our feedback.
Session 5
Presenting what we did over the week, discussing that, and planning next steps.
Session 6
Continuing to work on implementation, trying out our prototype, finding bugs and fixing them.
Session 7
Discovering weak spots, discussing specific user scenarios, and trying them out.
Session 8
Working on implementation.
Session 9
Getting a ready-to-use prototype - not ideal, but already good to share with first users outside of the class.
Session 10
Presenting what we did over the week, discussing that, and planning next steps.
Session 11
Getting feedback from external users. Setting priorities for improvements. Starting with important things that can be finished during this week.
Session 12
Making this project part of your portfolio. Writing a blog post, looking for meetups to share your experience.
Session 13
Finishing with the implementation.
Session 14
Getting an alpha version of the app and sharing it with the external world.
Session 15
Presenting what we did over the week. Discussing the project to find good practices and things to improve.
Prerequisites
The following is required for everyone: Python, basics of ML and Git. Then, depending on the task you’re going to choose, the following can be helpful for you: experience with Deep Learning, Streamlit, Gradio, Telegram and Discord bots, Docker, and CI/CD.
Methodology
We’re going to work on a single project for all three weeks. We’ll work in teams tackling specific parts of the project, so changing teams (and therefore part of the app you’re working on) is possible. The first week will be dedicated to making a working prototype that we can use to collect our internal feedback. In the second week, we’re going to address that feedback and share the app with external folks. In the third week, we’re going to address their feedback and make the project part of our portfolio.
Grading
Alexander Guschin is an Industrial Head of Machine Learning at Central University and a Fullstack ML Engineer. During his career, he worked with ML in various domains and at different scales, both as an Individual Contributor and as a DS/ML team lead. He built companion bots with LLM and Generative models, contributed to the MLOps SaaS platforms and open-source MLOps tools, including https://dvc.org and https://mlem.ai. He worked as a Machine Learning Engineering Lead at a startup centred on the application of machine learning in the industrial sector and Data Science Lead in Yandex.Go. As a teacher, he co-authored the "How to Win a Data Science Competition" curriculum at Coursera, online MLOps class at Karpov.Courses and taught classes about ML competitions and Production ML at Data Mining in Action, the largest offline open data science course in Russia, with over 500 students each year.
See full profileApply for this course
Building ML-powered Applications
by Alexander Guschin
Total hours
45 Hours
Dates
Oct 02 - Oct 20, 2023
Fee for single course
€1500
Fee for degree students
€750
How to secure your spot
Complete the form below to kickstart your application
Schedule your Harbour.Space interview
If successful, get ready to join us on campus
FAQ
Will I receive a certificate after completion?
Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.
Do I need a visa?
This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.
Can I get a discount?
Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.