Skip to content

Latest commit

 

History

History
303 lines (203 loc) · 19.2 KB

README.md

File metadata and controls

303 lines (203 loc) · 19.2 KB

100-Days-of-Coding-Challenge

Starting May

Day 001: Getting Started with Python: Basics and Syntax

  • Learn the fundamentals of Python programming language, including variables, data types, and basic syntax.

Day 002: Variables and Data Types in Python

  • Dive deeper into variables and different data types available in Python, such as integers, floats, strings, and booleans.

Day 003: Working with Strings in Python

  • Explore various string manipulation techniques in Python, including string concatenation, slicing, and formatting.

Day 004: Understanding Lists in Python

  • Learn about lists, a versatile data structure in Python, and understand how to perform operations like appending, removing, and accessing elements.

Day 005: Exploring Tuples and Sets in Python

  • Understand tuples and sets, two other important data structures in Python, and their unique properties and use cases.

Day 006: Introduction to Dictionaries in Python

  • Explore dictionaries, a key-value pair data structure, and learn how to manipulate and iterate over dictionary elements.

Day 007: Control Flow: Conditional Statements in Python

  • Learn about conditional statements like if, elif, and else in Python and how they control the flow of execution based on certain conditions.

Day 008: Looping in Python: for and while Loops

  • Understand how to use for and while loops to iterate over sequences and perform repetitive tasks in Python.

Day 009: Functions in Python: Defining and Calling

  • Dive into functions, a reusable block of code, and learn how to define and call functions with various parameters.

Day 010: Scope and Lifetime of Variables in Python

  • Explore variable scope and lifetime in Python, including global and local variables, and understand how they affect your code.

Day 011: Handling Errors and Exceptions in Python

  • Learn about error handling mechanisms in Python, including try, except, and finally blocks, to gracefully handle runtime errors.

Day 012: File Input and Output in Python

  • Understand how to work with files in Python, including reading from and writing to files, and different file modes.

Day 013: Introduction to Object-Oriented Programming (OOP) in Python

  • Get introduced to the principles of object-oriented programming (OOP) and understand its importance in Python development.

Day 014: Classes and Objects in Python

  • Learn how to define classes and create objects in Python, and understand the concepts of encapsulation and abstraction.

Day 015: Constructors and Destructors in Python

  • Explore constructors and destructors in Python classes and understand their role in initializing and cleaning up objects.

Day 016: Inheritance and Polymorphism in Python

  • Understand inheritance and polymorphism concepts in Python, allowing you to create hierarchies of classes and override methods.

Day 017: Encapsulation and Abstraction in Python

  • Learn about encapsulation and abstraction principles in Python OOP, which help in creating modular and maintainable code.

Day 018: Working with Modules and Packages in Python

  • Explore how to organize Python code into modules and packages for better code organization and reusability.

Day 019: Introduction to NumPy: Numerical Computing in Python

  • Learn about NumPy, a powerful library for numerical computing in Python, and its multidimensional array data structure.

Day 020: NumPy Arrays and Operations

  • Dive deeper into NumPy arrays and understand various array operations, such as indexing, slicing, and mathematical operations.

Day 021: Introduction to Pandas: Data Analysis in Python

  • Get introduced to Pandas, a library for data manipulation and analysis in Python, and its primary data structures, Series and DataFrame.

Day 022: Series and DataFrames in Pandas

  • Learn how to work with Series and DataFrames in Pandas, including data selection, manipulation, and aggregation.

Day 023: Data Manipulation with Pandas

  • Explore advanced data manipulation techniques with Pandas, including merging, joining, and grouping data.

Day 024: Data Cleaning and Preprocessing with Pandas

  • Understand how to clean and preprocess data using Pandas, including handling missing values, duplicates, and outliers.

Day 025: Introduction to Matplotlib: Data Visualization in Python

  • Get started with Matplotlib, a popular library for creating static, interactive, and publication-quality visualizations in Python.

Day 026: Basic Plotting with Matplotlib

  • Learn how to create basic plots such as line plots, scatter plots, and bar plots using Matplotlib.

Day 027: Customizing Plots with Matplotlib

  • Dive deeper into customizing plots with Matplotlib, including axis labels, titles, legends, and annotations.

