Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Python100DaysOfCode

This repository documents my journey through the Python 100 Days of Code Course on Udemy Bootcamp, led by Dr. Angela Yu (Developer and Lead Instructor).

Master Python by building 100 projects in 100 days. Learn data science, automation, build websites, games and apps! Link to Course

This repository documents my progress through a 100 days of code challenge focused on masterig the Python programming language.

About the Course

  • Goal: To consistently improve my Python skills through daily coding practice and learning.
  • Approach:
    • Learn automation, game, app and web development, data science and machine learning all using Python.
    • Program in Python professionally.
    • Learn Selenium, Beautiful Soup, Request, Flask, Pandas, NumPy, Scikit Learn, Plotly, and Matplotlib.
    • Create a portfolio of 100 Python projects to apply for developer jobs.
    • Build websites and web apps with Python.
    • Use Python for data science and machine learning.
    • Build games like Blackjack, Pong and Snake using Python.
    • Build GUIs and Desktop applications with Python.
  • This Course Includes:
    • 52 Hours of On-Demand video.
    • 23 Code Exercises.
    • Comprehensive Tasks.
    • 255 Informative Articles.
    • 150 Downloadable Sources.
    • Certificate of Completion.

Structure

This repository is organized into folders (Beginner, Intermediate, Advanced, and Professional Portfolio). Each folder contains daily subfolders (D1-D100) with corresponding task files (T1.py, T2.py, etc.).

  • Beginner:

    • 001: Variables
    • 002: String manipulation
    • 003: Input and print functions
    • 004: Variable naming rules
    • 005: Mathematical operations
    • 006: Data types
    • 007: Converting types
    • 008: Conditionals (IF/ELIF/ELSE)
    • 009: Logical operators
    • 010: Randomisation
    • 011: Error handling
    • 012: Functions
    • 013: For lopps
    • 014: Code blocks and indentation
    • 015: While loops
    • 016: Flowchart programming
    • 017: Positional and keyword arguments
    • 018: Python dictionaries and lists
    • 019: Nested collections
    • 020: Returning functions
    • 021: Return vs print
    • 022: Doc strings vs comments
    • 023: Scope and local/global variables
    • 024: Debugging techniques
  • Intermediate:

    • 025: Local developer environment setup
    • 026: PyCharm tips and tricks
    • 027: Python object oriented programming
    • 028: Creating classes in Python
    • 029: Using external Python modules/import
    • 030: Getting/setting attributes
    • 031: Python methods
    • 032: Class initialisers
    • 033: Module aliasing
    • 034: Optional, required and default parameters
    • 035: Event listeners
    • 036: Python instances and state
    • 037: Python turtle
    • 038: Game development with Python and OOP
    • 039: Python inheritance
    • 040: Python slice function
    • 041: File I/O reading and writing to local files
    • 042: File directories
    • 043: Reading and writing to CSV
    • 044: Introduction to the Pandas framework
    • 045: List comprehensions
    • 046: Dictionary comprehensions
    • 047: Packing and unpacking functions in Python
    • 048: Creating desktop GUI Apps with Tkinter
    • 049: Strongly dinamic typing
    • 050: Error handling and exceptions
    • 051: Try/except/raise
    • 052: Working with JSONs
    • 053: Local persistence
    • 054: Sending email with Python and SMTP
    • 055: Workig with date and time
    • 056: Hosting Python code online with PythonAnywhere
    • 057: APIs
    • 058: Making HTTP requests with the request module
    • 059: Sending parameters with the request
    • 060: APIs with authentication
    • 061: Sending SMS with Python
    • 062: Web scraping with beautiful soup
    • 063: Browser automation with selenium web driver
    • 064: Automating tinder
    • 065: Automating twitter
    • 066: Automating linkedin
    • 067: Automating instagram
    • 068: Web development with flask
    • 069: Command line
    • 070: Python decorators
    • 071: Templating with jinja 2
    • 072: WTForms
  • Advanced:

    • 073: Build your own REST API with Python
    • 074: Build your own blog
    • 075: Databases with SQLite
    • 076: Dataframe inspection
    • 077: Data cleaning
    • 078: Sorting values in dataframes
    • 079: Arithmatic operations with Pandas
    • 080: Creating pivot tables
    • 081: Chaining functions
    • 082: Smoothing time series data
    • 083: Creating line charts with Matplotlib
    • 084: Using Jupyter notebook
    • 085: HTML Markdown
    • 086: Creating scatterplots wit Matplotlib
    • 087: Relational database schemas
    • 088: Descriptive statistics
    • 089: Creating bar charts, pie charts, donut charts, box plots with Ploty
    • 090: Creating NumPy NDArrays
    • 091: Array slicing and subsetting
    • 092: Matrix multiplication
    • 093: Bitwise and operators in Pandas
    • 094: Creating bubble charts with Seaborn
    • 095: Running regressions with Scikit-Learn
    • 096: Non-parametric regression
    • 097: Students T-Test and histograms with Scikit-Learn
    • 098: Multi-variable regression
    • 099: Log transformations
    • 100: Residuals analysis
  • Professional Portfolio:

    • Text to morse code converter
    • Portfolio website
    • Tic Tac Toe game
    • Image watermarking app
    • Typing speed test
    • Breakout game
    • Cafe and wifi website
    • Todo list website
    • Disappearing text writing app
    • Image color palette generator
    • Custom web scraper
    • Automating the Google dinosaur game
    • Space invaders game
    • Custom API driven website
    • An online shop
    • Custom browser automation
    • Analyse and visualise the space race
    • Analyse deaths involving the police in the US
    • Predict earnings using multivariable regression

Community

I welcome feedback and contributions from the community. Feel free to:

  • Fork this repository: Start your own 100 Days of Code journey.
  • Submit issues: Report any bugs or suggest improvements.
  • Create pull requests: Contribute your own solutions or enhancements (GitHub Discussions & Discord Server).

Let's learn and grow together!

Python Official Documentation

Gabs2000