Web Programming with Python, Flask and HPC-enabled ML
This intensive short course introduces participants to web programming using Python and Flask, with a focus on integrating machine learning (ML) models and leveraging high-performance computing (HPC) for scalable deployment. Participants will learn to build interactive web applications, incorporate ML inference capabilities, and connect to HPC backends for enhanced performance. Designed for students, researchers, and professionals with basic Python knowledge, the course offers practical, hands-on sessions combining web development, ML integration, and deployment strategies suitable for research and real-world applications.

Course Content Overview
Day 1 (Fundamentals):
- Session 1 – Flask Basics and Web Architecture
- Learn the structure of web applications and how to build basic pages using Flask.
- Session 2 – Forms, Input Handling, and Templating
- Develop interactive components, validate inputs, and dynamically render content.
- Session 3 – Using ML Models in Web Apps
- Integrate trained models into a Flask app to provide ML-based outputs.
- Session 4 – End-to-End ML Web App Demo
- Build and test a complete app using a pre-trained ML model.
Day 2 (Advanced Use and Deployment):
- Session 5 – HPC for ML: Overview and Tools
- Introduction to using HPC for ML training and inference, with demo scripts.
- Session 6 – Flask-HPC Communication
- Techniques to send data from a web app to HPC resources and retrieve results.
- Session 7 – Deployment: Local, Cloud, and HPC
- Deploy your app using Docker, Gunicorn/Nginx, and basic HPC job schedulers.
- Session 8 – Mini Project: Your App in Action
- Participants create and deploy their own ML-powered web app.
Learning Outcomes
By completing this course, participants will be able to:
- Design and implement web apps using Python and Flask.
- Embed ML models into interactive applications.
- Understand key deployment strategies for scalable apps.
- Use HPC resources to support ML computation.
- Develop web-based interfaces for research and educational tools.