Day 028: Introduction to Seaborn: Statistical Data Visualization in Python

  • Explore Seaborn, a high-level library for statistical data visualization in Python, and its capabilities for creating informative plots.

Day 029: Exploratory Data Analysis (EDA) with Seaborn

  • Learn how to perform exploratory data analysis (EDA) using Seaborn, including visualizing distributions, relationships, and correlations in data.

Day 030: Advanced Data Visualization Techniques with Seaborn

  • Dive deeper into advanced data visualization techniques with Seaborn, including categorical plots, multi-plot grids, and custom styling.

Day 031: Introduction to Scikit-learn: Machine Learning in Python

  • Get introduced to Scikit-learn, a comprehensive library for machine learning in Python, and its functionalities for supervised and unsupervised learning.

Day 032: Supervised Learning: Regression in Scikit-learn

  • Learn about regression algorithms in Scikit-learn, including linear regression, polynomial regression, and regularization techniques.

Day 033: Supervised Learning: Classification in Scikit-learn

  • Explore classification algorithms in Scikit-learn, including logistic regression, decision trees, support vector machines, and ensemble methods.

Day 034: Model Evaluation and Validation in Scikit-learn

  • Understand how to evaluate and validate machine learning models using techniques such as cross-validation, performance metrics, and hyperparameter tuning.

Day 035: Unsupervised Learning: Clustering in Scikit-learn

  • Learn about clustering algorithms in Scikit-learn, including K-means clustering, hierarchical clustering, and density-based clustering.

Day 036: Dimensionality Reduction with Scikit-learn

  • Explore dimensionality reduction techniques such as principal component analysis (PCA) and t-distributed stochastic neighbor embedding (t-SNE) in Scikit-learn.

Day 037: Introduction to TensorFlow: Deep Learning in Python

  • Get started with TensorFlow, an open-source deep learning framework, and understand its core concepts and functionalities.

Day 038: Building Neural Networks with TensorFlow

  • Learn how to build and train neural networks using TensorFlow, including sequential and functional API models.

Day 039: Training and Evaluating Neural Networks with TensorFlow

  • Dive deeper into training and evaluating neural networks with TensorFlow, including loss functions, optimizers, and metrics.

Day 040: Convolutional Neural Networks (CNNs) with TensorFlow

  • Explore convolutional neural networks (CNNs) in TensorFlow for image classification, object detection, and image generation tasks.

Day 041: Recurrent Neural Networks (RNNs) with TensorFlow

  • Learn about recurrent neural networks (RNNs) in TensorFlow for sequential data analysis, including text generation and time series prediction.

Day 042: Introduction to Natural Language Processing (NLP) with NLTK

  • Get introduced to natural language processing (NLP) with the Natural Language Toolkit (NLTK) in Python, and understand its capabilities for text analysis.

Day 043: Text Processing and Tokenization with NLTK

  • Explore text processing techniques such as tokenization, stemming, and lemmatization using NLTK for text preprocessing.

Day 044: Sentiment Analysis with NLTK

  • Learn how to perform sentiment analysis on textual data using NLTK, including sentiment lexicons, machine learning models, and deep learning approaches.

Day 045: Named Entity Recognition (NER) with NLTK

  • Understand how to perform named entity recognition (NER) using NLTK to identify and classify named entities such as persons, organizations, and locations in text.

Day 046: Introduction to Web Scraping with BeautifulSoup

  • Get started with web scraping using BeautifulSoup, a Python library for extracting data from HTML and XML documents.

Day 047: Scraping Data from Websites with BeautifulSoup

  • Learn how to scrape data from websites using BeautifulSoup by navigating HTML elements, finding specific tags, and extracting desired information.

Day 048: Handling Dynamic Web Pages with Selenium

  • Understand how to scrape data from dynamic web pages using Selenium, a Python library for web browser automation, and perform actions like clicking buttons and filling forms.

Day 049: Automating Tasks with Selenium

  • Dive deeper into automating web-related tasks using Selenium, including scheduling tasks, interacting with web elements, and handling alerts.

Day 050: Introduction to GUI Programming with Tkinter

  • Get started with Tkinter, the standard GUI toolkit for Python, and learn how to create graphical user interfaces (GUIs) for desktop applications.

