Computer Science and Programming

 Data Structures and Algorithms

Arrays : Popular Sorting and Searching Algorithms

Sorting and Searching

Bubble Sort Insertion Sort Selection Sort Shell Sort Merge Sort Quick Sort Heap Sort

Basic Linear and Self Referential Data Structures 

Stacks Queues Single Linked List Double Linked List Circular Linked List 

Search Trees

Binary Search Trees  Heaps Height Balanced Trees 

Graph Algorithms

Depth First Search  Breadth First Search  Minimum Spanning Trees: Kruskal Algorithm  Minumum Spanning Trees: Prim's Algorithm Dijkstra Algorithm for Shortest Paths  Floyd Warshall Algorithm for Shortest Paths Bellman Ford Algorithm 


Popular Algorithms in Dynamic Programming

Dynamic Programming Integer Knapsack problem Matrix Chain Multiplication Longest Common Subsequence 

Greedy Algorithms 

Elementary cases : Fractional Knapsack Problem, Task Scheduling - Data Compression using Huffman Trees


Commonly Asked Programming Interview Questions - from Microsoft/Google/Facebook/Amazon interviews

Programming Interview Questions with Solutions - Microsoft, Google, Facebook, Amazon

This is a set of twenty tutorials which will introduce you to Python- the basics, the applications, the built in data structures, basic text processing, data science tasks, and the principles of Object Oriented Programming. These tutorials will assume that you do know a little bit of programming in some language. You will learn with the help of simple and well documented programs and code snippets. (NOTE: Some of these tutorials have yet to be completed)

A Collection of C Programs

 C Programs - Exploring various things which can be done in C   Miscellaneous C Programs
  1. Computing the Area of a Circle in C 
  2. C Program to check for Armstrong Numbers
  3. C Program for Bezier Curves
  4. C Program implementing the Bisection Method ( Numerical Computing )
  5. C Program demonstrating the use of Bitwise Operators
  6. C Program for an Expression Evaluator
  7. C Program to demonstrate File Handling Functions
  8. C Program to demonstrate the Gaussian Elimination Method
  9. C Program to compute the GCD (HCF) of two numbers
  10. 10 C Program to solve the Josephus Problem
  11. 11 C Program to demonstrate operations on Matrices
  12. 12 C Program implementing the Newton Raphson Method (Numerical Computing)
  13. 13 C Program to check whether a string is a palindrome or not
  14. 14 C Program to print the Pascal Triangle
  15. 15 C Program to display Prime Numbers using the sieve of Eratosthenes
  16. 16 C Program for the Producer - Consumer Problem
  17. 17 C Program for the Reader - Writer Problem
  18. 18 C Program to demonstrate the Dining Philosopher problem
  19. 19 C Program to reverse the order of words in a sentence
  20. 20 C Program to reverse a string
  21. 21 C Program to demonstrate the values in the series expansion of exp(x),sin(x),cos(x),tan(x)
  22. 22 C Program to demonstrate common operations on Sets
  23. 23 C Program to solve Simultaneous Linear Equations in two variables
  24. 24 C program to display the total number of words,the number of unique words and the frequency of each word
  25. 25 C program to display the IP address
  26. 26 C program implementing the Jacobi method (Numerical Computing)

Functional Programming Principles and Techniques

 Functional Programming - A General Overview  Using the Functional Programming paradigm with a regular programming language like Ruby    

Introduction to Ruby


Programming With Ruby

 Introduction to Ruby and some playing around with the Interactive Ruby Shell (irb)

Introduction to Ruby - Conditional statements and Modifiers: If-then, Unless, Case

Introduction to Ruby Comments - Single and Multi-Line comments

Introduction to Ruby Loops - Using While, Until, For, Break, Next , Redo, Retry

Introduction to Ruby - Arrays - Sorting, Filtering (Select), Transforming, Multi-Dimensional Arrays 

Introduction to Ruby - Strings

Introduction to Ruby - Making a Script Executable

Introduction to Ruby - Regular Expressions, Match, Scan

Introduction to Ruby - Computing Factorials Recursively : An Example of Recursion

Introduction to Ruby - Binomial Coefficients (nCr) : An Example of Recursion

Introduction to Ruby - Computing a Power Set : An Example of Recursion

Introduction to Ruby - Towers of Hanoi : An Example of Recursion

 Introduction to Ruby - Strings: Substitution, Encoding, Built-In Methods

Basic Data Structures & Collections With Ruby

 Programming With Ruby

Basic Data Structures in Ruby - Insertion Sort

Basic Data Structures in Ruby - Selection Sort

Basic Data Structures in Ruby - Merge Sort

Basic Data Structures in Ruby - Quick Sort

Functional Programming with Ruby

Basic Data Structures in Ruby - Stack

Basic Data Structures in Ruby - The Queue

Basic Data Structures in Ruby - Linked List - ( A Simple, Singly Linked List)

Basic Data Structures in Ruby - Binary Search Tree

