Course contents for Python programming – 5 Days
Schedule
Item |
Topic |
Day |
|
Introduction and Setup |
Day 01 |
|
Working with PyCharm |
|
|
Python Basics |
|
|
Data Structures |
|
|
Python Functions and more… |
Day 02 |
|
Working with built-in modules and packages |
|
|
Modules and Packages |
|
|
Handling Exceptions |
|
|
File input/output |
|
|
Regular Expressions |
|
|
Object Oriented Programming |
Day 03 |
|
Advanced Python Concepts |
|
|
Python Lambda function |
|
|
Python Decorators |
|
|
Python Generators |
|
|
Co-Routine in Python |
|
|
Implement REST API using Python |
Day 04 |
|
Working with Databases with Python |
|
|
Serializing Data |
|
|
Introduction to Blocking and Non-Blocking IO |
Day 05 |
|
Network Programming |
|
|
Python Threads |
Contents
The course contents are designed such that approximately 30% or less of the time is spent in theoretical knowledge sharing and 70% or more time is spent in hands-on sessions. Participant are guided on the syntax usage and encouraged to explore and program different scenarios.
Example programs and use cases
The course starts with basic and generic programming examples for better understanding of the concepts and syntax. As we move on the advanced topics, the examples are more towards real-time project scenarios.
Day 01
Introduction and Setup
- Introduction to Python
- Install Python and Setup Environment
- Difference between Python2 and Python3
- Working with Python 3.x
- Syntax and creating scripts using IDLE
Working with PyCharm
- Introduction to PyCharm and Installation
- PyCharm settings and preferences
- Setup Virtual Environment
- Create New project
- Adding Packages
- Navigation
- Code quality, refactoring, debugging
Python Basics
- Introduction
- Data types, variables
- Working with Numbers
- Working with Strings, slice-dice
- Printing formats
- Defining functions
- Loops and conditional statements – if, for, while
Data Structures
- Lists, Tuples, Sets
- Dictionaries
- Using Comprehensions – list and dictionary
- Strings
- Dictionaries
Day 02
Python Functions and more…
- Using functions as input to other functions
- Exploring different features of functions
- Working with Lambda, map, filter functions
Working with built-in modules and packages
- Introduction python package structure
- Working with sys and os packages
- Working with date and time modules
Modules and Packages
- Creating modules
- Creating packages
- Using built-in definitions
Handling Exceptions
- Understanding python execution model
- When do exceptions happen
- Catching exceptions
- Try, except, else, finally blocks
- Using built-in exceptions
- Implementing custom exceptions
File input/output
- Working with files – open, read, write, close
- Using built-in packages to work with standard file formats
- Using csv, html, json, xml parser
Regular Expressions
- Principles of automation
- Using regular expressions – re-module
- Find, findall, search and other operations
- Manipulating data
Day 03
Object Oriented Programming
- Introduction to Object Oriented Python
- Working with Classes, Instances, Attributes and Methods
- Working with Inheritance
- Polymorphism
- Creating virtual functions
- Exception handling
- Develop custom exceptions
Advanced Python Concepts
- Advanced List Comprehensions
- Collections Module
- Mapping and Filtering
- Lambda Functions
- Advanced Sorting
- Unpacking Sequences in Function Calls
- Modules and Packages
Python Lambda function
- Python Lambda Functions: Introduction
- Where Are Lambda Functions Useful?
- Writing Lambda Functions
- Lambda with the Sort Method
- Map, Reduce and Filter functions
- Lambda functions with Map, Reduce and Filter
- Lambda functions with list/dictionary comprehensions
Python Decorators
- Python Decorators Introduction
- Function Decorators
- More on Function Decorators
- Class Decorators
- Meta Classes – Introduction
- Creating Meta Classes
- Python Threads
Python Generators
- Generator- Introduction
- Generators with Examples
- Python Generators Expressions
- Why Generators
Co-Routine in Python
- Co-Routine- Introduction
- Creating Co-Routine
- Pipe-lining in Co-Routine
- Closing a Co-Routine
Day 04
Serializing Data
- Working with XML
- XML modules in Python
- Getting started with ElementTree
- Parsing XML
- Updating an XML tree
- Creating a new document
- About JSON
- Reading JSON
- Writing JSON
- Reading/writing CSV files
- YAML, other formats
Implement REST API using Python
- Introduction to REST API framework
- Building an end point
- Creating view, config, routes, models and templates
- Implementing the API
- Adding validators to datastore
- Show data to users
- Working with pagination
- Loading multiple endpoints
- Representing relations
- Protecting API – authentication and authorization
Working with Databases with Python
- Connecting to database from Python
- Defining schema, Creating tables
- Insert records to database
- Select data and options
- Format results
- Other DB operations
- The DB API
- Available Interfaces
- Connecting to a server
- Creating and executing a cursor
- Fetching data
- Parameterized statements
- Using Metadata
- Transaction control
- Creating a Table and Inserting Data into it
- Use Insert, Update, Delete, Alter and Select DB calls
Day 05
Introduction to Blocking and Non-Blocking IO
- Synchronous and asynchronous IO
- Introduction to event loops for network events
- Using various built-in modules for IO
Network Programming
- The Socket Module
- Network Clients
- Creating Network Servers
- Python Protocol Clients
- Generating & Sending Email
- The email Module
- Creating Simple Emails
- Creating a Message
- Creating SMTP Connections
- Running Shell Commands
- Popen Objects
- Using Parallel Processing
- Using Python’s os.fork() Function
- Using os.exec*() Variants
Python Threads
- The threading module
- Ways of Creating Threads in Python
- Using Functions to create Thread
- Targeting Multiple Thread
- Creating Thread by extending the Thread Class
- Creating Thread without extending the Thread Class
- Multi-Threading
- Sleep Method
- Producer Consumer Problem
- Synchronization with Locks
- Semaphores
- Sharing variables
- The queue module
- Creating pools
- Using multiprocessing
- Exchanging Objects
- Using Pipes
- Synchronization
- Using multiprocess Managers
- Using the Queue Object
- Using Semaphores
- Using Locks, RLocks, Condition & Semaphores
- Event Objects
- Timer Objects
- Processing Exit Codes
Contact
Contact
info@valuableconsulting.com
Office Address
91springboard, 3rd Floor, #175 & #176, Dollars Colony, Phase 4, JP Nagar, Bannerghatta Main Road, Bengaluru, Karnataka 560076