Day 051: Creating Basic GUI Applications with Tkinter

  • Learn how to create basic GUI applications using Tkinter, including designing windows, adding widgets, and handling events.

Day 052: Adding Widgets and Layouts in Tkinter

  • Explore different types of widgets and layout management techniques in Tkinter for building more complex and responsive GUI applications.

Day 053: Handling Events and User Input in Tkinter

  • Understand how to handle user input and events in Tkinter GUI applications, including button clicks, mouse movements, and keyboard events.

Day 054: Introduction to Web Development with Flask

  • Get introduced to Flask, a lightweight web framework for Python, and understand its core concepts and functionalities.

Day 055: Creating a Basic Web Application with Flask

  • Learn how to create a basic web application using Flask, including defining routes, rendering templates, and handling requests.

Day 056: Routing and Templating in Flask

  • Dive deeper into routing and templating in Flask, including URL routing, template inheritance, and passing data to templates.

Day 057: Handling Forms and User Input in Flask

  • Explore how to handle forms and user input in Flask web applications, including form validation, CSRF protection, and file uploads.

Day 058: Introduction to Django: Web Development Framework in Python

  • Get started with Django, a high-level web development framework for Python, and understand its architecture and components.

Day 059: Building a Basic Django Application

  • Learn how to build a basic web application using Django, including defining models, creating views, and configuring URLs.

Day 060: Models, Views, and Templates in Django

  • Explore the MVC (Model-View-Controller) architecture in Django, including models for data representation, views for request handling, and templates for UI rendering.

Day 061: Handling User Authentication and Authorization in Django

  • Understand how to implement user authentication and authorization in Django web applications, including login, logout, and access control mechanisms.

Day 062: Introduction to Data Science with Python

  • Get introduced to data science with Python and understand its applications in various domains, including finance, healthcare, and marketing.

Day 063: Data Wrangling and Cleaning in Python

  • Learn how to wrangle and clean messy data using Python, including techniques for handling missing values, outliers, and inconsistent data.

Day 064: Exploratory Data Analysis (EDA) in Python

  • Dive into exploratory data analysis (EDA) using Python and understand how to visualize and summarize data to gain insights and make informed decisions.

Day 065: Feature Engineering and Selection in Python

  • Explore feature engineering techniques such as feature scaling, encoding, and transformation, and understand how to select relevant features for machine learning models.

Day 066: Introduction to Time Series Analysis in Python

  • Get introduced to time series analysis in Python and understand its applications in forecasting, anomaly detection, and trend analysis.

Day 067: Time Series Data Visualization and Exploration

  • Learn how to visualize and explore time series data using Python libraries such as Matplotlib and Pandas, including plotting time series, seasonality, and trends.

Day 068: Time Series Forecasting Techniques

  • Explore time series forecasting techniques such as moving averages, exponential smoothing, and ARIMA (AutoRegressive Integrated Moving Average) models in Python.

Day 069: Introduction to Reinforcement Learning in Python

  • Get started with reinforcement learning in Python and understand its applications in game playing, robotics, and finance.

Day 070: Markov Decision Processes (MDPs) in Reinforcement Learning

  • Understand Markov decision processes (MDPs) as a framework for modeling sequential decision-making problems in reinforcement learning.

Day 071: Q-Learning in Reinforcement Learning

  • Explore Q-learning, a model-free reinforcement learning algorithm, and understand how agents learn optimal policies through trial and error.

Day 072: Deep Q-Networks (DQNs) in Reinforcement Learning

  • Dive into deep Q-networks (DQNs) in reinforcement learning and understand how deep neural networks can approximate Q-values for complex environments.

Day 073: Introduction to Computer Vision with OpenCV

  • Get introduced to computer vision with OpenCV, a library for computer vision and image processing tasks in Python.

Day 074: Image Processing and Manipulation with OpenCV

  • Learn how to perform basic image processing and manipulation tasks such as resizing, cropping, and filtering using OpenCV.

Day 075: Object Detection and Tracking with OpenCV

  • Explore object detection and tracking techniques using OpenCV, including Haar cascades, HOG (Histogram of Oriented Gradients), and deep learning-based methods.

Day 076: Introduction to Geospatial Analysis with Python

  • Get started with geospatial analysis using Python and understand its applications in mapping, GIS (Geographic Information Systems), and spatial data analysis.

