My self study of the Foundations of Python in order to build Mastery.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Python Master Degree

My self study of the Foundations of Python in order to build Mastery.

This curriculum is structured into a Bachelor, Master, and Doctoral level tiers. The Bachelor tier is the four stage Treehouse Python Techdegree (Beginner, Intermediate, Flask, and Django with both course work and project work).

Beyond the standard techdegree I've designed a two stage Master tier of data structures/algorithms and data science. Finally, the Doctoral tier is composed of Deep Learning, Machine Learning, AI and concluding with a thesis.

This repo contains twelve projects from the Python Techdegree program offered by Team Treehouse. The techdegree represents 350 hours of Python Mastery broken down into 24 courses taking 190 hours and 12 projects taking and additional 160 hours. With an additional 20 courses of Data Structures/Algorithms, Data Science, Deep Learning, Machine Learning, and culminating in the Udacity Artificial Intelligence Nanodegree to top off to over 40 courses and 8 Workshops - a Doctoral Degree worth of Full Stack Python and AI culminating in participation in a Kaggle Competition.

The Bachelor, Master, & Doctoral Techdegree Program

Modeled after an academic structure this intensely focused area of study is broken down into the following curriculum.

No. Degree Year Name Status
1. Bachelor Freshman Beginning Python
2. Bachelor Sophomore Intermediate Python
3. Bachelor Junior Flask Framework
4. Bachelor Senior Django Framework
5. Master Year 1 Algorithms & Data Structures
6. Master Year 2 Data Science
7. Doctoral Year 1 Deep Learning
8. Doctoral Year 2 Machine Learning
9. Doctoral Year 3 Artificial Intelligence
10. Doctoral Thesis Kraggle Competition

Bachelor with Twelve Full Stack Python Portfolio Projects

Develop the skills professional developers use every day and complete 12 challenging projects so you can demonstrate in-demand skills. In the process of creating these projects, you’ll build a portfolio of examples to showcase your talent to potential employers.

No. Project Hours Status
1. Number Guessing Game 2 hours
2. Build a Soccer League 6 hours
3. Work Log 10 hours
4. Work Log (with DB) 5 hours
5. Personal Learning Journal (Flask) 11 hours
6. Mineral Catalog (Django) 14 hours
7. User Profile (Django) 9 hours
8. Mineral Catalog (Filtering/Searching) 12 hours
9. Improve Django Project 10 hours
10. Todo API (Flask) 24 hours
11. Pugh or Ugh API 16 hours
12. The Capstone: Social Team Builder 40 hours
Total Project Time 159 hours


The Bachelor's Fullstack Python Treehouse Techdegree is composed of the following twelve units. The Masters and Doctoral Extensions contribute three additional units bringing the overall course work to 50 courses. Below is my status and how long it took me to complete. Specific daily updates can be seen in my developer diary.

Unit Name Courses Dates Days
1. Beginning Track: Python Basics 2 Dec 1 - 3 3 days
2. Collections & OO 2 Dec 4 - 22 18 days
3. Date & Time, Better Python, Regular Expressions 3 Dec 23 - 29 6 days
4. Intermediate Track : Databases, Testing, Functional 3 Dec 30 - TBA
5. Flask Track 4
6. Django Track: Basics 2
7. Django: Forms 1
8. Django: ORM 1
9. Django: Admin 1
10. Flask: REST APIs 2
11. Django: REST APIs 2
12. Django: Authentication 1
13. Algorithms & Data Structures Track 5
14. Data Science Track 14
15. DL, ML, & AI Nanodegree 4


The Bachelors Treehouse Techdegree has the first Twenty-Four Courses across the first Twelve Units.

Unit 1: Python Basics

Kicks off the Freshman Year with the Beginning Python track which is composed of the next three units.

In this Unit build a console number guessing game that prompts a player to choose a number between a specified range of numbers. After the user guesses the correct number, display the number of attempts it took them to guess correctly.

No. Course Status
1. Basics
2. Lists
W1. Dunder Main
P1. Project 1: Number Guessing Game

Unit 2: Collections

Build a tool to help a soccer coach divide 18 players into three well-balanced teams. You'll apply your knowledge of important Python data structures like lists and dictionaries to get it done.

No. Course Status
3. Collections
4. Object-Oriented
P2. Project 2: Build a Soccer League

Unit 3: Work Log

Concludes the Freshman Year of Beginning Python Track.

Program a terminal application to prepare better timesheets for a company. The program writes and reads work data such as time spent on task, task completion date, and other information in a CSV or JSON file.

No. Course Status
5. Write Better Python
6. Dates and Times
7. Regular Expressions
P3. Project 3: Work Log

Unit 4: Work Log with Database

The Sophomore Year consists of the Intermediate Python Track and focuses on local development and best practices.

Design and add a database to a Python program. Use an ORM to store and search data from a work log. Print detailed reports to the screen. You'll also add unit tests, a professional programming technique that helps ensure the quality of a program.

No. Course Status
W2. File I/O
8. Using Databases in Python
9. Python Testing
W4. Comprehensions
W5. Decorators
W6. Type Hinting
10. Functional Python
P4. Project 4: Work Log with a DB

Unit 5: Personal Learning Journal (Flask)

