The course is designed for professional software developers.
This course assumes that the participants already have experience with some programming language. Prior exposure to Python is not required.
This is not an introduction to programming course. Participants should already be familiar with the basic concepts of programming like variables, assignment, functions, loops, arrays etc.
Quick introduction to Python programming language, including basic data types, functions, methods, modules, conditionals and loops.
Working with Data
Introduction to Python’s powerful datastuctures including, lists and dictionaries. Also covers list comprehensions, processing text and working with files.
Introduction to Python module system, importing modules, writing custom modules, documenting code using docstrings and installing third-party modules. This section concludes with a tour of Python standard library covering modules related to file system handling, downloading stuff from web, JSON and working with APIs.
Classes and Objects
Introduction to object-oriented programming with Python. Describes how classes offer a different programming model. Covers writing classes, object creation, inheritance and exception handling.
Testing Python Programs
Introduction to automated testing using unittest and py.test modules.
The suggested duration of the course is 3 days. The duration can be extended to 4 days to cover some additional topics, if required.
This is an interactive course and it is suggested to limit the number of participants to 12 or less for it to be effective.
The class time is spent on live demonstration of concepts using examples and hands-on programming exercises. Participants typically spend about 3 hours each day solving programming exercises.
Reading material will be provided along with practice problems and references.
All the topics covered in the class will recorded as IPython notebook and shared with all the participants at the end of the each day of the training.
The class room will require a video projector and a white board.
A computer with internet connection is required for each participant. The computers must have Python 3.5 preinstalled.
Anand has been crafting beautiful software since two decades. He has strong product development experience with deep insights in system design, scalability, and developer experience. He has co-authored web.py, a micro web framework in Python, built Open Library at the Internet Archive, created a machine learning platform at Rorodata, trained hundreds of engineers through his deep-dive courses.
Vikrant has over 16 years of experience in crafting software solutions. He has worked on diverse areas like Computational Fluid Dynamics, mathematical algorithms for bioinformatics, network-based license servers etc. He has worked at Strand Life Sciences and DRDO. He has a Masters in Computational Science from Indian Institute of Science.