This is a basic Python programming course that is provided to 2nd year B. Tech students studying Electrical Engineering at Indian Institute of Technology Madras (IIT-M).
This course covered the Fundamental of python like:
- Its datatypes(int, float, string, ...)
- List comprehension and decorators
- File handling
- Error handling in python
- Using various libraries like numpy, math, and scipy.
The following is the overview of the concepts that I implemented in Python :
- Solving a (10 x 10) linear equation using matrices and Gaussian elimination.
- Solving a given SPICE netlist using Modified Nodal Analysis (MNA).
- Visualizing data using Least Square Curve fitting. Using curve_fit for non-linear curves.
- Solving Combinational Circuits netlist using Directed Acyclic Graph (DAG), and Topological ordered evaluation and Event-driven evaluation.
- Animation : Morphing a triangle to an octagon (or any sided polygon) and back to triangle, using mapping.
- Finding the Optimum point of a single and multi-variable function using Gradient descent and Simulated Annealing.
- Solving the Travelling salesman problem for 10 cities, and 100 cities using Simulated Annealing.
- Using Cython to improve speed of solving SPICE netlist using MNA.
The implementation of all the above concepts is covered in the 8 Assignements.