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.
- 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.
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: Variables002: String manipulation003: Input and print functions004: Variable naming rules005: Mathematical operations006: Data types007: Converting types008: Conditionals (IF/ELIF/ELSE)009: Logical operators010: Randomisation011: Error handling012: Functions013: For lopps014: Code blocks and indentation015: While loops016: Flowchart programming017: Positional and keyword arguments018: Python dictionaries and lists019: Nested collections020: Returning functions021: Return vs print022: Doc strings vs comments023: Scope and local/global variables024: Debugging techniques
-
Intermediate:
025: Local developer environment setup026: PyCharm tips and tricks027: Python object oriented programming028: Creating classes in Python029: Using external Python modules/import030: Getting/setting attributes031: Python methods032: Class initialisers033: Module aliasing034: Optional, required and default parameters035: Event listeners036: Python instances and state037: Python turtle038: Game development with Python and OOP039: Python inheritance040: Python slice function041: File I/O reading and writing to local files042: File directories043: Reading and writing to CSV044: Introduction to the Pandas framework045: List comprehensions046: Dictionary comprehensions047: Packing and unpacking functions in Python048: Creating desktop GUI Apps with Tkinter049: Strongly dinamic typing050: Error handling and exceptions051: Try/except/raise052: Working with JSONs053: Local persistence054: Sending email with Python and SMTP055: Workig with date and time056: Hosting Python code online with PythonAnywhere057: APIs058: Making HTTP requests with the request module059: Sending parameters with the request060: APIs with authentication061: Sending SMS with Python062: Web scraping with beautiful soup063: Browser automation with selenium web driver064: Automating tinder065: Automating twitter066: Automating linkedin067: Automating instagram068: Web development with flask069: Command line070: Python decorators071: Templating with jinja 2072: WTForms
-
Advanced:
073: Build your own REST API with Python074: Build your own blog075: Databases with SQLite076: Dataframe inspection077: Data cleaning078: Sorting values in dataframes079: Arithmatic operations with Pandas080: Creating pivot tables081: Chaining functions082: Smoothing time series data083: Creating line charts with Matplotlib084: Using Jupyter notebook085: HTML Markdown086: Creating scatterplots wit Matplotlib087: Relational database schemas088: Descriptive statistics089: Creating bar charts, pie charts, donut charts, box plots with Ploty090: Creating NumPy NDArrays091: Array slicing and subsetting092: Matrix multiplication093: Bitwise and operators in Pandas094: Creating bubble charts with Seaborn095: Running regressions with Scikit-Learn096: Non-parametric regression097: Students T-Test and histograms with Scikit-Learn098: Multi-variable regression099: Log transformations100: 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
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).
Gabs2000