0% found this document useful (0 votes)
85 views

EdYoda Python Developer Program Curriculum

The document outlines the curriculum for EdYoda's Python Developer Program. The program will teach students foundations and advanced concepts of Python, web frameworks like Django and REST APIs, asynchronous IO programming, databases like MongoDB, deployment on AWS, testing and logging. The curriculum is spread over multiple modules covering topics like Python programming basics, OOPs, functional programming, web development with Django, APIs with Django REST Framework, databases, async programming and cloud deployment.

Uploaded by

Srikanth Reddy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
85 views

EdYoda Python Developer Program Curriculum

The document outlines the curriculum for EdYoda's Python Developer Program. The program will teach students foundations and advanced concepts of Python, web frameworks like Django and REST APIs, asynchronous IO programming, databases like MongoDB, deployment on AWS, testing and logging. The curriculum is spread over multiple modules covering topics like Python programming basics, OOPs, functional programming, web development with Django, APIs with Django REST Framework, databases, async programming and cloud deployment.

Uploaded by

Srikanth Reddy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

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 [email protected]
● 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 [email protected]
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 [email protected]
● 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 [email protected]
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 [email protected]
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 [email protected]
● 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 [email protected]
● 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 [email protected]
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 [email protected]

You might also like