Fundamentals of Python

NPS, Summer 2020


Basic Data Structure

List, Tuple & Dictionary, and Loops & Conditions


  • Property of List (e.g., immutability, append,indexing,list to array). Introduced Tuple.
  • Usefulness of Dictionary (e.g., key-valu pair paradigm of NoSQL database, search by key, involvement of list in dictionary, dictionary of dictionary, I/O data with json).
  • Exploration of loops and conditions (e.g., for loop, while loop, zip, enumerate, break) and iterated over list and dictionary.
  • Implementation of loops and condition in creating Fern.

Read More Project Repo
Function & Class

Object Oriented Programming


  • Demonstration of data encapsulation and functionality in python object created by python class.
  • Implementation of data and function interaction with sample classes (e.g., Math, Circle, Newton).
  • Implementation of function and class to create (1) electric potential of lattice of charges (2) random walk in 1D and 2D (3) diffusion in 2D.

Read More Project Repo
Numpy

Array, Grid, Algebra & Statistics


  • Exploration of random array,heatmap of array, extraction of subarray and array manupulation (e.g.,reshaping, flattening, concatenation, row sum, column sum).
  • Implementation of arange and meshgrid techniques for creating contour and 3D plots.
  • Exploration of basic functionalities in Algebra (e.g., vector and matrix manipulation), statistics (e.g.,central tendency, probability.

Read More Project Repo
Pandas

Dataframe, Indexing, Groupby & Lambda functions


  • Introduction of Dataframe in Pandas and basic data visualization.
  • Exploration of the data iteration and indexing in pandas (e.g.,iterrows, loc, iloc)
  • Performing data exploration with different plottings (e.g., histogram, pairplot, barplot,factorplot,countplot,jointplot).
  • Implementation of groupby and lambda function methods to wrangling data in Dataframe.
  • Read More Project Repo
Scientific Computing

Numerical Methods, Special Functions, Optimization & Simulation


  • Introduction to numerical methods in Python with Scipy package (e.g., Integration, differential equations).
  • Exploration of Special Functions and visualized them.
  • Exploration of Optimization (e.g., Gradient descent, Newton's Conjugate Gradient Method).
  • Performing Monte Carlo Simulation of lattice system in Condensed Matter Physics (e.g., Ising Model).

Read More Project Repo