Building the Frontend of Python Web Applications with Streamlit Course Syllabus

Full curriculum breakdown — modules, lessons, estimated time, and outcomes.

Overview: This course provides a hands-on introduction to building interactive, data-driven web applications using Streamlit, a powerful Python library for frontend development. Over approximately 8 days of project-based learning, you'll progress from setting up your environment to deploying scalable apps. Each module combines concise theory with live coding exercises, emphasizing real-world use cases in data visualization, user input handling, and state management. By the end, you’ll deploy a production-ready app using Docker and Streamlit Community Cloud, gaining practical skills ideal for data scientists, analysts, and Python developers.

Module 1: Introduction to Streamlit & Setup

Estimated time: 3 hours

  • Installing Streamlit and setting up the development environment
  • Understanding Streamlit app structure and execution model
  • Running and debugging the first Streamlit application
  • Creating a 'Hello, Streamlit!' app with basic output

Module 2: Widgets & User Input

Estimated time: 3 hours

  • Using input widgets: text inputs, sliders, checkboxes, and select boxes
  • Handling user input dynamically in real time
  • Grouping inputs with forms and disabling submission states
  • Building a BMI calculator with interactive inputs and feedback

Module 3: Data Display & Visualization

Estimated time: 3 hours

  • Displaying Pandas DataFrames with dynamic filtering
  • Integrating Matplotlib and Altair for interactive charts
  • Plotting geospatial data using Streamlit map components
  • Creating a time-series dashboard for COVID-19 data

Module 4: Layouts, Themes & Styling

Estimated time: 3 hours

  • Organizing content with columns, containers, and expanders
  • Using tabs for multi-section layouts
  • Customizing themes and toggling dark/light modes
  • Injecting custom CSS for branding and layout control

Module 5: Media, Markdown & Interactivity

Estimated time: 3 hours

  • Displaying images, audio, and video files
  • Formatting text with Markdown for rich content
  • Implementing callbacks and event-driven updates
  • Building an interactive image gallery with caption filters

Module 6: State Management & Caching

Estimated time: 3 hours

  • Managing session state to preserve user inputs
  • Caching functions and data loading for performance
  • Handling user-triggered callbacks efficiently
  • Optimizing app reruns and reducing latency

Module 7: Integrations & Authentication

Estimated time: 3 hours

  • Consuming REST APIs within Streamlit apps
  • Implementing basic authentication with OAuth
  • Embedding third-party content securely
  • Building a login-protected news reader using a public API

Module 8: Deployment & Scaling

Estimated time: 4 hours

  • Containerizing Streamlit apps with Docker
  • Deploying to Streamlit Community Cloud
  • Setting up CI/CD pipelines for automated updates
  • Best practices for scaling and monitoring production apps

Prerequisites

  • Familiarity with Python programming (variables, functions, conditionals)
  • Basic knowledge of Pandas for data manipulation
  • Understanding of HTTP and REST APIs (helpful but not required)

What You'll Be Able to Do After

  • Build interactive, data-driven web applications using only Python
  • Design responsive layouts with widgets, charts, and media
  • Manage application state and optimize performance with caching
  • Integrate external data sources and secure user access
  • Deploy production-ready Streamlit apps using Docker and CI/CD
View Full Course Review

Course AI Assistant Beta

Hi! I can help you find the perfect online course. Ask me something like “best Python course for beginners” or “compare data science courses”.