# For Andrea and Claire: [Link to view (unformatted) slides](https://slides.com/sonylnagale/python-18?token=-q1aCuiT)


<!---
This lesson was developed by Kevin Coyle for the Python 5-day course.

Questions? Comments?
1. Log an issue to this repo to alert me of a problem.
2. Suggest an edit yourself by forking this repo, making edits, and submitting a pull request with your changes back to our master branch.
3. Hit me up on Slack at @kevin.coyle.
--->


# ![](https://ga-dash.s3.amazonaws.com/production/assets/logo-9f88ae6c9c3871690e33280fcf557f33.png) Lesson Plan: Next Steps in Web Development

## Overview
This lesson goes over some next steps to take on the path of web development in Python, especially as it relates to Flask. It gives an overview of next steps for front- and back-end development, and a few frameworks and libraries to explore. There are knowledge checks sprinkled throughout to encourage discussion.


## Learning Objectives

In this lesson, students will:
1. Identify common web concepts to dive into next.
2. Identify common Python libraries used for front-end web development.
3. Identify common Python-based tech stacks for back-end web development.


## Duration
45 minutes

---

## Suggested Agenda
<!--- Provide a breakdown of what will happen in this lesson. --->

| Time | Activity | Purpose |
| --- | --- | --- |
| 0:00 - 0:05 | [Welcome](#activity-welcome-5-min) | Introduce the lesson’s objectives and agenda.|
| 0:05 - 0:15 | [Front and Back End Web Dev](#activity-front-and-back-end-web-dev-10-min) | Give solid advice about pursuing either front- or back-end web development. |
| 0:15 - 0:30 | [Extending Flask](#activity-extending-flask-15-min) | Give a deeper look into related libraries and modules that can be used with Flask. |
| 0:30 - 0:42 | [Other Python Web Frameworks](#activity-other-python-web-frameworks-12-min) | Explore Django and Pelican. |
| 0:42 - 0:45 | [Summary](#activity-summary-3-min) | Wrap up the learning and share next steps.|
---

## Materials and Preparation
- Read through the slides and see if you can come up with more examples or ideas — make sure that the frameworks recommended are popular in your market (e.g., take off the references to jQuery if it's not popular where you are).
- Mock up a demo of as many of these as possible that you can show (e.g., a blog for Pelican or a beautiful website with Bootstrap).

---

## Differentiation and Extensions
- Come up with more ideas! There's always room for more guidance.
- Incorporate any of your own experience.

---
---

## Lesson Procedure


---

### Activity: Welcome (5 min)
> Introduce the lesson’s objectives and agenda.

---

### Activity: Front and Back End Web Dev (10 min)
> Give solid advice about pursuing either front- or back-end web development.

> **Teaching Tips:**
>  - Use this opportunity to recap the difference between front-end and back-end, and what the jobs actually involve. It might be easy to understand what something means, but more difficult to really understand what the day to day would be like.
> - Try to give solid next steps — they have a small project coming up, so perhaps some of these are things they can look into for that.
> - Students might have questions about other languages at this stage, but those are beyond the scope of this lesson.

---

### Activity: Extending Flask (15 min)
> Give a deeper look at libraries and modules related that can be used with Flask.

> **Talking Points:**
> - The onus of creativity is on the designer.
> - However, many ideas of extensions of Flask have already been built!
> - Check documentation to make sure you aren't recoding the wheel.

> **Teaching Tips:**
> - As you go through the libraries and modules, stress the purposes of them and whether they'd be front-end, back-end, or both.
> - If possible, demo an incorporated library, but don't walk through setting it all up. They can refer to these slides later.


---

### Activity: Other Python Web Frameworks (12 min)
> Explore Django and Pelican.

> **Teaching Tips:**
> - Many students who are a bit familiar with Python might have heard of Django.
> - Encourage them to get a solid understanding of Flask before moving to Django.
> - Be clear about the differences between these!

---

### Activity: Summary (3 min)
> Wrap up the learning and share next steps.

> **Teaching Tips:**
> - Basic HTML is a great first place to go, regardless of scripting language.