Databases - A Quick Introduction To SQL - Sample Queries demonstrating common commands

Introduction to SQL- A few sample queries - A Case Study - Coming up with a Schema for Tables -Taking a look at how the schema for a database table is defined, how different fields require to be defined. Starting with a simple "case study" on which the following SQL tutorials will be based. 

Introduction to SQL- A few sample queries : Creating Tables (CREATE) 

 Creating tables, defining the type and size of the fields that go into it.

 Introduction to SQL - A few sample queries : Making Select Queries 
 Elementary database queries - using the select statement, adding conditions and clauses to it to retrieve information stored in a database.
 Introduction to SQL - A few sample queries : Insert, Delete, Update, Drop, Truncate, Alter Operation Example of SQL commands which are commonly used to modify database tables. 

Introduction to SQL - A few sample queries: Important operators - Like, Distinct, Inequality, Union, Null, Join, Top
 Other Important SQL operators.

Introduction to SQL- A few sample queries: Aggregate Functions - Sum, Max, Min, Avg - Aggregate functions to extract numerical features about the data.


Introduction To Networking 

 Client Server Program in Python 

 A basic introduction to networking and client server programming in Python. In this, you will see the code for an expression calculator . Clients can sent expressions to a server, the server will evaluate those expressions and send the output back to the client. 

Introduction to Basic Digital Image Processing Filters

Introductory Digital Image Processing filters   Low-pass/Blurring filters, hi-pass filters and their behavior, edge detection filters in Matlab . You can take a look at how different filters transform images.
 Matlab scripts for these filters.




Co-ordinate Geometry


Linear Algebra
Linear Algebra

 Linear Algebra - Matrices Part I - A Tutorial with Examples
Linear Algerba - Matrices Part II - A Tutorial with Examples, Problems and Solutions 
Linear Algebra - Determinants - A Tutorial with Examples, Problems and Solutions
Linear Algebra - Simultaneous Equations in Multiple Variables - A Tutorial with Examples and Problems 
Basic Concepts In Linear Algebra and Vector Spaces - A Tutorial with Examples and Solved Problems
Linear Algebra - Introductory Problems Related to Vector Spaces
Linear Algebra - More about Vector Spaces 
Linear Algebra - Linear Transformations, Operators and Maps 

Linear Algebra - Eigenvalues, Eigenvectors and Cayley Hamilton Theorem
Linear Algebra - Problems Based on Simultaneous Equations, Eigenvalues, Eigenvectors
Linear Algebra - A few closing problems in Recurrence Relations 


 Introduction to Vectors - Zero Vectors, Unit Vectors, Coinitial , Collinear, Equal Vectors, Addition and Subtraction of Vectors, Scalar and Vector Multiplication 

Vectors: Introductory Problems and Examples - Related to products, properties of vectors, proving geometric properties using vectors. 

Applying Vectors to Geometric Problems - Parametric Vectorial equation of a line and Plane, 

Condition for collinearity of three points, Shortest distance between two lines, Perpendicular distance of a point from a plane or line, Angles between lines and planes

Vector Applications in 2D and 3D Geometry: Solved Problems and Examples - Shortest and Perpendicular Distances, Proving properties of Triangles, Tetrahedrons and Parallelograms using Vector methods 

Vector Differential And Integral Calculus: Theory and Definitions - Differentiation of Vectors, Introduction to Div, Curl, Grad; Vector Integral Calculus; Green’s theorem in the plane; Divergence theorem of Gauss, etc.

Vector Differential And Integral Calculus: Solved Problem Sets - Differentiation of Vectors, Div, Curl, Grad; Green’s theorem; Divergence theorem of Gauss, etc. 


Single Variable Calculus

 Continutiy and differentiability

Differentiation- Curves



 Quick and introductory definitions related to Funtions, Limits and Continuity 

Functions, Limits and Continuity - Solved Problem Set I - The Domain, Range, Plots and Graphs of Functions; L'Hospital's Rule

Functions, Limits and Continuity - Solved Problem Set II - Conditions for Continuity, More Limits, Approximations for ln (1+x) and sin x for infinitesimal values of x 

Functions, Limits and Continuity - Solved Problem Set III - Continuity and Intermediate Value Theorems 

Introductory concepts and definitions related to Differentiation - Basic formulas, Successive Differentiation, Leibnitz, Rolle and Lagrange Theorems, Maxima , Minima, Convexity, Concavity, etc

Differential Calculus - Solved Problem Set I - Common Exponential, Log , trigonometric and polynomial functions 

Differential Calculus - Solved Problem Set II - Derivability and continuity of functins - Change of Indepndent Variables - Finding N-th Derivatives -

Differential Calculus - Solved Problems Set III- Maximia, Minima, Extreme Values, Rolle's Theorem

Differential Calculus - Solved Problems Set IV - Points of Inflexion, Radius of Curvature, Curve Sketching 

Differential Calculus - Solved Problems Set V - Curve Sketching, Parametric Curves 

