Training five or more people?
Setup a business plan, save up to 50%, and get visibility into your team.

#100DaysOfWeb in Python

This course is carbon neutral.

Course Summary

#100DaysOfWeb in Python is a course that will ensure your success with the 100 days of code challenge, all while teaching you Python web development. With every 4 days dedicated to a different concept, you’ll be amazed at how many Python Web technologies and libraries you’ll learn on this journey. Join the course and start your 100 day challenge now.

What students are saying

Just wanted to publicly thank Michael Kennedy, Bob Belderbos, and Julian Sequeira for creating this course. It's improved my day to day work life several times and expect it to keep paying dividends into the future. It's really an incredible piece of work I can't recommend highly enough.
-- Chris Patti

Source code and course GitHub repository

github.com/talkpython/100daysofweb-with-python-course

What's this course about and how is it different?

100 days of code isn’t just about the time commitment. The true power is in utilising that time effectively with a tailored set of projects. That’s why we have 24 practical projects, each paired with 20-60 minute video lessons at the beginning of the project.

Just a small sampling of the projects you’ll work on include:

  • Create your very own Static Site
  • Use API Star and pytest to make and test an API
  • An introduction to the Flask framework
  • Learn Javascript by making a calculator and calorie counter
  • SQLAlchemy Database creation
  • Use Docker to containerize your applications
  • Build a Bill Tracking web tool with Pyramid
  • Use React to build Javascript user interfaces
  • Selenium testing of numerous web functions
  • Django app creation with registration and login functionality
  • Web Scraping with BeautifulSoup4 and newspaper3k
  • And 17 more projects!

View the full course outline.

Who is this course for?

This course is for anyone who knows the basics of Python and wants to push themselves into the world of Python Web Development for 100 days with hands-on projects.

We don’t start from absolute zero in terms of programming but if you are new to Python we have a language appendix and we start somewhat slow. By the end of the course, we get into intermediate-level Python projects.

Course flow and the 28 projects

This course is 2-part video lessons and 2-parts hands-on exercises.

Course flow

We have broken the 100 days worth of coding into 24 4-day segments. As you can see, the first day is largely learning the new topics (Flask, HTML, CSS, etc). The following two to three days have some guidance but are much more hands-on than the first day.

Hands-on exercises for almost every chapter

#100DaysOfCode is literally about doing some coding every day. That's why this course has practical hands-on exercises for every single one of the 100 days.

These exercises range in length from 10 minutes to about 1-hour a day. Here is the readme introducing a 4-day project for the Docker chapter.

Here is the 4-day project for the Docker chapter.

Hands on exercises

Concepts backed by concise visuals

While exploring a topic interactively with demos and live code is very engaging, it can lose the forest for the trees. That's why when we hit a new topic, we stop and discuss it with concise and clear visuals.

Here's an example of how we review the concept of creating database definitions with SQLAlchemy for the purposes of Flask-Login.

Example: Concepts backed by concise visuals

You might also like our other #100DaysOfCode course

If you'd rather start at the learning Python level rather than jumping straight into Python web development, check out our other course: #100DaysOfCode in Python.

#100DaysOfWeb in Python course

Follow along with subtitles and transcripts

Each course comes with subtitles and full transcripts. The transcripts are available as a separate searchable page for each lecture. They also are available in course-wide search results to help you find just the right lecture.

Each course has subtitles available in the video player.

Who we are and why should you take our course?

Meet Michael Kennedy:

Who is Michael Kennedy?

My name is Michael, nice to meet you. ;) There are a couple of reasons I'm especially qualified to teach you Python.

 1. I'm the host of the #1 podcast on Python called Talk Python To Me. Over there, I've interviewed many of the leaders and creators in the Python community. I bring that perspective to all the courses I create.

 2. I've been a professional software trainer for over 10 years. I have taught literally thousands of professional developers in hundreds of courses throughout the world.

 3. Students have loved my courses. Here are just a few quotes from past students of mine.

