Elephanta Caves, Mumbai, Maharashtra, India Elephanta Caves, Mumbai, Maharashtra, India Elephanta Caves, Mumbai, Maharashtra, India


This is an inverted class, given in conjunction with similar classes at Saint Xavier College (autonomous) in Ahmedabad, Gujarat, India, and Xavier Institute of Engineering in Mumbai, Maharashtra, India.


For the complete syllabus, click here.

Office Hours

or by appointment.


Day 1: Importance of Python, Getting Python


We learn how to install and interact with Python. We start our forray into Python syntax with understanding simple arithmetic expressions involving numbers and strings. In the additional Extension section, we look at the representation of numbers to understand the role of arbitrary length integers in Python and numerical errors for floating point numbers in Python.



Day 2: Types, Statements, Variables

Today we learn our first 'useful' program, a converter program.



Week 1 Resumen and Laboratory

First try out your prowess by solving the problems [click here for lab.pdf]. You can follow the presentations or you can access directly the solutions to compare.


Day 3: Control flow: Alternative Statement


  • Conditional Statements: [conditional.pdf] [conditional.mp4]
  • If statements: [If Statements.pdf] [If Statements.mp4] [if1.py]
  • Comparisons: __[comparisons.pdf]__ __[comparisons.mp4]__
  • If Else: [ifelse.pdf] [ifelse.mp4]
  • Choices: [choices.pdf] [choices.mp4] [menu.py]
  • Repetition: [If Statements.pdf] [If Statements.mp4]
  • Extension: Algorithms

    Day 4: For Loops

    Week 2 Laboratory

    Solved Exercises


    Day 5: While Loops

    Day 6: Functions

    Week 3 Laboratory

    Solved Exercises


    Day 7: More on Functions

    Day 8: Lists

    Week 4 Exercises

    Day 9: Strings

    Day 10: Interacting with Files

    Week 5 Laboratory

    Day 11: String Formatting

    Day 12: Important Modules

    Week 6 Laboratory

    Day 13: Dictionaries

    Day 14: Tuples, sets, and frozen sets

    Day 15: Comprehension

    Week 7 Laboratory: Breaking Classical Encryptions

    Day 16: Recursion

    Week 8 Laboratory

    Day 17: Exceptions

    Day 18: Classes

    Week 9 Laboratory

    • The rational class
    • The address class
    • The name class

    Day 19: Classes 2

    Day 20: Application: Decision trees in Machine Learning

    • Python iterators and generators
    • The final clause
    • Building a decision tree on the Iris data set
    • Week 10 Laboratory

      • Penguins

      Day 21: Databases / Networking with Python

      • Installing MySQL
      • SQL basics
      • Using SQL from Python
      • Networking with Sockets
      • Python Sockets

      Day 22: Webscraping with Python

      Week 11 Laboratory

      Day 23: GUI with Python's Tkinter

      Day 24: GUI with Python's Tkinter 2

      Week 12 Laboratory

      • Lunar Lander
      • Challenge Project: Robots

      Day 25: Numpy

      Day 26: Numpy 2

      Day 27: Scipy

      Day 28: Matplotlib

      Day 29: Pandas

      Day 30: Scipy Statistics