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.
Modeled after an academic structure this intensely focused area of study is broken down into the following curriculum.
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 - Mar 22 | 24 days |
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 | Mar 23 - TBA | TBA |
14. | Data Science Track | 16 | Mar 31 - TBA | TBA |
15. | DL, ML, & AI Nanodegree | 4 |
The Bachelors Treehouse Techdegree has the first Twenty-Four Courses across the first Twelve Units.
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 |
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 |
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 |
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 | |
W3. | CSV & JSON | |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 | Status |
---|---|---|
25. | Algorithms | |
26. | Data Structures | |
27. | Sorting & Searching | |
28. | Intro to Algorithms | |
29. | Data Structures & Algorithms in Python |
Second Year Master Level with sixteen 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.
This track includes the Beginning SQL track in order to get familiar with the basics of SQL which has Six SQL courses (31-35 + W8). SQL, or the Structured Query Language, is used to create, retrieve, update, and delete data from databases. Knowing SQL and its overarching concepts will be handy as you work with Python data libraries.
No. | Course | Status |
---|---|---|
30. | Data Analysis Basics | |
31. | SQL Basics | |
32. | Modifying Data with SQL | |
33. | Reporting with SQL | |
34. | Querying Relational Databases | |
W8. | Common Table Expressions 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 | |
44. | Intro to Statistics | |
45. | Linear Algebra | |
45+. | Data Science Basics |
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 |
---|---|
46. | Practical Deep Learning For Coders, Part 1 |
47. | Cutting Edge Deep Learning For Coders, Part 2 |
48. | Introduction to Machine Learning for Coders |
49. | Nanodegree at the School of AI or Advanced Machine Learning Specialization |
50. | Doctoral Thesis: Participation in a Kaggle Competition |
My Python Master Degree projects are licensed under the MIT License.
Visit ddApps.co to see more.