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 a decade and half. He’s now building a data science platform, rorodata, which he recently co-founded. He regularly conducts advanced programming courses through Pipal Academy. He is co-author of web.py, a micro web framework in Python. He has worked at Strand Life Sciences and Internet Archive.
Noufal Ibrahim is the founder of Hamon Technologies, a services firm based in Kozhikode that specialises in infrastructure, automation and analytics solutions. He has more than ten years of experience in architecting, building and automating software systems. He also runs Lycaeum, a platform to mentor young engineers. He is the founder of PyCon India and the chair of the first two editions of the conference. He has worked at Cisco, Synopsis and Internet Archive.
Vikrant has over 12 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.