

Who Should Join
- University or college students pursuing degrees in computer science, data science, or related fields.
- Intermediate Programmers with some programming experience looking to deepen their knowledge of Python web frameworks and databases.
- Data Science Enthusiasts interested in exploring data science, machine learning, and AI, particularly those who want to implement data-driven solutions.
- IT Professionals looking to Upskill and seeking to transition into web development or data science roles.
- Startup Individuals or teams looking to build web applications or data solutions for their business ideas.
- Software Developers who wish to expand their skill set to include web application development and data management techniques.
What you’ll Learn?
- Understand the fundamentals of Flask, including its history, setup, and comparison with Django.
- Develop proficiency in building web applications using Flask, incorporating templates, static files, and Flask-Bootstrap.
- Gain hands-on experience in database integration with SQLAlchemy ORM, covering CRUD operations and database migration.
- Learn to design and implement RESTful APIs with Flask, utilizing common extensions and deploying applications effectively.
- Acquire comprehensive knowledge of Django, exploring its MVC-MVT architecture, project setup, and application development.
- Deepen understanding of Django’s ORM, views, forms, authentication, and middleware for robust web application development.
Syllabus
Introduction to Flask
- What is a Flask?
- History of Flask
- Why use Flask?
- Flask vs Django
- Setting up a development environment
- Installing Flask and Hello World
- Introduction to html and CSS
- HTML syntax and Structure
- Working With Classes and IDs
- CSS basics and syntax
- Creating a basic html document
- Styling Webpage with CSS
Flask Web Development
- Basic Flask Concepts
- Server Startup and A complete Application
- Templates
- Flask- Bootstrap
- Static Files
- Flask HTTP methods
- Request Response Cycle
- Error Handling and debugging
Flask Database Development and Web Application Tools
- Python Database Framework
- SQLAlchemy ORM
- CRUD Operations
- Creating tables in flask
- Inserting into table
- Querying Data
- Updating Data
- Deleting Data
- Database Migration
- Web Forms
- Email Support
- Flask Blueprint
- Template handling
- Static File handling
- Error handling
- Flask Blueprint Decorator
- Abort function
Flask RESTful APIs
- Flask Application Structure
- Configuration Options
- Application package
- Application factory
- Implementing Application functionality in Blueprint
- Introduction to API
- Web API
- REST Framework
- Postman Tool
- Working with API
- Designing RESTful APIs
- Common Flask Extensions
- Deployment Workflow
Demystifying Django
- What is Django?
- Django history
- Features of Django
- Disadvantages of Django
- Applications of Django
- Django MVC-MVT architecture
- Why Use Django?
- Webserver
- Virtual Environment
- Django Installation
- Project in Django
- manage.py
- init.py
- settings.py
- urls.py
- wsgi .py
- asgi.py
- App in Django
- admin.py
- app.py
- models.py
- test.py
- views.py
- Difference between project and app
Building a Django Web Application
- Creating a project and an app
- Registering an app
- Runserver
- Creating a View
- Mapping the view to URLs
- Creating a models
- Registering a model
- Make migrations
- Migrate
- Creating a superuser
- Settings.py
- Middleware
- Django database connection
- Small Project on Django
- Templates
- Django Template Language (DTL)
- Creating a template directory
- Rendering a template
- Template Variables
- Template Tag
- Template Filters
- If-else and For loop
- Static Files
Data Management in Django (Models and Forms)
- Models in Django
- Django model Data Types and Fields list
- ORM’s in Django
- Query Sets in Django
- Model instances
- Django forms
- Django Model Forms
- Form widgets
- CSRF Token
- Django formsets and Modelform sets
Exploring Django Views
- Django Views and its types
- Function Based View
- CRUD Operations Using FBV
- Insert Operation
- Update Operation
- Delete Operation
- Class-based views (CBVs)
- CRUD Operations Using CBV
- Mixins in Django
- URLs import reverse
Django Web Development: Sessions, Cookies, Serialization, Deserialization, Mixins, Authentication, and Authorization
- Session and Cookies in Django
- Enabling and configurating session
- Session serialisation
- working of cookies in Django
- Use of cookies
- Managing Cookies in Django: Setting, Modifying, Updating, and Deleting
- Enabling and Disabling Cookies in Django
- Django Serialization and Deserialization
- Model serialization
- Model inheritance styles
- Authentication
- default authentication implementations
- Working with the user object
- Authentication with web request
- Authorization
- Permission caching and default Permission
- Authentication vs Authorizations
Django Middleware
- Django Middleware
- Inbuilt Middlewares
- Middleware structure
- Configuration of multiple middleware classes
- Maintenance Mode Application
- Middleware application to show meaningful response
- Advantages and Disadvantages of Middlewares
- Mail system in Django
- Other Email Functions
- CSV Using Models
- PDF Using Models
Django Rest Framework
- Introduction to Django Rest Framework
- Django Rest framework History and Versions
- Advantages and Disadvantages of Django Rest Framework
- Applications of Django Rest Framework
- Web API VS Web Browser
- Webservices and its types
- SOAP Based Web Services
- REST (Representational State Transfer) web services
- Difference between soap and restful webservices
- Django Rest Framework Installation
Django Rest Framework Serializer and Deserializer
- Serializers in DRF
- Model Serializers in DRF
- Advantages and disadvantages of serializers in DRF
- Serializer mixins
- Serializer Fields
- Serializer Relations
- Deserializers in DRF
- JSON in DRF
- Serializers and Deserializers in CRUD Operations
- Advantages and disadvantages of deserializer
- Validation of serializer
- Difference serializer and deserializer in DRF
Django Rest Framework Views
- Views and its type in DRF
- APIView
- Creating a Simple API
- GenericAPIView
- Creating a GenericAPIView
- ViewSets
- ViewSet actions
- Custom ViewSet base classes
- Defining Router for TestViewSet
- Difference between APIView and ViewSet
DRF Authentication, Authorization and Pagination
- Authentication and Setting Authentication Schemes in DRF
- Token based authentication in DRF
- BasicAuthentication
- SessionAuthentication
- Custom authentication
- Difference between TokenBased, Basic, Session and Custom Authentication
- Unauthorized and Forbidden responses
- Oauth
- Authorization and permissions
- Pagination in Django Rest Framework
- Use of pagination
- Implementing pagination in an API view
- HTML pagination controls
- Filters in DRF
Introduction To Data Science
- What is Data Science?
- Who is Data Scientist?
- Why Data Science
- Data Science Pipeline
- Data Science Tools
- Data Science Tools (Proprietary)
- Introduction to Python Tools for Data Science
- Anaconda Installation and Setup
- Virtual Environment Setup with Anaconda
- What is PYPI?
- Installing Packages via Pip
- Jupyter Notebook
- What is a Jupyter Notebook
- Getting familiar with Jupyter Notebook
- Jupyter Magic Commands
- Case Studies
- Covid 19 Data Science Application
- JP Morgan
- Netflix User Case
- UPS
- Walmart
- Future of Data Scientist
- Maths
- Vector Introduction
- Vector Arithmetic
- Dot and cross product
- Applications of Vectors
- Probability Introduction
- Conditional probability
- Multiplication Rule of probability
- Baye’s Theorem
- Statistics Introduction
- Discrete and continuous mathematics
- Set Theory
- Applications of set theory
- Relations and Functions
Numpy
- Introduction to Numpys
- Creating numpy arrays and dimensions
- Indexing
- Numpy Slicing
- Numpy Arithmetic Operations
- Other Numpy Arithmetic Operations
- Broadcasting and comparison
- Solving equation with numpy
- Statistical Operation with numpy
- Numpy
- Create and manipulate arrays using numpy
- Combining 2 arrays
- Compare the elements of the two arrays
- Program to print 2d diagonal array.
- Flattening a 2d array
- Python program explaining numpy.size () function
- Non-Zero Functions with numpy
- Changing Data Type
- Trace of matrix
- Addition of two matrix
- Subtraction of Two Matrix
Tabular analysis with Pandas
- Introduction to pandas
- Data structures in pandas
- Reading files in Csv
- Retrieving data
- Analysing data
- Querying and sorting
- Working with dates
- Grouping and aggregation
- Merging data from multiple sources
- Writing data back to files
- Basic Plotting with Pandas
- Pandas Exercise
- How to create a DataFrame in Pandas from a dictionary of arrays/lists
- Creating Dataframe from lists
- Creating Dataframe from a list of tuples
- Create a list of nested dictionaries
- Pandas to create a dataframe
- Displays the values of each row and column using pandas
- How to read data from a string using the pandas read_csv() function
- How to reindex the rows of a Pandas DataFrame using the reindex() method
- Create two pandas Series using the NumPy linspace() function
Preprocess Data and Matplotlib
- Why preprocess?
- Preprocessing Technique
- Null and NaN
- Forward Fill
- Selecting data with conditionals
- Dropping columns/rows
- Subset and index data
- Reshaping
- Pivoting
- Rank and sort data
- Matplotlib
- Introduction to Matplotlib
- LineChart
- Improving style using seaborn
- Scatter plot
- Histogram
- BarChart
- HeatMap
Exploratory Data Analysis
- EDA Introduction
- Data Preparation and Cleaning
- Exploratory Analysis
- Asking and answering the questions
Introduction to Artificial Intelligence
- What is Artificial Intelligence?
- The history of AI and its Development
- Narrow or Weak AI
- AI Techniques and Algorithms
- Natural Language Processing
- The Ethical and Societal Implications of AI
- Relationship between AI and other Technologies
- Robotics and its connection to AI
- Difference between AI and ML
- The Role of AI
- Applications of AI
- Use of AI in Social Media
Introduction to Python libraries used for AI/ML
- Numpy
- Pandas
- Matpotlib
- SciKit-Learn
- Tensorflow
- Keras
- PyTorche
- The Natural Language Toolkit
- XGBoost
- CatBoost
- OpenCV
Introduction to Machine Learning and Mathematical/Statistical Concepts for AI/ML
- Introduction of Machine Learning
- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning
- Data Preprocessing
- Feature Extraction
- Training data
- Which model to use?
- Overfitting / Underfitting
- Mathematical/Statistical Concepts for AI/ML
- The necessity of Statistics for AI
- Vectors and Matrices
- Graphs for AI-ML
- Sets for AI-ML
- Probability distribution
- Hypothesis testing in AI-ML
- Markov model
- Clustering in AI-ML
- Kernal Functions in AI-ML
- Decision Tree
Supervised Learning
- Introduction to Supervised Learning
- Classification
- Regression
- Naive Bayes
- Linear Regression
- Logistic Regression
- Support Vector Machines (SVMs)
- K Nearest Neighbor
- Supervised Learning Applications
- Challenges in Supervised Learning
Unsupervised Learning
- Introduction to Unsupervised Learning
- Clustering in Unsupervised Learning
- Exclusive and Overlapping Clustering
- Hierarchical Clustering
- Probabilistic Clustering
- Association Rule
- Dimensionality Reduction in Unsupervised Learning
- Principal Component Analysis
- Applications of Unsupervised Learning
- Challenges in Unsupervised Learning
Basics of Neural Network
- What are Neural Networks?
- History
- Types of Neural Network
- Weights and Biases
- How do Neural Networks Work?
- Working of common Neural Networks
- Neural Network vs Deep Learning
- Applications of Neural Network
Building a ML Model using Python
- Define the problem and determine the goals of the model
- Data preparations
- Factors to consider while choosing model
- Why to use CSV file?
- Building the ML model (Logistic Regression)
Evaluating an AI/ML Model
- Importance to evaluate the ML model
- Accuracy of ML model
- Precision measure of the ML model
- Recall
- F1 Score
- Confusion Matrix
- Techniques to improve accuracy
