Core Python Programming - Weekend modular training program

Course Outline

Course Objectives Participants attending this training program will learn the following:
  • Basic concepts of scripting and programming.
  • Python syntaxes and semantics
  • Problem-solving methods using Python
  • Core features of Python language
  • Real-world scripting and automation using Python
  • Object Oriented Programming concepts and paradigms using Python
  • Duck-typing using Python, and a couple of design patterns
  • Using Python standard libraries

Recommended Duration
Total duration 40 hours
Total number of modules 8 modules
Duration per module 5 hours
Number of modules per weekend 1 module
Approximate time-span 2 months
Target Audience
  • Fresher software engineers and IT professionals.
  • Computer Science/Software Engineering/IT students.
  • People from non-IT background willing to learning programming.
Pre-requisites
  • Participants should be confortable with the following technologies:
    • Basic computing concepts.
    • Willingness to work on Linux platform.
Training
  • The Training program will be demonstration oriented.
  • Most of the concepts will be taught by demonstrating code and the participants can practice the same.
  • This training program is modular. Each module aims to be self-contained and independent on it own covering one concept. Participants can pick and choose modules that they are interested to attend and learn.

To nominate yourself to this training program, kindly send an e-mail to contact@slashprog.com

Lab requirements
  • Participants are free to carry their own laptop for practice session (as our lab facility is limited to just 5 laptops for now). The laptops/computers must have the following software installed:
    • Any latest Linux distribution (Fedora 14+ or Ubuntu 10.10+ recommended).
    • A good programmer's editor (e.g. Vim/Emacs) installed.

Course Coverage

Week Description
Week 1 Introduction to Python Programming Language
  • Getting Started
  • Features and Benefits
  • Invoking Python interpreter
  • Python development tools
  • Numbers and Expressions
  • Variables and Statements
  • Python syntax and semantics
  • Handling user input, printing and
    basic introspection using type() and dir() functions

Week 2 Control Flow statements
  • Using if statement
  • Using for statement
  • The range() and xrange() functions
  • Using the while statement
  • Using break, continue and pass statements
  • Using the else clause
  • Handling exceptions using try..except block
Week 3 Python types and data structures
  • Working with Numbers
  • Using Boolean and None type
  • Working with Strings
  • Working with Tuples and Lists
  • Working with Sets and Dictionaries
  • Using the del statement
Week 4 Functions and Modules
  • Defining functions
  • Function arguments and polymorphism
  • Creating custom python modules
  • Using standard python modules
  • Using sys, os, os.path and random modules
Week 5 Errors and Exceptions
  • Syntax Errors Vs. Runtime Errors
  • Handling Exceptions
  • Raising Exceptions
  • User-Defined Exceptions
  • Standard pre-defined exceptions
Week 6 Classes and Objects
  • Introduction to OO paradigm
  • Defining Classes
  • Instantiating classes
  • Magic methods
  • Inheritance and Polymorphism
  • Dynamic Types and Duck Typing
  • Iterators and Generators
Week 7 String manipulation and Text processing
  • String manipulation functions
  • Introduction to regular expressions
  • Regexp metacharacters and metasymbols
  • Character classes
  • Quantifiers and positions
  • Search and replace operations
  • Splitting and joining strings
Week 8 Real-world Python modules
  • File I/O operations
  • Building file and directory handling modules
  • Internet access libraries
  • Data compression
  • Processes and Threads
  • Logging