PYTHON Full STack Training Overview

Full Stack Python Development offers an immersive learning experience that delves into both the front-end and back-end facets of Python-driven web development. It is meticulously designed to equip participants with a thorough understanding of essential concepts, tools, and frameworks crucial for crafting contemporary, scalable web applications. Through a blend of interactive modules and hands-on exercises, learners will acquire practical expertise in every stage of the development cycle, from conceptualizing and designing to coding, deploying, and sustaining full-stack Python applications.

Course Objectives

  • Understand the architecture of full-stack web applications.
  • Gain proficiency in Python programming language.
  • Learn to develop dynamic web interfaces using frontend frameworks like Flask or Django.
  • Master backend development with Python and popular databases like MySQL or MongoDB.
  • Acquire knowledge of RESTful API development and integration.
  • Implement user authentication and authorization mechanisms.
  • Explore best practices for security and performance optimization.
  • Learn deployment strategies for deploying Python applications to production environments.

 Prerequisites

  • Basic understanding of programming concepts (preferably Python).
  • Familiarity with web technologies such as HTML, CSS, and JavaScript.
  • Knowledge of database concepts is beneficial but not mandatory.
  • Core Python: Demo:
    i. Why Python?
    ii. Who Uses Python today
    iii. What can we do with Python
    iv. How Python Developed and Supported
    v. Python – Technical Strengths.
    vi. What next?
    • Python Interpreter
    • Program Execution – programmer’s view, Python’s view
    • Installation
    i. Python
    ii. All Related Software: PyCharm, Anaconda
    iii. Setup, configure Python in Laptop
    iv. IDLE – UI, usage, features
    • All Numeric types in Python, coding/Hands-on
    • Python Variables, objects, References, Shared References, coding/Hands-on
    • Garbage Collection of objects
    • All built in types in python: Strings, Lists, Dictionaries, Tuples, sets, Files
    • Python Statements – coding/Hands-on
    • Assignments, Expressions and Prints
    i. if-else, if-elif-else, if-else ternary expression
    ii. while and for loops
    iii. Comprehensions vs regular
    iv. Parallel Traversals: map and zip functions
    v. Other important functions: range, len, enumerate
    Iterations and Comprehensions – coding/Hands-on
    • Python online Documentation
    • Python Functions – def, nested functions
    • Variable Scopes – basics, LEGB rules, global, nonlocal
    • Function Arguments – coding/Hands-on
  • i. Arguments and shared references
    ii. Arguments passing basics
    iii. Arguments matching basics
    iv. Arguments matching syntax
    v. Multiple Results
    Advanced Function Concepts – Recursive functions, Attributes, Annotations,
    lambda
    • Generators and comprehensions – Generator functions, yield, Generator
    expression
    • Python Modules

    i. Definition, why modules?
    ii. Typical Python program architecture
    iii. Import statement – coding/Hands-on
    iv. How Import works: Find it, Compile it, Run it
    v. Standard library modules
    vi. __pycache__ folder for byte code files
    vii. Module search path
    Module coding Basics
    i. Module creation
    ii. import statement, from statement, from * statement
    iii. Module Namespaces, Namespace dictionaries: __dict__
    iv. Reloading modules
    Module Packages
    i. Package import basics
    ii. Why Package imports?
    iii. Relative import basics
    iv. Why relative imports?
    v. Package Namespaces
    Advanced Module Topics
    i. Data hiding in modules – coding/Hands-on
    ii. Mixed usage modes: __name__ and __main__ – coding/Hands-on
    iii. The as extension for import and from – coding/Hands-on
    Introduction to Python Classes – coding/Hands-on
    i. Why Classes?
  • ii. Classes, constructors and Instances 
  • iii. Method calls 
  • iv. Attribute inheritance search 
  • v. OOP is about code reuse 
  • vi. Subclassing by Inheritance 
  • vii. Polymorphism in Action
  •  viii. Class vs instance attributes 
  • ix. Storing objects in DB – Pickles & Shelves • 
  • Coding with Classes – coding/Hands-on 
  • i. Abstract super classes 
  • ii. Nested classes 
  • iii. Classes vs Modules
  •  iv. Namespace dictionaries 
  • v. LEGB scopes rule revisited • 
  • Operator Overloading – coding/Hands-on
  •  i. Constructors: __init__ 
  • ii. Indexing, Slicing: __getitem__ and __setitem__ 
  • iii. Attribute Access: __getattr__ and __setattr__ 
  • iv. String Representation: __repr__ and __str__ 
  • v. Right side and In-Place Uses: __radd__ and __iadd__
  •  vi. Call Expressions: __call__ 
  • vii. Comparisons: __lt__, __gt__ and others
  •  viii. Boolean Tests: __bool__ and __len__ 
  • ix. Destructors: __del__ 
  •  Special features of Classes – coding/Hands-on 
  • i. Inheritance: “IS-a” relationship 
  • ii. Composition: “HAS-a” relationship 
  • iii. Pseudo private class attributes 
  • iv. Bound and unbound method objects 
  • v. Class objects 
  • vi. “Mix-In” classes 
  • Advanced Class Topics – coding/Hands-on 
  • i. “New style” class model ii. Diamond inheritance change
  • iii. MRO: Method Resolution Order
  • iv. Slots: Attribute Declarations
  • v. Properties: Attribute Accessors
    vi. Static and Class methods
    vii. The “super” built-in function
    • Exception Basics – coding/Hands-on
    i. Why Exceptions?
    ii. Default Exception handler
    iii. Catching Exceptions
    iv. Raising Exceptions
    • Coding Exceptions – coding/Hands-on
    i. The try/except/else statement
    ii. try/finally statement
    iii. raise statement
    iv. assert statement
    v. with/as context managers
    vi. Nesting Exception Handlers
    • Exception Objects
    i. Class based exceptions
    ii. Why Exception hierarchies?
    iii. Built-in Exception Classes
    iv. Custom Exceptions
    II) Regular Expressions with Python:
    • What are regular expressions?
    • regex module in python
    • The match Function
    • The search Function
    • Matching vs searching
    • Search and Replace
    • Meta characters, advanced patterns
    III) Django Framework:
    • Django overview, installation
    • Web Application Architecture
    • Creating and setup a virtual environment
    • Project and Apps in Django
  • First Project creation and Apps creation, App Regitration
    • URL Patterns, creating URLs, Mapping URLs
    • path, include in URL mappings
    • Django Templates, Create Templates
    • DTL – Django Template Language
    • Variables, filters, Tags in Django Templates
    • Template inheritance
    • Partial Templates
    • Static files (CSS, Images, etc…)
    • Including static files in templates
    • Django-DB Connection settings configuration
    • Models, Defining & Migrating models
    • Django Model Fields, field options
    • Admin Panel, creating superuser
    • Model registration to Admin Panel
    • Django Python Shell
    • All CRUD operations with Models
    • Bulk CRUD operations with Models
    • Types of DB Relationships in Django
    • Build One to Many DB Relationship code
    • Build One to One DB Relationship code
    • Build Many to Many DB Relationship code
    • Building HTML Forms, Django Forms, Model Forms
    • Validating fields in all forms.
    • Validators in Django
    • CSRF Token
    • Views in Django
    • Function based views
    • Class based built in views
    • File uploading
    • Sending Emails with and without Django
    IV) Django REST Framework:
    • Why REST Framework
    • REST APIs
    • REST API interaction with React JS
    • Json data
  • DRF Serializers
    • DRF Viewsets in detail
    • DRF Routers in detail
    • DRF Permissions
    • DRF Mixins in detail
    • DRF Authentication
    • Token Authentication
    • DRF Sessions
    • DRF Settings
    V) Database:
    • MySQL Installation, Heidi SQL Installation.
    • What is RDBMS?
    • RDBMS Terminology.
    • Python MYSQL Database Access
    • Create Database Connection
    • DDL Operations with Databases
    • Accessing Database
    • DQL Operations with Databases
    • DML Operations with Databases
    • Aggregations in Database
    • Table Joins
    • Interacting DB with Python using python libraries.
    • Installation of Python libraries for DB access.
    b) Front End Technologies: ~ 1.5 month
    I) HTML5:
    • Introduction to HTML
    • Basic Structure of HTML
    • HTML Editors
    • HTML Tags
    • Paragraphs, Headings and Text
    • Formatting Tags
    • HTML Lists
    • HTML Images
  • HTML Tables
    • HTML Forms
    • HTML Media
    II) CSS3:
    • Introduction to CSS
    • Types of CSS
    • CSS Properties, Selectors and Values
    • Applying CSS to HTML
    • CSS colors
    • CSS Box Model, Margins, Padding,
    • Borders
    • CSS Text & Font Formats
    • CSS Advanced Topics (Effects, Animations, Shadows, Etc.,)
    III) Javascript:
    • Introduction to JavaScript
    • How to Apply JavaScript
    • Displaying Output in JavaScript
    • Understanding JavaScript Syntax
    • Variables & Datatypes
    • Operators
    • Math and String Manipulations
    • Conditional and looping Statements
    • Functions
    • Validations
    • Events
    • ES6 Features, http API call
    IV) Bootstrap:
    • Introduction to Bootstrap
    • Bootstrap Setup
    • Bootstrap Containers
    • Bootstrap Grids
    • Bootstrap Tables
    • Bootstrap Buttons, Navbars, Alerts
  •  Bootstrap Carousel
    • Bootstrap Forms
    V) React JS:
    • Introduction to React
    • Components
    • Props and State
    • Handling Events
    • Conditional Rendering
    • Hooks
    • Routing and Navigation
    • API Integration
    • State Management (Redux)
    • Styling in React
    • Optimizing Performance
    • Forms and Validation
    • Testing React Applications
    • Deployment
    • Advanced Topics (Optional)
    • Real-world Projects
    • Best Practices and Code Quality

Enquiry Form