Introducing Integral Calculus - Definite and Indefinite Integrals - using Substitution , Integration By Parts, ILATE rule 

Integral Calculus - Solved Problems Set I - Basic examples of polynomials and trigonometric functions, area under curves

Integral Calculus - Solved Problems Set II - More integrals, functions involving trigonometric and inverse trigonometric ratios

Integral Calculus - Solved Problems Set III - Reduction Formulas, Using Partial FractionsI

Integral Calculus - Solved Problems Set IV - More of integration using partial fractions, more complex substitutions and transformations

Integral Calculus - Solved Problems Set V- Integration as a summation of a series 

Introduction to Differential Equations and Solved Problems - Set I - Order and Degree, Linear and Non-Linear Differential Equations, Homogeneous Equations, Integrating Factor

Differential Equations - Solved Problems - Set II - D operator, auxillary equation, General Solution

Differential Equations - Solved Problems - Set III - More Differential Equations 

Differential Equations - Solved Problems - Set IV 

Multiple Variable Calculus

Applied Mathematics : An Introduction to Game Theory

Applied Mathematics : An Introduction to Operations Research

Operations Research

  Introduction to Operations Research A quick introduction to Operations Research. Introducing Linear Programming, standard and canonical forms. Linear Programming geometry, feasible regions, feasible solutions, simplex method. Some basic problems.


Visual - Physics

Basic Mechanics


Engineering Mechanics

Electrostatics and Electromagnetism

 Electric Field due to two point charges - Visualization

A Galvanometer - Visualization

 Electrostatics - Part 1: Theory, definitions and problems Columb's law. Electric Field Intensity, principle of superposition, gauss theorem, electrostatic potential, electric field intensities due to common charge distributions, capacitors and calculating capacitance. Solved problems. 

Electrostatics - Part 2: More solved problems. More solved problems related to the concepts introduced above.

Electromagnetism - Part 1: Theory and Definitions Lorentz Force, Bio-Savart law, Ampere's force law, basic laws related to Magnetic fields and their applications. Magnetic field intensities due to common current distributions. Electromagnetic Induction. Self and mutual induction.

Electromagnetism - Part 2: Solved problems Solved problems related to the concepts introduced above.

Advanced concepts in Electrostatics and Electromagnetism ( Theory only )
Advanced concepts related to electrostatics and electromagnetism (theory only).


Electrical Science and Engineering

Introduction to DC Circuits

 DC Circuits

DC Circuits with Inductors

Circuit Theory 1a- Introduction to Electrical Engineering, DC Circuits, Resistance and Capacitance, Kirchoff Law

Circuit Theory 1b - More solved problems related to DC Circuits with Resistance and Capacitance- Capacitors, computing capacitance, RC Circuits, time constant of decay, computing voltage and electrostatic energy across a capacitanc

Circuit Theory 2a - Introducing Inductors

Circuit Theory 2b - Problems related to RL, LC, RLC circuits 

Circuit Theory 3a - Electrical Networks and Network Theorems 

Circuit Theory 3b - More network theorems, solved problems

Introduction to Digital Electronic Circuits and Boolean logic

 Number System

boolean algebra tutorial digital electronics

Introduction to the Number System : Part 1 

Number System : Part 2

Introduction to Boolean Algebra : Part 1

Boolean Algebra : Part 2

 Understanding Karnaugh Maps : Part 1

Karnaugh Maps : Part 2 

Introduction to Combinational Circuits : Part 1 

Infographic Insights about India

Clockwise : Fractal Geometry in Nature , Projectile Motion , A graph , An array being sorted

Prashant Bhattacharji,
Oct 15, 2012, 7:31 AM
Prashant Bhattacharji,
Oct 18, 2012, 7:20 AM
Prashant Bhattacharji,
Oct 18, 2012, 7:20 AM
Prashant Bhattacharji,
Dec 4, 2012, 11:50 PM
Prashant Bhattacharji,
Feb 17, 2014, 7:19 AM
Prashant Bhattacharji,
Jul 16, 2013, 9:04 AM
Prashant Bhattacharji,
Apr 11, 2013, 3:01 PM
Prashant Bhattacharji,
Sep 29, 2012, 2:14 AM
Prashant Bhattacharji,
Dec 31, 2016, 11:10 PM
Prashant Bhattacharji,
Jul 23, 2015, 4:14 AM
Prashant Bhattacharji,
Dec 15, 2012, 12:05 PM
Prashant Bhattacharji,
Jan 22, 2013, 11:37 AM
Prashant Bhattacharji,
Sep 13, 2012, 2:09 AM
Prashant Bhattacharji,
Sep 13, 2012, 1:02 AM
Prashant Bhattacharji,
Dec 31, 2016, 10:03 PM
Prashant Bhattacharji,
Dec 31, 2016, 11:17 PM
Prashant Bhattacharji,
Jan 23, 2013, 10:17 AM
Prashant Bhattacharji,
Jan 23, 2013, 10:51 AM
Prashant Bhattacharji,
Jan 23, 2013, 10:37 AM