0% found this document useful (0 votes)
79 views17 pages

Edyoda: Python Developer Program

The document outlines the curriculum for EdYoda's Python Developer Program. The program focuses on developing strong fundamental concepts in frontend development, server-side development using REST APIs, working with databases, and creating end-to-end websites. The curriculum covers topics like Python programming, databases, web frameworks like Django and DRF, deployment, problem solving techniques, and professional communication skills.

Uploaded by

Sammy Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
79 views17 pages

Edyoda: Python Developer Program

The document outlines the curriculum for EdYoda's Python Developer Program. The program focuses on developing strong fundamental concepts in frontend development, server-side development using REST APIs, working with databases, and creating end-to-end websites. The curriculum covers topics like Python programming, databases, web frameworks like Django and DRF, deployment, problem solving techniques, and professional communication skills.

Uploaded by

Sammy Kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 17

EdYoda

Python Developer Program

Program Curriculum

www.edyoda.com hello@edyoda.com
Learning outcomes:

• Strong fundamental concepts of Frontend Development

• Strong fundamental concepts of Server-side Development using REST APIs

• Work with database seamlessly

• Create beautiful end to end websites

• Gain Industry standard knowledge

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

www.edyoda.com hello@edyoda.com
• Assignment Operators
• 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
• Inheritance and Polymorphism

www.edyoda.com hello@edyoda.com
• 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 subprocesses
• 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

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

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
• Creating forms from models
• Processing the form
• Form Validation
• Forms in templates

10. Generic Views


• Types of generic views

www.edyoda.com hello@edyoda.com
• 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
• Low-level API

16. Django REST framework


• Introduction to RESTful webservices
• Serializers
• Requests and Responses
• Views
• ViewSets
• Creating API’s : CRUD operations

www.edyoda.com hello@edyoda.com
• 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

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

2. Art of Learning Anything


• What is Intelligence
• Relation of success with intelligence
• Illusion of Learning
• Focussed Mode vs Diffused Mode
• Procrastination
• Improving Recall
• Creating Brain Links
• Visual memory & Data Memory
• Slow Thinking

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

Productivity and Decision Making

1. Art of being Super Productive


• Start with Why to make objectives clear
• Thinking Limitless
• The magic of computing returns
• Deciding what to work on
• Time Management Skills
• Measuring what matters
• Choosing wisely habits to inculcate

2. Effective Decision Making


• Why is decision making a key skill?
• Components of Decision Making
• Understanding common biases
• Letting emotions not clutter decision making
• Difference between quick decision making & slow decision making

Professional Communication

1. Reading comprehension & Short writing


• Building vocabulary
• Extracting insights from the textual information
• Drawing inferences from multiple stories
• Writing you inferences for others to understand

2. Book Reading & Writing Reviews


• Reading 10 books during the entire course & writing book reviews
• 2 Biographies
• 2 Fictions
• 6 Non-Fictions

3. Effective Understanding & Articulation


• Watching 20 movies from our suggested list
• Writing 1000 words essay on those movies

www.edyoda.com hello@edyoda.com
• Writing a summary of the movies

4. Group Discussion for decision making


• Understanding why GD is so important in personal & professional life
• The objective of GD - Collectively making the right decision
• 5 GD on various topics

5. Writing Professional chat/E-mail


• Writing as the most common method of professional communication
• Factors to keep in mind before starting to write
• Points to consider while writing
• Activities after writing
• Difference between chat writing & email writing

6. Making Impressive Presentation


• Why making a presentation is a professional job
• The objective of the presentation
• Attributes of good presentation
• Why research is key to the presentation
• Making a presentation interactive
• Doing 10 video/live presentation

Computer Fundamentals

1. Operating System Concepts


• Operating System Architecture
• Processes and Process Management
• Threads and Concurrency control
• Scheduling
• Memory Management
• Inter-Process Communication
• Synchronization Constructs
• I/O Management
• Resource Virtualization
• Remote Services
• Distributed Systems
• Introduction to Data Center Technologies

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

3. Data Structures and Algorithms


• Built-in Data Type
o Integers
o Boolean
o Floating
o Character and Strings
• Derived Data Type
o List
o Array
o Stack
o Queue
• Linked List
o Singly Linked List
o Doubly Linked List
o Circular Linked List
• Array
• Stack
• Queue
• Tree
• Basic Operations
o Traversing
o Searching
o Sorting

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

You might also like