Skip to content

Sujal-Burad/EE-2703---Applied-Programming-Lab

Repository files navigation

EE-2703---Applied-Programming-Lab


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.