Edyoda: Python Developer Program
Edyoda: Python Developer Program
Program Curriculum
www.edyoda.com hello@edyoda.com
Learning outcomes:
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
www.edyoda.com hello@edyoda.com
• Assignment Operators
• Bitwise Operators
• Logical Operators
• Membership Operators
• Identity Operators
• Operators Precedence
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
www.edyoda.com hello@edyoda.com
13. Python Dictionary
• Basic Dictionary operations
• Built-in Functions and Methods
• Use cases
www.edyoda.com hello@edyoda.com
• Using Properties to Control Attribute Access
21. Collections
• Deque
• Counter
• OrderedDict
• ChainMap
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
2. Starting a Project
• Installing Django
• Setting up virtual environment
• Starting the project
• Development Server
• Creating Applications
3. Django models
• Creating models
• Migrations
• Django Models and the Shell
• Configuring the Admin Interface
4. QuerySets
www.edyoda.com hello@edyoda.com
• 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
9. Forms
• GET and POST
• Form class
• Creating forms from models
• Processing the form
• Form Validation
• Forms in templates
www.edyoda.com hello@edyoda.com
• Default generic views
• Class-based generic views
• List and detail views
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
• Low-level API
www.edyoda.com hello@edyoda.com
• Authentication and Permissions
• Pagination
2. Testing
• Py.test Fundamentals
• Writing and running test cases
Asyncio Python
1. Asyncio Basics
• Asynchronous Programming
• Using Coroutines
• Fundamentals of Tornado and Twisted
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
Mindset for Problem Solving
1. Mathematical Aptitude
• Percentages
• Profit and Loss
• Simple Interest and Compound Interest
• Work And Time
• Probability
• Permutation and Combination
• Profit and Loss
• Time & Speed
• Ratios and Proportions
• Data Interpretation
3. Computational Thinking
• Thinking before Doing/Coding
• Problem Identification
• Decomposition
• Pattern Recognition
• Abstraction
• Algorithm Design
• Computational Thinking Use Case 1
• Computational Thinking Use Case 2
4. Technical Puzzles
• Why are Puzzles part of interviews?
• The Art of solving puzzles
• Approach more important than the solution
• Puzzles for Vertical Thinking
www.edyoda.com hello@edyoda.com
• Puzzles for Horizontal Thinking
Professional Communication
www.edyoda.com hello@edyoda.com
• Writing a summary of the movies
Computer Fundamentals
www.edyoda.com hello@edyoda.com
2. Linux Administration
• Introduction to Linux Operating Systems
• Basic Linux Commands
• File Management and Security
• The directory structure of Unix
• User Management
• Groups
• Shell types and basic commands
• Permissions
• sudo
• Systemd Services Start and Stop
• Resource Mgmt with systemctl
• Process Management (top, ps)
• Package Management(yum, apt, rpm)
• Managing disks (lsblk, df, mount, umount,du)
• File systems
www.edyoda.com hello@edyoda.com
o Hashing
o Insertion
o Deletion
o Merging
• Searching techniques
o Binary search
o Linear search
• Recursion
• Fibonacci series
• Sorting Algorithm
o Bubble sort
o Insertion sort
o Selection sort
o Quick sort
o Merge sort
o Bucket sort
4. Database concepts
• Introduction to Databases
• Entity Relationship Model
• Relational Model
• Relational Algebra
• Normalization
• Transactions and Concurrency Control
• DBMS Architecture 2-level 3-level
• Data Abstraction and Data Independence
• Database Objects
• Entity-Relationship Model
• Generalization
• Specialization
• Aggregation
• Entity Relationship Diagrams
• Keys in Relational Model
• Candidate key,
• Super key
• Primary key
• Alternate key
• Foreign key
• Strategies for Schema design
• Schema Integration
• Data modelling
• Star Schema in Data Warehouse modelling
• Data Warehouse Modeling
www.edyoda.com hello@edyoda.com
5. Basic SQL - Syntax
• Data Types
• Operators
• Expressions
• Create Database
• Drop Database
• Select Queries
• Create Table
• Drop Table
• Other Table Operations
• Insert Query
• Where Clause
• AND & OR Clauses
• Update operations
• Delete operations
• Order By clause
• Group By Clause
• Sorting operations
• SQL Constraints
• Type of Joins
• Unions Clause
• NULL Values
• Indexing
• Views
6. Software Engineering
• Software Engineering Overview
• Features of Good Software:
o Operational Features
o Transitional Features
o Maintenance Features
• Software Development:
o Requirement Gathering
o Software Design
o Programming
• Software Design
o Design
o Maintenance
o Programming
• Programming:
o Coding
o Testing
www.edyoda.com hello@edyoda.com
o Integration
• Software Development Life Cycle
o Requirement Gathering
o System Analysis
o Software Design
o Coding
o Testing
o Integration
o Deployment
o Operation and Maintenance
• Types of SDLC
o Waterfall model
o Iterative Model
o Spiral model
o V Model
• Agile Concepts
• DevOps Concepts
• Microservices Architecture
• Features of Microservices Architecture
• Software Requirements
• Software Design Basics
• Analysis & Design Tools
o Data Flow Diagram
o Flow Chart
• Design Strategies
o Function-Oriented Design
o Object-Oriented Design
• User Interface Design
o Command Line Interface(CLI)
o Graphical User Interface (GUI)
• Design Complexity
• Software Testing Overview
o Manual Vs Automated Testing
o Testing Approaches
o Black-box testing
o White-box testing
o Unit Testing
o Integration Testing
o Functionality testing
o Acceptance Testing
o Regression Testing
• Quality Control
• Deployment Methods
www.edyoda.com hello@edyoda.com
o Blue-Green Deployment
o Rolling Deployment
• Software Monitoring
• Software Maintenance
7. Tools
• Git
o What is Git?
o Installing Git
o First-Time Git Setup
o Git Basics
o Getting a Git Repository
o Recording Changes to the Repository
o Viewing the Commit History
o Undoing Things
o Working with Remotes
o Tagging
o Git Branching
o Basic Branching and Merging
o Branch Management
o Branching Workflows
o Remote Branches
o Rebasing
• Putty
o Installation
o Types of connections
o Connecting to a remote server
o Using Auth keys
o Customizing putty
• Vim
o Vim Basics
o Insert Mode
o Visual Mode
o Command Mode
o Create and Edit a file
o Search and replace in Vim
o Vim diff
o Copy operations
o .vimrc file
o Vim Commands
www.edyoda.com hello@edyoda.com