Back to Catalog

AI Applications with Python and Flask

Premium
Beginnercourse

This mini-course introduces you to the process for unit testing Python code, including building and running unit tests and packaging the Python application for distribution.

Language

  • English

Topic

  • Python

Industries

  • Information Technology

Skills You Will Learn

  • Artificial Intelligence, Flask, Web Development, Application Development, Python

Offered By

  • IBMSkillsNetwork

Estimated Effort

  • 3 weeks

Platform

  • SkillsNetwork

Last Update

  • September 11, 2024
About This course

General Information

In this mini-course, you will apply basic Python skills using the Flask framework for developing Artificial Intelligence (AI) enabled applications. In this hands-on project you will assume the role of a developer and perform tasks including:   
- Developing functions and application logic  
- Exchanging data using Watson AI libraries 
- Writing unit tests, and  
- Packaging the application for distribution 
 
You will demonstrate your foundational Python skills by employing different techniques to develop web applications and AI-powered solutions. After completing this course, you will have another project for your portfolio and gain the confidence to begin developing AI-enabled applications using Python and Flask with Watson AI libraries. You experience building and running unit tests and then package the application for its distribution. 

Learning Objectives:

  • Develop an AI-powered application using basic Python skills 
  • Describe the purpose of unit testing and packaging 
  • Test your Python application 
  • Create a Python package 

Prerequisites:

Python Basics course from IBM is a pre-requisite for this project course. Please ensure before taking this course you have either completed the Python Basics course from IBM or have equivalent proficiency in working with Python and data. 
 
NOTE: This course is designed for the learner to apply prior Python knowledge. It is not intended to teach you Python and includes minimal instructional content. 

Course Syllabus

Module 1: Python Coding Practices and Packaging Concepts 
  • Application Development Lifecycle 
  • Introduction to Web Applications and APIs  
  • Demo: Working with an IDE  
  • Hands-on Lab: Getting Started with IDE  
  • Python Style Guide and Coding Practices   
  • Reading: Static Code Analysis Resources 
  • Hands-on Lab: Static Code Analysis 
  • Unit Testing   
  • Hands-on Lab: Practice Session and Assignment on Unit Testing 
  • Packaging  
  • Hands-on Lab: Practice Session and Assignment on Python Packaging 
Module 2: Web App Deployment using Flask 
  • Python Libraries and Frameworks for Application Development 
  • Introduction to Flask  
  • Flask - Basic Applications and Routes  
  • Hands-on Lab: Get Started with Flask Basics 
  • Request and Response Objects – Using GET and POST Modes  
  • Dynamic Routes  
  • Error Handling  
  • Hands-on Lab: Building a API with Flask: Route Creation, Error Handling and HTTP Requests 
  • Deploying Web Apps using Flask 
  • Reading: Decorators in Flask 
  • Hands-on Lab: Building and Deploying a Web App using Flask App 
  • Reading: Additional Features in Flask 
  • Hands-on Lab: Exploring Additional Features Flask 
Module 3: Creating AI Application and Deploy using Flask 
  • Practice Project: Sentiment Analysis 
  • Final Project: Emotion Detector

Instructors

Abhishek Gagneja

Freelance Subject Matter Expert

I am a lifelong learner with more than a decade of teaching experience at university level. I am an AI enthusiast and love learning new things.

Read more

Ramesh Sannareddy

Corporate IT Trainer

Ramesh Sannareddy holds a Bachelors Degree in Information Systems (Birla Institute of Technology, Pilani). He has two and a half decades of experience in Information Technology Infrastructure Management, Database Administration, Information Integration and Automation. He worked for companies like Intergraph, Genpact, HCL, and Microsoft. Currently, he is a freelancer and pursues his passion for teaching. He teaches Data Science, Machine Learning, Programming and Databases.

Read more