EdYoda
Python Developer Program
Program Curriculum
Learning outcomes
Learn foundations and advanced concepts of Python
Learn Web Framework and implementation of RESTful API's
Learn Asynchronous IO programming
Learn Redis and RabbitMQ
Learn production deployment of python application on AWS
Python Programming
1. Introduction to Python
● Useful Python Resources
● Python Tools and Utilities
● Python Features
2. Python Environment
● Local Environment Setup
● Downloads and Installations
● Setting up Environment Path
3. Executing Python
● Interactive Mode
● Scripting Mode
● Integrated Development Environment
4. Python Basic Syntax
● Python Identifiers
● Reserved Words
● Lines and Indentation
5. Python Variable Types
● Assigning Values to Variables
● Multiple Assignment
● Standard Data Types
● Data Type Conversion
6. Python Basic Operators
● Arithmetic Operators
● Comparison Operators
● Assignment Operators
www.edyoda.com hello@edyoda.com
● Bitwise Operators
● Logical Operators
● Membership Operators
● Identity Operators
● Operators Precedence
7. Python Decision Making
● IF statements
● IF...ELIF...ELSE Statements
● Nested IF statements
8. Python Loops
● While loop
● For loop
● Nested loop
● Break control statement
● Continue statement
● Pass statement
9. Python Numbers
● Number type conversion
● Mathematical function
● Random number function
● Trigonometric function
10. Python Strings
● String special operators
● String formatting operator
● Built-in string methods
11. Python Lists
● Basic list operations
● Indexing and slicing
● Built-in functions and methods
12. Python Tuples
● Basic tuple operations
● Indexing and slicing
● Built-in functions
www.edyoda.com hello@edyoda.com
13. Python Dictionary
● Basic Dictionary operations
● Built-in Functions and Methods
● Use cases
14. Python Functions
● Pass by reference and value
● Function Arguments
● Scope of variables
● Default Argument Values
● Keyword Arguments
● Arbitrary Argument Lists
● Unpacking Argument Lists
● Lambda Expressions
● Documentation Strings
15. Python Modules
● Importing Modules
● Namespaces and scoping
● Packages
16. Python Files I/O
● Writing and Parsing Text Files
● Parsing Text Using Regular Expressions
● Writing and Parsing XML Files
● Writing and Parsing JSON Files
● Writing and Parsing CSV Files
17. Python Exceptions
● The except clause with multiple exceptions
● The try-finally clause
● Argument of an Exception
● Raising an exception
● User-Defined Exceptions
18. Python Classes and Objects
● Creating Classes
● Creating instance objects
● Destroying Objects (Garbage Collection)
● Custom Classes
● Attributes and Methods
www.edyoda.com hello@edyoda.com
● Inheritance and Polymorphism
● Using Properties to Control Attribute Access
19. Functional Programming
● Lambda
● Filter
● Map
● Functools
20. Iterators and Generators
● Itertools
● Generators
● Decorators
21. Collections
● Deque
● Counter
● OrderedDict
● ChainMap
23. Debugging, Testing
● Pdb
● breakpoints
24. Regular Expressions
● Characters and Character Classes
● Quantifiers
● Grouping and Capturing
● Assertions and Flags
● The Regular Expression Module
25. Deploying Python Applications
● Pip
● Virtualenv
● The init.py files
● The setup.py file
● Installing the package
● Software deployment in Python
www.edyoda.com hello@edyoda.com
Database
1. MYSQL Database
● Fundamentals of MYSQL database
● Database access using Python
2. MongoDB
● Introduction to MongoDB
● MongoDB access using Python
OS Utilities and Processes
1. Essential packages
● os
● sys
2. Processes
● Processes and sub-processes
● Multi-process Architecture
● Multithreading and Multiprocessing
Web Framework: Django, DRF
1. Introduction to Django
● What Is a Web Framework?
● Django Architecture
2. Starting a Project
● Installing Django
● Setting up virtual environment
● Starting the project
● Development Server
● Creating Applications
www.edyoda.com hello@edyoda.com
3. Django models
● Creating models
● Migrations
● Django Models and the Shell
● Configuring the Admin Interface
4. QuerySets
● Creating Objects
● Retrieving Objects
● Field lookups
● Chaining filters
● Slicing QuerySets
● Related Objects
● Q objects
5. Django Views
● Function based views
● Class based views
● Mapping URLs to Views
● URLconfs
● Rendering templates
6. Django Templates
● Configuration
● Creating django templates
● Template rendering
● Template tags and filters
● Custom template tags
7. Static File Management
● Configuring Static Files
● Serving static file in development
● Deploying static files
8. Django Admin Site
● Admin site
● Registering models
● Advanced configurations
9. Forms
● GET and POST
● Form class
www.edyoda.com hello@edyoda.com
● Creating forms from models
● Processing the form
● Form Validation
● Forms in templates
10. Generic Views
● Types of generic views
● Default generic views
● Class-based generic views
● List and detail views
11. User Authentication
● Enabling Authentication Support
● Using Users
● Logging In and Out
● Limiting Access to Logged-in Users
● Managing Users, Permissions, and Groups
● Using Authentication Data in Templates
12. Session Management
● Enabling sessions
● Types of session backends
● Session cookies
● Accessing sessions from views
● Session settings
13. Middleware
● Built-in Middleware
● Activating Middleware
● Writing own middleware
● Middleware hooks
14. Testing
● Using Django's test framework
● Using the test client
● Running tests
● Checking code coverage
15. Caching
● Setting up the cache
● Per-site and per-view caching
www.edyoda.com hello@edyoda.com
● Low-level API
16. Django REST framework
● Introduction to RESTful webservices
● Serializers
● Requests and Responses
● Views
● ViewSets
● Creating API’s : CRUD operations
● Authentication and Permissions
● Pagination
Logging and Testing
1. Introduction to Python Logging
● Understanding Logging module
● Loggers, handlers, filter and formatters
2. Testing
● Py.test Fundamentals
● Writing and running test cases
Asyncio Python
1. Asyncio Basics
● Asynchronous Programming
● Using Coroutines
● Fundamentals of Tornado and Twisted
Cache and Queues
1. Memcache, Redis
2. RabbitMQ, Celery
www.edyoda.com hello@edyoda.com
Deployment on Cloud
1. Basics of AWS
2. Configuration of Production Environment
3. Deployment of Python Application by using webservers and application
servers
www.edyoda.com hello@edyoda.com