"Michael is super knowledgeable, loves his craft, and he conveys it all well. I would highly recommend his training class anytime." - Robert F.
"Michael is simply an outstanding instructor." - Kevin R.
"Michael was an encyclopedia for the deep inner workings of Python. Very impressive." - Neal L.

Meet Bob Belderbos:

Who is Bob Belderbos?

Hey there, my name is Bob Belderbos, a passionate Pythonista and software developer. Thanks for considering this course. It's aim is to make you a well rounded Python developer. For some it might even be a career changer.

I am excited to teach you this course for several reasons:

  1. During my 10+ years of programming I have come to know how immensely gratifying it is to build software to make somebody else's (or my own) life easier. I can only wish for you to experience the same once you gain the necessary skills.
  2. I have grown from a support engineer and self-taught website creator into a full-time software developer at Oracle, a career switch that makes me wake up every day energized and hungry to expand my knowledge and skills (sometimes challenging but surely exciting). Do you want to upgrade your job or even switch your career? This course will give you a solid foundation to draw from.
  3. Since co-founding PyBites end of 2016 I made great strides in my Python skills. We published many challenges and articles and built a Code Challenge platform from scratch. We have a growing community of passionate Pythonistas that are improving their Python skills with us. We love to share/teach our learning and mentor other developers.

I am both honored and stoked to teach you Python using this 100 Days format. We did it ourselves and we know it works. The hard work won't go away but we can definitely make it easier, more accessible and fun!

Meet Julian Sequeira:

Who is Julian Sequeira?

G'day! I'm Julian Sequeira, a self-taught Python fan(atic) and a #100daysofcode survivor.

It's safe to say that the 100 days of code challenge was instrumental in pushing my Python skills to the next level.

This is why I'm so excited to work with and guide you through the process!

The diversity in the code and concepts you'll be exposed to in this course is staggering. It may seem like a lot but it ensures you'll stay interested and motivated to get through to the highly coveted Day 100.

When I'm not working in my AWS Data Center keeping the Cloud up and running, you'll find me in two places:

  1. Writing articles on Python, contributing to and running PyBites with co-founder Bob. This site is a labour of love and the core motivator for me to keep learning more Python. It's my baby!
  2. Teaching on Udemy! My Python Flask introductory course has been incredibly well received by my students. If you didn't know, I have a not-so-secret love affair with Flask so this is just icing on the cake.

Cheers to your 100 Days of Code in Python journey!

Free office hours keep you from getting stuck

One of the challenges of self-paced online learning is getting stuck. It can be hard to get the help you need to get unstuck.

That's why at Talk Python Training, we offer live, online office hours. You drop in and join a group of fellow students to chat about your course progress and see solutions via screen sharing.

Just visit your account page to see the upcoming office hour schedule.

Is this course based on Python 3 or Python 2?

This course is based upon Python 3.7. Python 2 now unsupported in 2020, we believe that it would be ill-advised to teach or learn Python 2. Moreover, the latest async features are only available in Python 3.5 or above.

The time to act is now

The #100DaysOfCode challenge is an epic adventure. Don't got it alone. Take our course and we'll be your guide with both lessons and projects.

Course Outline: Chapters and Lectures