The Junior Year is composed of the Exploring Flask track that teaches how to turn Python programs into web sites and apps with the Flask framework.

Create a web application using HTML, CSS, and Flask, a popular framework for Python web development. The web application, a personal learning journal, lets a user add and edit journal entries and store the results in a database. The result is a useful, blog-like web application.

No. Course
11. Intro to HTML / CSS
12. HTTP Basics
13. Flask Basics
14. Build a Social Network with Flask
P5. Project 5: Build a Personal Journal with Flask

Unit 6: Mineral Catalog (Django)

The Senior Year concludes the Bachelor program with the Exploring Django track which teaches how to utilize the world-class Django framework to build web sites and apps using the Python language for the next six units (6 - 12).

Experience with many types of websites is key for the best learning and understanding of Python web development. In this project, you will build a site that displays information about various minerals (rocks) using the Django framework. The site will display a list of all of the minerals in a database, with additional details available by clicking on specific minerals. Building apps in two different web frameworks will teach you what is similar and different in each and equip you with the knowledge to know which tool to use for different types of projects.

No. Course
15. Django Basics
16. Customizing Django Templates
P6. Project 6: Mineral Catalog

Unit 7: User Profile (Django)

User registration systems are part of every major website, from Facebook, to Twitter, to Amazon. Build a user registration system using Django, one of the most popular tools for building Python-drive web applications.

No. Course
17. Django Forms
P7. Project 7: User Profile with Django

Unit 8: Mineral Catalog (Filtering and Searching)

Add features to a web application that catalogs minerals to build a fully-featured web site. Add the ability to search information and filter it to match user preferences.

No. Course
18. Django ORM
P8. Project 8: Filtering and Searching the Mineral Catalog

Unit 9: Improve a Django Project

Take a messy, buggy, badly tested Python code base and improve it. Start with a Django app and identify where it's broken and inefficient. Write and run tests, check for proper validation, analyze views and analyze database calls to improve the site.

No. Course
19. Customizing the Django Admin
P9. Project 9: Improve a Django Project

Unit 10: Todo API (Flask)

Build a complete Python API (application programming interface) for a to-do list. An API is a back-end client that runs on the server and supplies information and runs tasks for the visual, front-end of a web site. Use Flask to create a database and REST API.

No. Course
20. Introduction to REST APIs
21. Flask REST APIs
P10. Project 10: Todo API with Flask

Unit 11: Pug or Ugh API

Create a backend API for a fully coded front end web site. Build out the database and REST API backend using the Django REST Framework. You'll create database models, program routes, and use token-based authentication to control access to the API.

No. Course
22. Django Class based Views
23. Django REST Framework
P11. Project 11: Pug or Ugh API

Unit 12: Social Team Builder

This unit concludes the Treehouse Python Techdegree.

Build a full-blown Python web application in this Capstone project. The Django site lets users add projects, signup for team projects, and control who has access to which projects. Include a user registration system which lets users signup and login.

No. Course
24. Django Authentication
W7. Django Social Authentication
P12. Project 12: Social Team Builder

Unit 13: Algorithms & Data Structures

First Year Master Level.

In this track learn about two of the fundamental topics in computer science - algorithms and data structures.

With increasing frequency algorithms are starting to shape our lives in many ways - from the products recommended to us, the friends we interact with on social media and even in important social issues like policing, privacy and healthcare. By the end of this track you will understand what algorithms and data structures are, how they are measured and evaluated and how they are used to solve common, complex problems.

No. Course
25. Algorithms
26. Data Structures
27. Sorting & Searching
28. Intro to Algorithms
29. Data Structures & Algorithms in Python

Unit 14: Data Science

Second Year Master Level with fourteen courses.

Data science unifies statistics, data analysis, machine learning and their related methods in order to understand and analyze actual phenomena with data. It employs techniques and theories drawn from many fields within the context of mathematics, statistics, information science, and computer science. In this track, we'll be exploring the tools and techniques to get you started on your journey. You'll pick up the basic building blocks of how to analyze and communicate data findings.

No. Course
30. Data Analysis Basics
31. SQL Basics
32. Modifying Data with SQL
33. Reporting with SQL
34. Querying Relational Databases
W8. Common Table Expressioons using WITH
35. SQL Reporting by example
W9. Anaconda
W10. Jupyter Notebooks
36. Data Visualization with Matplotlib
37. Numpy
38. Pandas
39. Cleaning & Preparing Data
40. Data Visualization with Bokeh
41. Scraping Data from the Web
42. Intro to Big Data
43. Machine Learning Basics

Unit 15: Deep Learning, Machine Learning, & AI

Doctoral Level preparation for thesis work in a Kaggle Competition.

Learn how to build state of the art models without needing graduate-level math—but also without dumbing anything down. Master Beam Search and Random Hill Climbing, Bayes Networks and Hidden Markov Models, and more.

No. Course
44. Practical Deep Learning For Coders, Part 1
45. Practical Deep Learning For Coders, Part 2
46. Introduction to Machine Learning for Coders
47. Artifical Intelligence Nanodegree
48. Doctoral Thesis: TBA


My Python Master Degree projects are licensed under the MIT License.

Support or Contact

Visit to see more.