Skip to content

gphanikumar/MM2090

Repository files navigation

Introduction to Scientific Computing

A course for first year students at IIT Madras.

Browse the folder for notes, presentations, example scripts and notebooks to help you learn the basic concepts behind scientific computing. If you wish to contribute by editing or adding content, please feel free to drop pull request.

Look at the resources page for useful links.

Videos recorded for the course on System Commands as part of Online BSc in Programming and Data Science are linked here.

This repository contains sessions on the following sections:

Ubuntu Linux commands

You can download the file RollList.csv and use it for the examples given below.

Shell scripts

Python using Jupyter Notebook

  • Session-14 Introduction to python using Jupyter notebook interface

Some of the notebooks may not render soon enough, try reloading if you want to see the notebook right on this site. You can click on the icon "raw" and save the notebook to your desktop and use.

  • python-1 Using python as a calculator
  • python-2 collections in python: list, tuple, dict, set
  • python-3 loops, functions, maps, simple plots
  • python-4 copies and pointers
  • python-5 2D visualization of data
  • python-6 Arrays from numpy, fitting polynomials and user defined functions to data
  • python-7 Binning of large arrays, Parametric plots, Linear Algebra, Array representation in memory and its role on speed of computation
  • python-8 Working on csv file from the cloud
  • python-9 Saving the modified dataframe to a csv on google drive

SageMath using Jupyter Notebook

Github may have limited rendering of these notebooks. You can click on the icon on top-right to view the notebook externally in nbviewer. If github does not render the notebook, try reloading. Alternatively download the raw file to your desktop and run it locally.

  • sage-1 Introduction to symbolic computation using sage expressions
  • sage-2 Manipulation of symbolic expressions
  • sage-3 Symbolic differentiation
  • sage-4 Symbolic integration
  • sage-5 Using LaTeX to render symbols and functions
  • sage-6a Integers in sage
  • sage-6b Real Numbers in sage
  • sage-6c Rational Numbers in sage
  • sage-6d Complex Numbers in sage

Introduction to document preparation using LaTeX

  • latex-1 Getting access to LaTeX typesetting environment
  • latex bundle A sample latex bundle is provided for you to get started
  • latex-2 Getting your content right

Working with Git

  • git-tut Tutorials to help with git

Programming in Octave

Parallel Computing

  • Message Passing Interface (MPI) library

Examples and solutions

Look at the contributions by top performing students of this course abhigyan, archish and Raghvani Dhaval for examples and solutions that could help you learn more about the concepts of this course.

Further learning

  • You should explore further and have fun learning.

-Gandham Phanikumar