Welcome to the LEAP Certificate in Advanced Python Programming! This course explores Flask for web development, covering fundamental concepts like setting up Flask, integrating with HTML/CSS, and implementing RESTful APIs. Dive into database management with SQLAlchemy ORM and master Flask's extensive toolset for creating robust web applications. Whether you're enhancing your programming skills or aiming for professional web development, this course equips you with the essential tools and frameworks to excel in Python development.
LEAP Advanced Python
Welcome to the LEAP Certificate in Advanced Python Programming! Explore Flask for web development, covering setup, HTML/CSS integration, and RESTful APIs. Master SQLAlchemy ORM for database management and leverage Flask's tools to excel in Python web development.
Introduction
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.
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.
Academic Approach
The academic approach of the courses focuses on the “work-centric” education i.e. begin with work (and not from a book!), derive knowledge from work and apply that knowledge to make the work more wholesome, useful and delightful. The ultimate objective is to empower the Learner to engage in socially useful and productive work. It aims at leading the learner to his/her rewarding career as an employee or entrepreneur as well as development of the community to which s/he belongs. Learning methodology:
- Step -1: Learners are given an overview of the course and its connection to life and work.
- Step -2: Learners are exposed to the specific tool(s) used in the course through the various real-life applications of the tool(s).
- Step -3: Learners are acquainted with the careers and the hierarchy of roles they can perform at workplaces after attaining increasing levels of mastery over the tool(s).
- Step -4: Learners are acquainted with the architecture of the tool or tool map so as to appreciate various parts of the tool, their functions, utility and inter-relations.
- Step -5: Learners are exposed to simple application development methodology by using the tool at the beginner’s level.
- Step -6: Learners perform the differential skills related to the use of the tool to improve the given ready-made industry-standard outputs.
- Step -7: Learners are engaged in appreciation of real-life case studies developed by the experts.
- Step -8: Learners are encouraged to proceed from appreciation to imitation of the experts.
- Step -9: After the imitation experience, they are required to improve the expert’s outputs so that they proceed from mere imitation to emulation.
- Step-10: Emulation is taken a level further from working with differential skills towards the visualization and creation of a complete output according to the requirements provided. (Long Assignments)
- Step-11: Understanding the requirements, communicating one’s own thoughts and presenting are important skills required in facing an interview for securing a work order/job. For instilling these skills, learners are presented with various subject-specific technical as well as HR-oriented questions and encouraged to answer them.
- Step-12: Finally, they develop the integral skills involving optimal methods and best practices to produce useful outputs right from scratch, publish them in their ePortfolio and thereby proceed from emulation to self-expression, from self-expression to self-confidence and from self-confidence to self-reliance and self-esteem!
Syllabus
- 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
- Basic Flask Concepts
- Server Startup and A complete Application
- Templates
- Flask- Bootstrap
- Static Files
- Flask HTTP methods
- Request Response Cycle
- Error Handling and debugging
- 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 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- EDA Introduction
- Data Preparation and Cleaning
- Exploratory Analysis
- Asking and answering the questions
- 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
- Numpy
- Pandas
- Matpotlib
- SciKit-Learn
- Tensorflow
- Keras
- PyTorche
- The Natural Language Toolkit
- XGBoost
- CatBoost
- OpenCV
- 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
- 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
- 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
- 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
- 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)
- 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
Evaluation Pattern
Evaluation Pattern of LEAP Courses consists of 4 Sections as per below table:
Section No. | Section Name | Total Marks | Minimum Passing Marks |
---|---|---|---|
1 | Learning Progression | 25 | 10 |
2 | Internal Assessment | 25 | 10 |
3 | Final Online Examination | 50 | 20 |
Total | 100 | 40 | |
4 | SUPWs (Socially Useful and Productive Work in form of Assignments) | 5 Assignments | 2 Assignments to be Completed & Uploaded |
MKCL's LEAP Certificate
The certificate will be provided to the learner who will satisfy the below criteria:
- Learners who have successfully completed above mentioned 3 Sections i.e. Section 1, Section 2 and Section 3
- Additionally, learner should have completed Section 4 (i.e. Section 4 will comprise of SUPWs i.e. Socially Useful and Productive Work in form of Assignments)
- Learner has to complete and upload minimum 2 out of 5 Assignments