Day 077: Working with Geospatial Data Formats

  • Learn how to read, write, and manipulate geospatial data formats such as shapefiles, GeoJSON, and raster files using Python libraries like GDAL and Fiona.

Day 078: Geospatial Data Visualization and Analysis

  • Explore geospatial data visualization and analysis techniques using Python libraries such as GeoPandas, Matplotlib, and Folium.

Day 079: Introduction to Network Analysis with NetworkX

  • Get introduced to network analysis using NetworkX, a Python library for creating, manipulating, and analyzing complex networks.

Day 080: Creating and Analyzing Graphs with NetworkX

  • Learn how to create and

analyze graphs using NetworkX, including graph construction, centrality measures, and community detection algorithms.

Day 081: Advanced Network Analysis Techniques

  • Dive deeper into advanced network analysis techniques such as network motifs, graph embeddings, and dynamic network analysis using Python.

Day 082: Introduction to Cybersecurity Tools with Python

  • Get started with cybersecurity tools development using Python and understand its applications in penetration testing, threat hunting, and digital forensics.

Day 083: Network Scanning and Enumeration with Python

  • Learn how to perform network scanning and enumeration using Python libraries such as Nmap, Scapy, and Socket.

Day 084: Vulnerability Assessment and Exploitation with Python

  • Explore vulnerability assessment and exploitation techniques using Python, including identifying security vulnerabilities and exploiting them for testing purposes.

Day 085: Introduction to Ethical Hacking with Python

  • Get introduced to ethical hacking using Python and understand the principles of ethical hacking, including legal and ethical considerations.

Day 086: Web Application Penetration Testing with Python

  • Learn how to perform web application penetration testing using Python tools and libraries for identifying and exploiting web vulnerabilities.

Day 087: Wireless Network Penetration Testing with Python

  • Dive into wireless network penetration testing using Python and understand how to assess the security of wireless networks and devices.

Day 088: Introduction to Blockchain Development with Python

  • Get started with blockchain development using Python and understand the principles of blockchain technology, including decentralized consensus and smart contracts.

Day 089: Building a Basic Blockchain with Python

  • Learn how to build a basic blockchain from scratch using Python, including creating blocks, adding transactions, and implementing proof-of-work consensus.

Day 090: Cryptocurrency Implementation with Python

  • Explore cryptocurrency implementation using Python and understand how to create your own cryptocurrency, including wallet management and transaction processing.

Day 091: Introduction to Cloud Computing with Python

  • Get introduced to cloud computing with Python and understand its applications in cloud infrastructure management, serverless computing, and cloud-native development.

Day 092: Cloud Infrastructure Management with Python

  • Learn how to manage cloud infrastructure using Python and cloud provider APIs for provisioning resources, managing configurations, and automating tasks.

Day 093: Serverless Computing with Python

  • Dive into serverless computing using Python and understand how to deploy and run serverless functions on cloud platforms like AWS Lambda and Google Cloud Functions.

Day 094: Introduction to IoT (Internet of Things) with Python

  • Get started with the Internet of Things (IoT) using Python and understand its applications in building smart devices and sensor networks.

Day 095: Working with Sensors and Actuators in Python

  • Learn how to interface with sensors and actuators using Python and IoT platforms like Raspberry Pi and Arduino for collecting and controlling physical data.

Day 096: IoT Data Collection and Analysis with Python

  • Explore IoT data collection and analysis techniques using Python and understand how to process, store, and analyze sensor data from IoT devices.

Day 097: Introduction to DevOps with Python

  • Get introduced to DevOps practices with Python and understand its role in automating software development, deployment, and operations processes.

Day 098: Continuous Integration and Deployment with Python

  • Learn how to implement continuous integration and deployment (CI/CD) pipelines using Python-based tools like Jenkins, Travis CI, and GitLab CI/CD.

Day 099: Infrastructure Automation with Python

  • Dive into infrastructure automation using Python and infrastructure-as-code (IaC) tools like Terraform and Ansible for automating provisioning and configuration management.

Day 100: Building Scalable Applications with Python

  • Wrap up your 100 days of coding journey by learning how to design and build scalable applications using best practices and design patterns in Python.