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

Python

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.

Syllabus

For the complete syllabus, click here.

Office Hours

or by appointment.

Contents

Day 1: Importance of Python, Getting Python

Core

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.

Extension

Exercises

Day 2: Types, Statements, Variables

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

Core

Exercises

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.

Presentations

Day 3: Control flow: Alternative Statement

Core

  • 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

      Finis