Summer Enrollment Now Open for Classes & Camps! View Now
Student Login Parent Login
High School Coding Program, Guy with Laptop

Course Description

In Professional Web App Development, the second course in Wizard Level 2 of our high school curriculum, students learn how to use the Flask web development framework to build sophisticated web applications. Flask is a full-stack Python-based framework that allows students to follow industry best practices while building practical, fun applications. Most modern web applications are built with one or more frameworks as the foundation, so the skills students learn here will be valuable as they progress in their programming journey. After completing Professional Web App Development, students move on to the next course in our structured curriculum: Modern CSS Frameworks.

High School Coding Program, Girl With Backpack

Learning Objectives

When students complete Professional Web App Development, they will be able to:

  • Create full-stack web applications using the Flask web development framework and the Python programming language
  • Build more advanced user experiences that leverage multiple web pages and role-based authentication
  • Use the power of Jinja2 templating to assist in authoring repetitive HTML components 
Level II


These courses must be completed before Professional Web App Development:

Professional Web App Development Class LessonsExpand All Lessons
  • Professional Web App, Python Lesson 1
    1. Exploring the world of frameworks

    In the first lesson of this course, students are introduced to a full-stack web framework, Flask. They explore the various aspects of the framework, like routing and using templates. In addition, they get familiarized with Python concepts like the difference between positional arguments and keyword arguments.

  • Professional Web App, Python Lesson 2
    2. Diving deeper into HTML templates

    In this lesson, students learn to use HTML templates more efficiently. They are introduced to control statements like if-else and for loop inside the template. They create a list of Python dictionaries to create a playlist page without repeating the HTML code. Also, they learn to show images from the static folder.

  • Professional Web App, Python Lesson 3
    3. It’s time to authenticate

    In this lesson, students work on a Meme Generator project from their previous course. Now that they know frameworks, they can use the Flask framework for advanced features like login/logout functionality. Students learn about adding routes that accept both Get & Post requests. They send data from an HTML form to Python code and set up the browser session, so that they don’t have to login every time the page is refreshed. 

  • Professional Web App, Python Lesson 4
    4. Let’s reuse some code by template inheritance

    In this lesson, students look back at the code they wrote and work on optimizing it. They revisit the DRY principle and find the repeating code in their template files. To get rid of that repetition and improve their code structure, students learn about a new concept called Template Inheritance. With this, they can keep the common HTML code of all templates in one file and import it where needed.

  • Professional Web App, Python Lesson 5
    5. Setting up a database

    In this lesson, students create new accounts by using an SQLite database. In this process, they learn about the flask app context and the g object. By the end of this class, they create a signup form and link with the database to create new accounts.

  • Professional Web App, Python Lesson 6
    6. Finishing the login with hashing

    In this lesson, students secure their login functionality by using industry-standard hashing algorithms. They use the passlib python module to implement hashing into their app to securely save passwords in the database. Students also use a flask error handler to show the custom page for the 404 error. As a bonus, they customize the 404 error page to display the error name and description.

  • Professional Web App, Python Lesson 7
    7. It’s time for code refactor

    In this lesson, students learn about code refactoring. They are introduced to a new Flask feature: blueprints. A flask blueprint allows them to extend the app. With this, they can separate certain routes and methods in a blueprint and later link by registering that blueprint. By the end of this class, students will be able to separate all the routes related to logging-in in a blueprint. As a bonus, they learned how to add a URL prefix for blueprint routes.

  • Professional Web App, Python Lesson 8
    8. Setting up a user profile

    In this lesson, students add a user profile to their meme generator accounts. They learn how to implement foreign keys to link two tables. They link the users table with a new profiles table in such a way that there has to be a user in the users table for each profile created. As a bonus, they add a navigation ink to the profile page.

  • Professional Web App, Python Lesson 9
    9. It’s time to upload files.

    In this lesson, students implement uploading files to the server. They continue working on their meme generator project and add functionality to upload a profile photo. After uploading the image, they can check that file in their project folder as well. While doing so, they learn about input type file, encoding types of form, and use timestamps to make sure each uploaded file has a unique filename.

  • Professional Web App, Python Lesson 10
    10. It’s time to create a meme feed

    In this lesson, students combine user accounts, profiles, and the meme generator to set up a meme feed. They use a memes table to save the generated memes in a database and create a feed filled with the memes. They’ll code an Instagram-like scrollable feed, but it will only contain the memes generated using their project.

  • Professional Web App, Python Lesson 11
    11. It’s time to upload memes

    In this lesson, students take the level of memes up by one level by adding the functionality of uploading custom memes to their project. While doing that, they reuse the existing code of uploading a profile picture. Apart from that, they learn how to get the HTTP URL of their app. As a bonus, they add the copy link to the clipboard functionality in the feed.

  • Professional Web App, Python Lesson 12
    12. It’s time to level up with Gif memes

    In this lesson, students wrap up their Meme Generator project. For a perfect ending, they explore the possibility of saving animated memes. They are introduced to Giphy API to get animated memes. All industry giants like Facebook, Slack, and Instagram use Giphy for gifs. By the end of this class, students will be able to save animated memes from into their meme feed.

Class Schedule

All students start in Intro to Python at Wizard Level I. If you have previous coding experience, take the Advanced Placement test. Returning students can continue with the class where they left off.

  • loading icon

#1 Most Comprehensive Program for Your Student’s Success!

The CodeWizardsHQ program comes with everything your child needs to be successful in learning to code.

All of the below are included at no extra cost.

Interactive Live Classes
Structured and Comprehensive Curriculum
Video Recordings of Every Class
Downloadable Slides for Every Class
1×1 Office Hours (Advanced Courses)
Weekly Progress Report & Alerts
Daily Homework Help
Individual Course Certification
Highly Qualified and Experienced Teachers
24/7 Access to Proprietary Coding Platform
Supportive Online Student Community
Path to Real-World Internship
Hands-on, Project Based Learning

Course Duration & Time Commitment
All courses are 12 weeks long. A Wizard will receive a certification for their achievement at the end of the course.

Expect a weekly time commitment of 2-3 hours. 55 minutes of class time, plus 1-2 hours of practice time, with instructor support throughout, including weekends.

100% Guarantee

Our goal is to make all our students successful. If your child is not happy with our program, please notify us within the first four class sessions and you will receive a full refund. See refund details.

Get Your Wizard Started

Start coding with our experienced teachers today.
Enroll risk-free with our 4 session money-back guarantee. Full guarantee details.