Students
Tuition Fee
INR 3,540
Start Date
Medium of studying
Blended
Duration
12 weeks
Details
Program Details
Degree
Courses
Major
Computer Programming | Data Analysis | Software Development
Area of study
Information and Communication Technologies | Mathematics and Statistics
Education type
Blended
Course Language
English
Tuition Fee
Average International Tuition Fee
INR 3,540
Intakes
Program start dateApplication deadline
2025-04-28-
About Program

Program Overview


Introduction to the Python for Scientific Computing Course

The Python for Scientific Computing MOOC is designed to help learners from various backgrounds acquire the essential programming skills needed for scientific and numerical computing. This course introduces Python as a powerful tool to accomplish various tasks such as data analysis and visualization, scientific computations, etc. using popular libraries such as Matplotlib, NumPy, and SciPy. The course builds from basic Python concepts to advanced programming techniques.


Course Overview

  • Total Modules: 17
  • Labs & Activities:
    • 17 Labs
    • 36 Activities
  • Course Duration: 12 Weeks
  • Difficulty Level: Easy / Beginner
  • Mode of Conduct: Online
  • Support Sessions: Every Weekend
  • Content Breakdown:
    • 20 Hours of pre-recorded videos
    • 20 Hours of hands-on activities
    • Live Support Sessions every weekend

Who May Benefit?

This course is ideal for a wide range of learners, whether you're starting out or looking to apply Python in your domain-specific projects:


  • Students and academic researchers who want to build a solid programming foundation for scientific computing, simulations, and data analysis projects.
  • Professionals in Physics, Engineering, Finance, Life Sciences, and other technical domains looking to automate tasks, analyze complex data, or streamline research and development using Python.
  • Aspiring data scientists and ML/AI engineers who wish to sharpen their Python skills for machine learning, statistical modeling, and data visualization.
  • Anyone curious about problem-solving with Python from writing quick scripts to building real-world applications in AI, finance, and scientific research.

Meet Your Course Instructor

Prof. Prabhu Ramachandran

Professor, Department of Aerospace Engineering, IIT Bombay Prof. Prabhu Ramachandran is a faculty member in the Department of Aerospace Engineering at IIT Bombay and has served as the Head of the Computer Centre from 2022 to 2025. He is also associated with the Center for Machine Intelligence & Data Science (C-MInDS) at IIT Bombay and is an alumnus of IIT Madras. His research interests lie in Smoothed Particle Hydrodynamics (SPH), Computational Fluid Dynamics (CFD), Scientific Computing, development of high-performing open-source software to enable computation and simulation of the above. An advocate for Free and Open Source Software (FOSS), in his spare time he loves to develop free/ open-source software. He has been a nominated member of the Python Software Foundation since 2010. Prof. Ramachandran brings a wealth of experience to the course, blending academic rigor with practical insights.


Course Phases

Phase I: Enroll in the Course

  • Participants will be enrolled on the BodhiTree Platform
  • The platform hosts all course materials, including videos, slides, quizzes, and programming assignments.
  • Participants will be required to complete the learning material and submit assignments to demonstrate their understanding.

Phase II: Certification Exam (Optional)

  • Register for the exam, and make fee payments.
  • Attempt the exam at the IIT Bombay Campus
  • Candidates with a satisfactory performance will be awarded a certificate of course completion.

Syllabus

Module 1: Introduction to Course

  1. Why Python?
  2. Preliminaries
  3. Installation Guides
    1. Installing Python
    2. Tools and Platforms
    3. Installing Jupyter
    4. Installing Anaconda
    5. Installing cLab
  4. Using Anaconda
  5. Quick Reference Guide

Module 2: Plotting Fundamentals

  1. Starting up IPython
  2. Plotting Basics
  3. Advanced and Multiple Overlaid Plotting
  4. Python Scripts
    1. Writing and Saving Scripts
    2. Running Python Scripts
  5. More on Notebooks
    1. IPython Notebooks
    2. Jupyter Notebooks

Module 3: Python Lists and NumPy Arrays

  1. Plotting Points
  2. Python Lists
  3. Introduction to NumPy Arrays
  4. NumPy Array Creation

Module 4: Matrices, Matrix Operations and Their Applications

  1. Introduction to Matrices
  2. Matrix Operations using NumPy
  3. Elementary Image Processing
  4. Least Squares Fit
  5. Random Numbers

Module 5: Exploring SciPy for Scientific Computation

  1. Solving System of Equations
  2. Finding Roots
  3. Ordinary Differential Equations
  4. FFT and Elementary Signal Processing

Module 6: Python Basics

  1. Python Language Basics
  2. Operators
    1. Arithmetic Operators
    2. Logical and Relational Operators
  3. String Operations
  4. Simple I/O

Module 7: Control Flow

  1. Basic Control Flow
  2. Basic Looping
  3. Break, Continue and Pass

Module 8: Core Data Structures

  1. List
  2. Tuple
  3. Dictionary
    1. Set

Module 9: Introduction to Functions

  1. Defining a Function
  2. Default and Keyword Arguments
  3. Variable Scope

Module 10: File I/O and Modules

  1. Reading and Writing Files
  2. Introduction to Modules
  3. Running Modules

Module 11: Exceptions

  1. Introduction to Exceptions
  2. Python's Inbuilt Exceptions
  3. Raise Your Exceptions

Module 12: Advanced and Higher Order Functions

  1. Arbitrary Arguments for Functions
  2. Keyword only Arguments
  3. Functions that Return Functions!

Module 13: Statements, Expressions, Names and Objects

  1. Statements, Expressions, Names and Objects
  2. Closures

Module 14: Object Oriented Programming - Basics

  1. Introduction to OOP
  2. Inheritance
  3. Attributes
  4. More on OOP

Module 15: Object Oriented Programming - Advanced

  1. Special Methods
  2. Multiple Inheritance
  3. The MRO

Module 16: Decorators

  1. Introduction to Decorators
  2. Decorators that take Arguments

Module 17: Comprehensions - List, Dictionary and Generator Expressions

  1. List and Dictionary Comprehension
  2. Comprehension and Generator Expressions

Important Dates

  • Enrollment Starts: 25 Apr, 2025
  • Course Starts: 28 Apr, 2025
  • Exam Registration Starts: 21 May, 2025
  • Exam Registration Closes: 12 Jul, 2025
  • Course Ends: 18 Jul, 2025
  • Certificate Exam (Slot 1): 20 Jul, 2025
  • Certificate Exam (Slot 2): 27 Jul, 2025

Weekly Live Support Sessions

Live support sessions will be conducted every weekend by our TAs to help learners with their doubts and provide general guidance on Python.


  • The first support session will be open to all learners.
  • From the second session onward, live support will be available only to paid certification candidates.
  • Learners accessing the course for free can still use the discussion forum to post queries, which will be answered by the same TAs.

Course Prerequisites

Rudimentary knowledge of programming concepts.


Eligibility Criteria

  • Regular Category: Anyone interested in learning Python programming
  • Student Category: Any student currently enrolled in a recognized UG or PG Program
  • Teacher/Educator Category: Any teacher currently teaching in a recognized college

Course Timeline & Additional Info

  • Course Duration: 12 weeks of online (asynchronous) coursework followed by an optional certification exam at IIT Bombay
  • Venue (for Exam): Dept. of CSE, IIT Bombay
  • Mode of Conduct: Hybrid online coursework + live weekly sessions + offline certification exam (optional)
  • Course Fees: The course is free of cost. However, to appear for the certification exam, participants must pay a non-refundable examination fee of 3,540.
See More
How can I help you today?