26:58
2:38
1:01
3:48
2:02
2:20
1:30
1:10
2:13
1:29
0:34
0:35
2:45
2:48
2:05
47:20
0:59
2:15
3:39
2:57
2:33
3:10
3:41
3:03
4:52
7:19
4:30
3:25
4:57
37:49
1:05
1:42
3:41
0:50
1:15
12:21
2:41
3:40
2:55
5:36
2:03
46:07
1:39
4:50
6:49
4:06
11:39
3:09
11:14
2:41
47:26
1:22
3:38
4:12
3:50
1:19
4:13
1:55
4:17
1:11
7:19
4:02
0:58
4:02
1:07
2:20
1:41
59:31
0:34
2:28
4:38
7:10
4:16
5:30
1:35
8:16
6:46
7:10
6:56
4:12
55:09
2:02
4:34
6:16
9:09
2:24
2:43
2:08
7:11
2:58
5:11
2:34
2:09
4:08
1:42
1:14:31
0:48
2:51
3:16
4:23
5:27
4:50
5:54
9:18
3:53
3:10
8:03
8:58
2:54
3:30
3:08
4:08
45:19
0:36
2:00
4:52
1:45
4:45
6:48
3:48
5:11
4:30
2:22
3:48
1:35
3:19
1:01:01
4:07
1:46
1:35
2:10
1:12
3:38
5:41
3:33
3:58
3:28
2:36
4:24
6:01
4:38
2:04
6:32
0:22
3:16
1:08:50
1:34
1:57
2:28
2:57
0:24
2:16
6:31
2:45
4:31
4:28
4:35
4:04
6:52
1:42
3:00
6:07
5:49
2:51
3:14
0:45
1:25:30
2:10
7:38
4:20
6:49
2:43
5:46
8:06
4:40
4:40
0:59
7:00
2:52
5:18
3:15
6:06
2:32
8:05
2:31
1:26:48
0:30
1:28
3:42
1:54
3:00
4:10
5:17
4:21
6:27
1:19
6:16
1:58
2:48
4:54
6:40
3:59
6:44
2:57
4:06
9:38
3:10
1:30
43:49
1:17
6:00
6:58
8:07
6:19
9:45
4:16
1:07
28:58
0:49
2:10
0:48
1:07
1:44
1:46
2:25
1:35
2:51
3:03
4:11
4:28
2:01
15:39
0:54
1:49
2:59
1:07
4:40
2:13
1:57
58:11
0:42
2:06
1:00
0:54
2:42
2:09
2:28
2:06
4:20
2:08
4:44
2:32
3:26
2:53
4:52
6:55
1:32
3:04
2:48
1:55
2:55
48:54
1:14
5:16
4:56
2:58
4:38
1:20
7:21
5:00
3:29
6:30
4:48
1:24
1:04:10
0:32
3:24
3:15
3:01
6:21
5:35
2:45
0:53
3:16
5:01
5:46
1:15
2:40
8:33
3:40
3:43
4:30
25:45
2:28
2:32
3:45
1:47
2:03
5:09
1:44
3:01
3:16
43:30
0:59
1:33
2:38
4:37
7:39
3:53
2:45
6:25
3:45
6:23
2:53
42:39
2:00
5:02
7:54
8:06
3:40
7:42
5:16
2:59
42:27
0:45
3:56
2:27
8:32
7:31
3:31
8:07
7:38
57:33
1:20
1:21
3:43
3:59
4:14
3:47
6:35
7:08
5:47
1:37
1:40
3:13
5:13
3:13
3:22
1:21
58:04
1:28
2:34
1:47
1:50
5:25
2:43
3:19
1:56
5:43
3:41
5:25
1:18
4:13
1:50
1:44
5:18
1:41
2:56
3:13
52:31
2:29
2:20
4:35
9:17
4:39
5:04
4:07
11:38
5:36
2:46
44:58
1:20
2:58
1:37
2:18
3:00
1:48
5:21
5:20
5:49
4:14
1:47
2:57
1:36
1:01
1:01
2:51
1:00:48
1:56
2:20
3:19
4:27
2:23
2:20
1:03
1:55
3:02
1:32
1:04
3:18
1:34
3:06
2:58
1:14
2:05
2:04
5:22
1:06
3:09
2:12
2:28
2:32
0:54
1:25
1:26:26
1:34
3:09
3:29
2:26
4:02
2:27
1:55
3:17
1:00
6:13
3:52
5:47
3:58
2:34
10:56
3:40
2:15
3:15
2:08
3:48
2:37
2:20
8:27
1:17
5:50
0:31
1:21
0:29
1:08
1:10
1:11
46:01
1:15
0:51
1:47
1:24
1:31
1:41
0:59
1:33
1:20
1:59
1:54
2:26
3:53
2:53
1:43
1:44
2:01
1:44
1:30
0:53
2:30
2:38
2:09
2:57
0:46
Bundle and save 72% Team Gift

Questions? Send us an email: contact@talkpython.fm