Multi purpose programming with Python

Home / Training

Multi purpose programming with Python

Course Details:

 

WHAT IS PYTHON?

Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse.

TRAINING DETAILS

The total duration of winter training is 80 Hrs. Training generally gets conducted on 5 days per week, for 4 hours daily. The full course takes upto 1 month time to complete(will be extended if required).

COURSE SYLLABUS

MODULE 1
A Proper Introduction of Python
Why Learning Python?
What are the drawbacks?
Who is using Python today?
Setting up the environment
Python 2 versus Python 3 – the great debate
Installing Python
Setting up the Python interpreter
Your friend, the console


MODULE 2
Beginning with Python: The Basics
How you can run a Python program
How is Python code organized
How do we use modules and packages
Python's execution model
Names and namespaces
Scopes
Object and classes
Guidelines on how to write good code
The Python culture
Some note on the IDEs


MODULE 3
Built-in Data Types
Everything is an object
Mutable & Immutable sequences
Set types
Mapping types – dictionaries
The collections module
Named tuples
Defaultdict
ChainMap
Final considerations
Small values caching
How to choose data structures
About indexing and slicing
About the names
Command-Line Arguments
Introduction to File Manipulation
File Opening, Reading and Writing
Working with Files


MODULE 4
Iterating and Making Decisions
Conditional programming
Looping
A quick peek at the itertools module
Infinite iterators
Iterators terminating on the shortest input sequence
Combinatoric generators
Functions, the Building Blocks of Code
Built-in functions
Anonymous functions
Scopes and name resolution
Documenting your code


MODULE 5
Saving Time and Memory
using map, zip, and filter
Generator functions
Going beyond next
The yield from expression
Generator expressions
Some performance considerations
Don't overdo comprehensions and generators
Name localization
Generation behavior in built-ins


MODULE 6
Advanced Concepts
Decorators
A decorator factory
Object-oriented programming
The simplest Python class
Class and object namespaces
Attribute shadowing
I, me, and myself – using the self variable
Initializing an instance
Private methods and name mangling
The property decorator
Operator overloading
Polymorphism
Writing a custom iterator
The Python Threads and Multiprocessing Modules
The thread Module
The threading Module
Threads Internals
Kernel-Level Thread Managers
User-Level Thread Managers
REGEX(Regular Expressions) in Python
Network Programming with Python
Overview of Networks
Networks and MAC Addresses
The Internet and IP Addresses
Ports
Connectionless and Connection-Oriented Communication
Clients and Servers
Our Example Client/Server Pair
Analysis of the Server Programme
Analysis of the Client Programme


MODULE 7
Testing, Profiling, and Dealing with Exceptions
Testing your application
Test-driven development
Exceptions
Profiling Python
When to profile?
First approach – scripting
The imports
Parsing arguments
The business logic
Second approach – a GUI application
The imports
The layout logic
The business logic


Data Science (If time permits)
Data Science using Python
IPython and Jupyter notebook
Dealing with data
Setting up the notebook
Preparing and cleaning the data
Creating the DataFrame
Unpacking the campaign name
Unpacking the user data
Cleaning everything up
Saving the DataFrame to a file
Visualizing the results

 

Web Development (If time permits)

Introduction to Django
What is Django?
Django and Python
Django’s take on MVC: Model, View and Template
DRY programming: Don’t Repeat Yourself
How to get and install Django
Getting started with Django
About the 3 Core Files:
models.py
urls.py
views.py
Setting up database connections
Managing Users & the Django admin tool
Installing and using ‘out of the box’ Django features
Django URL Patterns and Views
Designing a good URL scheme
Generic Views
Debugging


What's special here?
Introduction to Linux
Basic Functions and Operations of Linux
Automate your daily life with Python

Where do we go from here?


Register Now