Faith and my lack of it

This non-issue has started to hit the headlines again.   http://www.hindustantimes.com/SC-stays-strange-Ayodhya-partition/Article1-695262.aspx  . Every nook and corner of the world has its own Jerusalem of problems. I can’t pretend to have any solutions to a complex problem like this so that isn’t what I’m going to blog about. But I do need to air my views on the general umm… “concept” of religion . You might ask me why I’d like to blog about such a touchy issue . Well look, the nice thing about Web 2.0 is that I can safely tread on a lot of people’s toes ( online ) and have nothing to fear from them because all of us on blogosphere are good at fighting, but only in bits and bytes and not really with say knives and swords and guns and I doubt even in person . The fact that sensational posts get more search engine hits doesn’t hurt my purpose either .

Back to more serious stuff. As you can figure out, I am not a religious person. I certainly believe in a general creating force (it may be divine, spiritual , physical or chemical – either ways its all beyond my understanding so it can all be safely classified as “divine” ) . I also believe in a pretty nice set of general values . Any religion certainly has a lot of nice aspects – like creating a community feeling , festivals – giving people a reason to celebrate . I kind of like the idea of karma within the same life – before its game over . And that’s about it. Short, sweet and simple. More than enough to make a good human being . I do like some of the content in religious books . But as far as God is concerned , all available representations and explanations about him seem just about as real as Mickey Mouse and Donald Duck .

And, let’s not even start talking about what is supposed to be “God’s will” which people love to talk about.  For starters it has been quite crappy most of the time .  The thing which bugs me about religion is the fact that people get a third party to transfer the blame for their ridiculous actions. Its amazing how people abdicate all responsibility for their actions because “God told them to”. Looks like a very smart bunch of people got together and created an imaginary scapegoat to justify their vilest of actions . I don’t mind people believing in a bunch of fairy tales but when their life is governed by it then we have a problem .

Now when there are too many imaginary ideas floating around, I can mathematically prove why we have a clear cut retrograde effect using someone’s Tweet which I came across recently.

##An ‘i’ for an ‘i’ makes the whole thing -1.” — Math-ma Gandhi.

Posted in Uncategorized | 2 Comments

How Google Docs improves the workplace

After using MS Office for 3.5 years, I was very very skeptical about how Google Docs could ever find its way into the workplace — with its rag – newspaper kind of look and feel , lack of polish , missing features – even basic ones like Tables  .  I really missed the variety of fonts, commands , table menus , styling …. of the Office Toolbars and Ribbon !

I must say I have really revised my opinion. Google’s Keep It Simple philosophy actually works quite well for reasons they probably never thought of. The problem with Microsoft’s productivity tools is that they are so nice, and they have so many visual features that it gives an opportunity for the bureaucrat-types in the workplace to give everyone a very skewed perception about what they are really doing at work. These are the types who wouldn’t want to get their hands dirty doing real work or writing real code , but because of their fancy emails, with well aligned tables , text with fancy formats and fonts – they send out important sounding Status Updates , meeting requests , “Agendas” and Product Planning graphs . Because one line of email improves the perceived value of an employee so much more than ten lines of invisible code,  at least in a big mega-corp with lots of faceless people . Google Docs I feel, has just enough to get your work done efficiently without people having an armament of UI tools and menus to send prettier emails and outclass you in (perceived) value . But yes , as a product in itself Office certainly has more “class” except that it now feels somewhat bloated with a whole lot of unnecessary features . On the whole, I am happy to have seen both sides of the tech ecosystem.

Posted in Uncategorized | Leave a comment

The Recession which never was

I still remember 15th September 2008 and how the media went on and on about the “next Great Depression” , way worse than the Dot Com Doom etc . The lotteries and parties which began in 2005-2006 seemed to be crashing like a pack of cards .

I clearly remember the burst of the Dot Com bubble in 2000-2001 and how it impacted job prospects for even the best of students and professionals for years to come . On the other hand , this time , more than 2 years after the nemesis predictors began waving their hands and yelling , this current so called recession doesn’t seem to have changed life at all . I think I’ve figured out what happened . Some people went around spending more than they had , using their inflated house prices as some kind of a checking account . And a few traders in the financial services went around gambling with what they didn’t have  . And now at the end of it all , life is back to normal and way better than ever before . In fact even for the people in the investment banks who lost their jobs ( and quickly found new ones ) it was probably for their own good – Nature slammed a momentary brake on capitalism and said , you guys have so much stashed up , you can probably survive the rest of your life on your last Christmas Bonus , why not take a break ? So in short “recessions” are a forced break for people to take some time off from their hectic cycle of Corporate Karma .

Check out the number of soon-to-be-lucky guys at Facebook . Nowhere near the number created by MSFT and Google ( as of now ) ; but still a very good number !

http://www.quora.com/At-a-50B-valuation-how-many-Facebook-employees-are-now-millionaires-on-paper

Posted in Uncategorized | Leave a comment

People whose occupations & roles fascinate me

Some Roles & careers which fascinate me … even though I don’t know much about them .

Not that I’d trade anything for my current state 🙂   –

1) Chess Player

2) Core Strategies at Goldman Sachs

3) Diplomat

4) Designer ( Product , Fashion , Graphic , any kind )

5) F1 Driver

Posted in Interesting occupations, Roles, Uncategorized | Leave a comment

Insider Info : “Being The Best”

The Times Of India has an article “Being The Best” – something about IIT and a meeting amongst the bureaucrats who run those institutions . I can’t help making anything but snide comments about how very “best” these institutes are . But mind you , my view is also colored by my experience in a department which had more cases of files being flung , notorious grading , students being yelled at and summer extensions being handed out like parting gifts to students after their final year.

It is unfortunate that some of our Indian newspapers have some random piece of reporting on one of the IIXs almost every day . One of the nice things which happened in our country after 1990 is that not only did the modified laws make things easier for those who wanted to run businesses – but it also invited private participation in the education sector . Recognition , affiliation and deemed university status became easier . A lot of colleges came up . Many were rotten but some turned out to be excellent [ ISB , IIIT etc. ] . Their students and pass outs are fine . The best companies are willing to recruit them .

And yes , I mean the very best companies . What matters more in the end is – how competent you are as an engineer or a student and not where you got that degree from . I know for instance , Facebook recruited about half a dozen students over the past 2 years for their HQ ( from India 0 . Only one of them is from an IIT .

It would be nice if the Times Of India occasionally covered one of the new colleges . It might give parents a better idea of the options available to their kids . It would be even nicer if newspapers made parents aware of other career options now available to their kids – creative things like marketing , advertising , design , writing and so on .

In the current situation a paranoid parent gets the impression that IIT is the only place worth going to after completing High School .  I have read in a number of places that many kids have even been enrolled for 3-4 year courses in remote places like Kota .  Can you imagine , a 13-14 year old sent away from the comforts of home to some random corner with no family or friends around him , no Internet , etc ? I used to think we had a very rigorous dose ( a decade ago )  – that used to be 1.5 to 2 years of preparation , with a training session to attend every week or 10 days or so .

If you are a reporter looking for insider information for what happens inside an IIT , the three letter word which you guys sell to paranoid parents and 16 year olds about to write their school leaving exams , just like how you sell semiclad models to everyone ; here’s a piece of insider information which you can make a spicy and gossipy article about .

IIT is a very mediocre and overrated institution with a needlessly rigid curriculum . You are bombarded with so many compulsory subjects every semester that there isn’t much time left to  do the stuff you like . Why else is it that top ranked American Universities with just 4 subjects a semester have outclassed this system in every aspect of creativity and innovation , while IIT has about 5-6 pre-decided subjects .

There is a lot of unnecessary stuff  from the eighties ( For instance , Engineering Drawing in an era when all that design stuff happens in bits and bytes ). Add to that a sixties mode of education – making students function as mindlessly as Xerox copiers and printers and are forced to blindly draw a whole lot of diagrams related to equally mindless experiments with involve no creativity or design ; where they simply stand and jot down observations like robots . I often got the feeling that to truly excel in a system that like you needed to turn off your brains more than you needed to use them .

While some professors were very good , motivating and pleasant ,  I remember a large number of them as vultures and vampires with dripping fangs waiting to feast on a caracass . Just imagine a sixteen-seventeen year old entering college and facing these people .

Rigid academic systems do not leave you with much room to explore much of your own . They make most people hate their subjects if they had any liking for them to begin with . Every time the HRD ministry seeks IIT ‘s  “expertise and opinion” in helping to develop the curriculum at upcoming Indian Universities I think of how a kind of academic cancer is being spread . The technical skills I picked up there were mostly on my own or from like minded people in my hostel wing . I did manage to get some cool courses at the end when I could pick and choose stuff  – and managed sufficient Time Table manipulation without people finding out 🙂 . But by that time a) I already knew that stuff anyway b) I had enough of the institute and had that feeling that I had way overstayed my invite there .

An immediate problem for many of us was being dumped into a branch on the basis  of the entry rank and starting GPA . I personally wouldn’t grumble about that aspect since I managed to sign up for pretty much all the courses I was interested in . Also , in hindsight , if your life is such that you end up in front of the computer for a career , it is possibly nice to check out something else in college .  Plus , I can understand the logic why allocation needs to be done , otherwise all but 2-3 of the departments in the institute would shut down . However , in that case it is very essential not to force a student to opt for a branch . It is necessary to have some kind of a general course where one could take 4-5 courses from three or four different areas . Also , most importantly , regardless of the branch , apart from 6-7 compulsory subjects a student should be able to decide the rest on his own . But who in the administration would really care .

While IIT might not be any good as a factory its stamp is pretty good ( in India ) – like a kind of ISO 9001 certification of pre-processed polished diamonds many of which are rendered useless in the stamping process due to high combustion at every stage . Everytime I hear someone refer to IIT as the “best four years” of life , I feel we are on an entirely different page and feel sorry that their lives haven’t had anything more interesting to offer them .

Posted in Uncategorized | 7 Comments

2000-2010

December 2010 – I am sitting in the same room where I spent most of December 2000 . Ten years ago this was my study – and – surf room . Today it is my code – and – surf room . If there is one major transformation which occurred in my life in this period its the fact that the Keyboard wiped out the pen as the mightiest instrument or weapon in my arsenal .

Ten years ago I was a Class 12 student , preparing for the Entrance exam and the Board examination .  I had discovered the computer and the Internet as well . What was I aiming for – ten years ago ? And at this point of time does reality ( ie my current state ) have any kind of similarity with any of that ?  What I aimed for and what I managed :

Get into IIT as a seventeen year old and not some old man giving the test for the n-th time . (Done – but I still managed to waste a year 😛 )

Make sure to get into the CSE department and nothing else . What are the other subjects at IIT ? ( Lets not get into the details of gruesome ordeals in life . )

Learn something about graphics and animation ( done )

Go to the gym and bulk up.  ( LOL )

Read a lot of books and magazines ( never happened –  do blogs count ? )

Solve a lot of puzzles ( Well if coding counts ,  I still give a positive push to India’s rating at Topcoder.com in the NP – Hard Marathon matches )

Move to the US .  ( A short and sweet stay  )

Study further and go into purely theoretical or mathematical research ; do a PhD .  ( This slipped off the radar altogether .  )

Work at Microsoft or somewhere in the Silicon Valley .  ( So the ticket to Redmond WA was already booked .)

Drive around in a fancy car . ( Done . So I can now get back to my bicycle . )

Learn to roller – blade . ( Very very amateur-ish levels only )

Learn to fly RC Aircraft ( Managed to destroy one on its very first take off . )

Fly a kite . ( Very similar to the RC plane )

Build a snowman ( Done . )

Settle down in a nice big company . ( Thank God I didn’t do this to myself  . )

Meet that someone special . ( Still hopeful )

Travel a lot . Within India and outside as well.   ( Okay , I’ve seen a fair bit of the world . )

Change the world and fix all its problems like disease , illiteracy etc. ( Current status : Failing miserably . )

Discover what makes me happy , content . ( I’ll think about this later . Let me get back to work now .)

Become a millionaire well before thirty . ( I am still dreaming of this one . )

 

 

 

 

 

 

 

Posted in Uncategorized | 2 Comments

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

Mathematics 

Algebra

 Introduction to Complex Numbers  Introduction to Complex Numbers and iota. Argand plane and iota. Complex numbers as free vectors. N-th roots of a complex number. Notes, formulas and solved problems related to these sub-topics.
 The Principle of Mathematical Induction  Introductory problems related to Mathematical Induction.
 Quadratic Equations  Introducing various techniques by which quadratic equations can be solved – factorization, direct formula. Relationship between roots of a quadratic equation.  Cubic and higher order equations – relationship between roots and coefficients for these. Graphs and plots of quadratic equations.
 Quadratic Inequalities  Quadratic inequalities. Using factorization and visualization based methods.
 Series and Progressions  Arithmetic, Geometric, Harmonic and mixed progressions. Notes, formulas and solved problems. Sum of the first N terms. Arithmetic, Geometric and Harmonic means and the relationship between them.

Linear Algebra


 Introduction to Matrices – Part I   Introduction to Matrices. Theory, definitions. What a Matrix is, order of a matrix, equality of matrices, different kind of matrices: row matrix, column matrix, square matrix, diagonal, identity and triangular  matrices. Definitions of Trace, Minor, Cofactors, Adjoint, Inverse, Transpose of a matrix. Addition, subtraction, scalar multiplication, multiplication of matrices. Defining special types of matrices like Symmetric, Skew Symmetric, Idempotent, Involuntary, Nil-potent, Singular, Non-Singular, Unitary matrices.
 Introduction to Matrices – Part II  Problems and solved examples based on the sub-topics mentioned above. Some of the problems in this part demonstrate finding the rank, inverse or characteristic equations of matrices. Representing real life problems in matrix form. 
 Determinants  Introduction to determinants. Second and third order determinants, minors and co-factors. Properties of determinants and how it remains altered or unaltered based on simple transformations is matrices. Expanding the determinant. Solved problems related to determinants. 
 Simultaneous linear equations in multiple variables   Representing a system of linear equations in multiple variables in matrix form. Using determinants to solve these systems of equations. Meaning of consistent, homogeneous and non-homogeneous systems of equations. Theorems relating to consistency of systems of equations. Application of Cramer rule. Solved problems demonstrating how to solve linear equations using matrix and determinant related methods. 
 Basic concepts in Linear Algebra and Vector spaces Theory and definitions. Closure, commutative, associative, distributive laws. Defining Vector space, subspaces, linear dependence, dimension and bias. A few introductory problems proving certain sets to be vector spaces. 
 Introductory problems related to Vector Spaces  Problems demonstrating the concepts introduced in the previous tutorial. Checking or proving something to be a sub-space, demonstrating that something is not a sub-space of something else, verifying linear independence; problems relating to dimension and basis; inverting matrices and echelon matrices. 
 More concepts related to Vector Spaces   Defining and explaining the norm of a vector, inner product, Graham-Schmidt process, co-ordinate vectors, linear transformation and its kernel. Introductory problems related to these. 
 Problems related to linear transformation, linear maps and operators  Solved examples and problems related to linear transformation, linear maps and operators and other concepts discussed theoretically in the previous tutorial. 
 Definitions of Rank, Eigen Values, Eigen Vectors, Cayley Hamilton Theorem   Eigenvalues, eigenvectors, Cayley Hamilton Theorem
 More Problems related to Simultaneous Equations; problems related to eigenvalues and eigenvectors    Demonstrating the Crammer rule, using eigenvalue methods to solve vector space problems, verifying Cayley Hamilton Theorem, advanced problems related to systems of equations. Solving a system of differential equations . 
 A few closing problems in Linear Algebra  Solving a recurrence relation, some more of system of equations.


Vectors

 Vectors 1a ( Theory and Definitions: Introduction to Vectors; Vector, Scalar and Triple Products) Introducing a vector, position vectors, direction cosines, different types of vectors, addition and subtraction of vectors. Vector and Scalar products. Scalar Triple product and Vector triple product and their properties. Components and projections of vectors.
 Vectors 1b ( Solved Problem Sets: Introduction to Vectors; Vector, Scalar and Triple Products ) Solved examples and problem sets based on the above concepts.
 Vectors 2a ( Theory and Definitions: Vectors and Geometry ) Vectors and geometry. Parametric vectorial equations of lines and planes. Angles between lines and planes. Co-planar and collinear points. Cartesian equations for lines and planes in 3D. 
 Vectors 2b ( Solved Problem Sets: Vectors and Geometry )  Solved examples and problem sets based on the above concepts.
 Vectors 3a ( Theory and Definitions: Vector Differential and Integral Calculus ) Vector Differential Calculus. Derivative, curves, tangential vectors, vector functions, gradient, directional derivative, divergence and curl of a vector function; important formulas related to div, curl and grad. Vector Integral Calculus. Line integral, independence of path, Green’s theorem, divergence theorem of Gauss, green’s formulas, Stoke’s theorems.
 Vectors 3b ( Solved Problem Sets: Vector Differential and Integral Calculus )   Solved examples and problem sets based on the above concepts.



Trigonometry

 Trigonometry 1a ( Introduction to Trigonometry – Definitions, Formulas )  Introducing trigonometric ratios, plots of trigonometric functions, compound angle formulas. Domains and ranges of trigonometric functions, monotonicity of trigonometric functions quadrant wise. Formulas for double and triple angle ratios. 
 Trigonometry 1b ( Tutorial with solved problems based on Trigonometric ratios )  Problems based on the concepts introduced above. 
 Trigonometry 2a ( Basic concepts related to Heights and Distances )  Applying trigonometry to problems involving heights and distances. Angles of elevation and depression. Sine and Cosine rule, half angle formulas. Circumradius, inradius and escribed radius. Circumcentre, incentre, centroid and median of a triangle. 
 Trigonometry 2b ( Tutorial with solved problems related to Heights and Distances and other applications of Trigonometry )   Problems based on the concepts introduced above.
 Trigonometry 3a ( Introducing Inverse Trigonometric Ratios)   Inverse trigonometric ratios – their domains, ranges and plots. 
 Trigonometry 3b ( Tutorial with solved problems related to inverse trigonometric ratios )   Problems related to inverse trigonometric ratios. 
 Trigonometry 4 ( A tutorial on solving trigonometric equations )   Solving trigonometric equations. Methods and transformations frequently used in solving such equations.



Single Variable Calculus


 Quick and introductory definitions related to Funtions, Limits and Continuity  Defining the domain and range of a function, the meaning of continuity, limits, left and right hand limits, properties of limits and the “lim” operator; some common limits;  defining the L’Hospital rule, intermediate and extreme value theorems. 
 Functions, Limits and Continuity – Solved Problem Set I  Solved problems demonstrating how to compute the domain and range of functions, drawing the graphs of functions, the mod function, deciding if a function is invertible or not; calculating limits for some elementary examples, solving 0/0 forms, applying L’Hospital rule. 
 Functions, Limits and Continuity – Solved Problem Set II  More advanced cases of evaluating limits, conditions for continuity of functions, common approximations used while evaluating limits for ln ( 1 + x ), sin (x); continuity related problems for more advanced functions than the ones in the first group of problems (in the last tutorial). 
 Functions, Limits and Continuity – Solved Problem Set III  Problems related to Continuity, intermediate value theorem.
 Introductory concepts and definitions related to Differentiation   Theory and definitions introducing differentiability, basic differentiation formulas of common algebraic and trigonometric functions , successive differentiation, Leibnitz Theorem, Rolle’s Theorem,  Lagrange’s Mean Value Theorem, Increasing and decreasing functions, Maxima and Minima; Concavity, convexity and inflexion, implicit differentiation.
 Differential Calculus – Solved Problem Set I  Examples and solved problems – differentiation of common algebraic, exponential, logarithmic, trigonometric and polynomial functions and terms; problems related to differentiability .
 Differential Calculus – Solved Problem Set II  Examples and solved problems – related to derivability and continuity of functions; changing the independent variable in a differential equation; finding the N-th derivative of functions
 Differential Calculus – Solved Problems Set III  Examples and solved problems – related to increasing and decreasing functions; maxima, minima and extreme values; Rolle’s Theorem
 Differential Calculus – Solved Problems Set IV  Examples and solved problems – Slope of tangents to a curve, points of inflexion, convexity and concavity of curves, radius of curvature and asymptotes of curves, sketching curves
 Differential Calculus – Solved Problems Set V  More examples of investigating and sketching curves, parametric representation of curves
 Introducing Integral Calculus   Theory and definitions. What integration means, the integral and the integrand. Indefinite integrals, integrals of common functions.  Definite integration and properties of definite integrals; Integration by  substitution, integration by parts, the LIATE rule, Integral as the limit of a sum. Important forms encountered in integration.
 Integral Calculus – Solved Problems Set I  Examples and solved problems – elementary examples of integration involving trigonometric functions, polynomials; integration by parts; area under curves.
 Integral Calculus – Solved Problems Set II  Examples and solved problems – integration by substitution, definite integrals, integration involving trigonometric and inverse trigonometric ratios.
 Integral Calculus – Solved Problems Set III  Examples and solved problems – Reduction formulas, reducing the integrand to partial fractions, more of definite integrals
 Integral Calculus – Solved Problems Set IV  Examples and solved problems – More of integrals involving partial fractions, more complex substitutions and transformations
 Integral Calculus – Solved Problems Set V  Examples and solved problems – More complex examples of integration, examples of integration as the limit of a summation of a series
 Introduction to Differential Equations and Solved Problems – Set I  Theory and definitions. What a differential equation is; ordinary and partial differential equations; order and degree of a differential equation; linear and non linear differential equations; General, particular and singular solutions; Initial and boundary value problems; Linear independence and dependence; Homogeneous equations; First order differential equations; Characteristic and auxiliary equations. Introductory problems demonstrating these concepts. Introducing the concept of Integrating Factor (IF).
 Differential Equations – Solved Problems – Set II  Examples and solved problems – Solving linear differential equations, the D operator, auxiliary equations. Finding the general solution ( CF + PI )
 Differential Equations – Solved Problems – Set III  More complex cases of differential equations.
 Differential Equations – Solved Problems – Set IV  Still more differential equations.

Applied Mathematics : An Introduction to 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.

Physics

Electrostatics and Electromagnetism

 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).

Computer Science and Programming

 Data Structures and Algorithms


Arrays : Popular Sorting and Searching Algorithms

 

Bubble Sort   One of the most elementary sorting algorithms to implement – and also very inefficient. Runs in quadratic time. A good starting point to understand sorting in general, before moving on to more advanced techniques and algorithms. A general idea of how the algorithm works and a the code for a C program.

Insertion Sort

Another quadratic time sorting algorithm – an example of dynamic programming. An explanation and step through of how the algorithm works, as well as the source code for a C program which performs insertion sort.

Selection Sort

Another quadratic time sorting algorithm – an example of a greedy algorithm. An explanation and step through of how the algorithm works, as well as the source code for a C program which performs selection sort.

 Shell Sort

An inefficient but interesting algorithm, the complexity of which is not exactly known.

Merge Sort 

An example of a Divide and Conquer algorithm. Works in O(n log n) time. The memory complexity for this is a bit of a disadvantage.

Quick Sort

In the average case, this works in O(n log n) time. No additional memory overhead – so this is better than merge sort in this regard. A partition element is selected, the array is restructured such that all elements greater or less than the partition are on opposite sides of the partition. These two parts of the array are then sorted recursively.

Heap Sort

 Efficient sorting algorithm which runs in O(n log n) time. Uses the Heap data structure. 

Binary Search Algorithm

 Commonly used algorithm used to find the position of an element in a sorted array. Runs in O(log n) time. 

 Basic Data Structures
and Operations on them

 

Stacks

 Last In First Out data structures ( LIFO ). Like a stack of cards from which you pick up the one on the top ( which is the last one to be placed on top of the stack ). Documentation of the various operations and the stages a stack passes through when elements are inserted or deleted. C program to help you get an idea of how a stack is implemented in code.

Queues

 First in First Out data structure (FIFO). Like people waiting to buy tickets in a queue – the first one to stand in the queue, gets the ticket first and gets to leave the queue first. Documentation of the various operations and the stages a queue passes through as elements are inserted or deleted. C Program source code to help you get an idea of how a queue is implemented in code.

 Single Linked List

 A self referential data structure. A list of elements, with a head and a tail; each element points to another of its own kind.

 Double Linked List

 A self referential data structure. A list of elements, with a head and a tail; each element points to another of its own kind in front of it, as well as another of its own kind, which happens to be behind it in the sequence.

 Circular Linked List

 Linked list with no head and tail – elements point to each other in a circular fashion.

 Tree Data Structures  
 Binary Search Trees  A basic form of tree data structures. Inserting and deleting elements in them. Different kind of binary tree traversal algorithms.
 Heaps   A tree like data structure where every element is lesser (or greater) than the one above it. Heap formation, sorting using heaps in O(n log n) time.
 Height Balanced Trees  Ensuring that trees remain balanced to optimize complexity of operations which are performed on them.
 Graphs and Graph Algorithms 
 Depth First Search   Traversing through a graph using Depth First Search in which unvisited neighbors of the current vertex are pushed into a stack and visited in that order.
 Breadth First Search   Traversing through a graph using Breadth First Search in which unvisited neighbors of the current vertex are pushed into a queue and then visited in that order.
 Minimum Spanning Trees: Kruskal Algorithm  Finding the Minimum Spanning Tree using the Kruskal Algorithm which is a greedy technique. Introducing the concept of Union Find.
 Minumum Spanning Trees: Prim’s Algorithm  Finding the Minimum Spanning Tree using the Prim’s Algorithm.
 Dijkstra Algorithm for Shortest Paths  Popular algorithm for finding shortest paths : Dijkstra Algorithm.
 Floyd Warshall Algorithm for Shortest Paths  All the all shortest path algorithm: Floyd Warshall Algorithm
 Bellman Ford Algorithm   Another common shortest path algorithm : Bellman Ford Algorithm.
 Dynamic Programming   A technique used to solve optimization problems, based on identifying and solving sub-parts of a problem first.
 Integer Knapsack problem  An elementary problem, often used to introduce the concept of dynamic programming.
 Matrix Chain Multiplication  Given a long chain of matrices of various sizes, how do you parenthesize them for the purpose of multiplication – how do you chose which ones to start multiplying first?
 Longest Common Subsequence
 Given two strings, find the longest common sub sequence between them.
 Dynamic Programming Algorithms covered previously:
Insertion Sort, Floyd Warshall Algorithm
 Algorithms which we already covered, which are example of dynamic programming.
 Greedy Algorithms  A programming technique, often used in optimization type problems, which is based on taking a “greedy” approach and making the locally optimal decision at each stage.
 Elementary cases : Fractional Knapsack Problem, Task Scheduling  Elementary problems in Greedy algorithms – Fractional Knapsack, Task Scheduling. Along with C Program source code.
 Data Compression using Huffman Trees  Compression using Huffman Trees. A greedy technique for encoding information.


Databases – A Quick Introduction To SQL

Introduction to SQL: 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: Creating Tables (CREATE)

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

 Introduction to SQL: 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: Insert, Delete, Update, Drop, Truncate, Alter Operation

 Example of SQL commands which are commonly used to modify database tables. 

 Introduction to SQL: Important operators – Like, Distinct, Inequality, Union, Null, Join, Top

 Other Important SQL operators. 

 Introduction to SQL: 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.

Electrical Science and Engineering


Introduction to Circuits

 Circuit Theory 1a – Introduction to Electrical Engineering, DC Circuits, Resistance and Capacitance, Kirchoff Law
 Resistors, Capacitors, problems related to these. 
 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 capacitance
 Circuit Theory 2a – Introducing Inductors   Inductors, inductance, computing self-inductance, flux-linkages, computing energy stored as a magnetic field in a coil,  mutual inductance, dot convention,
introduction to RL Circuits and decay of an inductor. 
 Circuit Theory 2b – Problems related to RL, LC, RLC circuits   Introducing the concept of oscillations. Solving problems related to RL, LC and RLC circuits using calculus based techniques.
 Circuit Theory 3a – Electrical Networks and Network Theorems   Different kind of network elements: Active and passive, linear and non-linear, lumped and distributed. Voltage and current sources. Superposition theorem, Thevenin (or Helmholtz) theorem and problems based on these.
 Circuit Theory 3b – More network theorems, solved problems
 
 More solved problems and examples related to electrical networks. Star and Delta network transformations, maximum power transfer theorem, Compensation theorem and Tellegen’s Theorem and examples related to these. 

Introduction to Digital Electronic Circuits and Boolean logic

 Introduction to the Number System : Part 1   Introducing number systems. Representation of numbers in Decimal, Binary,Octal and Hexadecimal forms. Conversion from one form to the other.
 Number System : Part 2   Binary addition, subtraction and multiplication. Booth’s multiplication algorithm. Unsigned and signed numbers. 
 Introduction to Boolean Algebra : Part 1   Binary logic: True and false. Logical operators like OR, NOT, AND. Constructing truth tables. Basic postulates of Boolean Algebra. Logical addition, multiplication and complement rules. Principles of duality.  Basic theorems of boolean algebra: idempotence, involution, complementary, commutative, associative, distributive and absorption laws. 
 Boolean Algebra : Part 2

 De-morgan’s laws. Logic gates. 2 input and 3 input gates. XOR, XNOR gates. Universality of NAND and NOR gates. Realization of Boolean expressions using NAND and NOR. Replacing gates in a boolean circuit with NAND and NOR. 
 Understanding Karnaugh Maps : Part 1

 Introducing Karnaugh Maps. Min-terms and Max-terms. Canonical expressions. Sum of products and product of sums forms. Shorthand notations. Expanding expressions in SOP and POS Forms ( Sum of products and Product of sums ). Minimizing boolean expressions via Algebraic methods or map based reduction techniques. Pair, quad and octet in the context of Karnaugh Maps. 
 Karnaugh Maps : Part 2   Map rolling. Overlapping and redundant groups. Examples of reducing expressions via K-Map techniques. 
 Introduction to Combinational Circuits : Part 1

 Combinational circuits: for which logic is entirely dependent of inputs and nothing else. Introduction to Multiplexers, De-multiplexers, encoders and decoders.Memories: RAM and ROM.  Different kinds of ROM – Masked ROM, programmable ROM. 
 Combinational Circuits : Part 2   Static and Dynamic RAM, Memory organization.
 Introduction to Sequential Circuits : Part 1   Introduction to Sequential circuits. Different kinds of Flip Flops. RS, D, T, JK. Structure of flip flops. Switching example. Counters and Timers. Ripple and Synchronous Counters. 
 Sequential Circuits : Part 2
 ADC or DAC Converters and conversion processes. Flash Converters, ramp generators. Successive approximation and quantization errors. 

 

Our Index of Tutorials for all the topics

Mathematics 

Algebra

 
 Introduction to Complex Numbers
Introduction to Complex Numbers and iota. Arg-and plane and iota. Complex numbers as free vectors. N-th roots of a complex number. Notes, formulas and solved problems related to these sub-topics.

Series and Progressions
Arithmetic, Geometric, Harmonic and mixed progressions. Notes, formulas and solved problems. Sum of the first N terms. Arithmetic, Geometric and Harmonic means and the relationship between them.

The Principle of Mathematical Induction
Introductory problems related to Mathematical Induction.

Quadratic Equations
Introducing various techniques by which quadratic equations can be solved – factorization, direct formula. Relationship between roots of a quadratic equation.  Cubic and higher order equations – relationship between roots and coefficients for these. Graphs and plots of quadratic equations.

Quadratic Inequalities
 Quadratic inequalities. Using factorization and visualization based methods.

Geometry

Co-ordinate Geometry

Probability


Linear Algebra
Linear Algebra  Linear Algebra – Matrices Part I – A Tutorial with Examples Introduction to Matrices. Theory, definitions. What a Matrix is, order of a matrix, equality of matrices, different kind of matrices: row matrix, column matrix, square matrix, diagonal, identity and triangular matrices. Definitions of Trace, Minor, Cofactors, Adjoint, Inverse, Transpose of a matrix. Addition, subtraction, scalar multiplication, multiplication of matrices. Defining special types of matrices like Symmetric, Skew Symmetric, Idempotent, Involuntary, Nil-potent, Singular, Non-Singular, Unitary matrices.

Linear Algerba – Matrices Part II – A Tutorial with Examples, Problems and Solutions Problems and solved examples based on the sub-topics mentioned above. Some of the problems in this part demonstrate finding the rank, inverse or characteristic equations of matrices. Representing real life problems in matrix form.

Linear Algebra – Determinants – A Tutorial with Examples, Problems and Solutions Introduction to determinants. Second and third order determinants, minors and co-factors. Properties of determinants and how it remains altered or unaltered based on simple transformations is matrices. Expanding the determinant. Solved problems related to determinants.

Linear Algebra – Simultaneous Equations in Multiple Variables – A Tutorial with Examples and Problems Representing a system of linear equations in multiple variables in matrix form. Using determinants to solve these systems of equations. Meaning of consistent, homogeneous and non-homogeneous systems of equations. Theorems relating to consistency of systems of equations. Application of Cramer rule. Solved problems demonstrating how to solve linear equations using matrix and determinant related methods.

Basic Concepts In Linear Algebra and Vector Spaces – A Tutorial with Examples and Solved ProblemsTheory and definitions. Closure, commutative, associative, distributive laws. Defining Vector space, subspaces, linear dependence, dimension and bias. A few introductory problems proving certain sets to be vector spaces.

Linear Algebra – Introductory Problems Related to Vector SpacesProblems demonstrating the concepts introduced in the previous tutorial. Checking or proving something to be a sub-space, demonstrating that something is not a sub-space of something else, verifying linear independence; problems relating to dimension and basis; inverting matrices and echelon matrices.

Linear Algebra – More about Vector Spaces Defining and explaining the norm of a vector, inner product, Graham-Schmidt process, co-ordinate vectors, linear transformation and its kernel. Introductory problems related to these.

Linear Algebra – Linear Transformations, Operators and Maps Solved examples and problems related to linear transformation, linear maps and operators and other concepts discussed theoretically in the previous tutorial.

Linear Algebra – Eigenvalues, Eigenvectors and Cayley Hamilton Theorem Eigenvalues, eigenvectors, Cayley Hamilton Theorem

Linear Algebra – Problems Based on Simultaneous Equations, Eigenvalues, EigenvectorsDemonstrating the Crammer rule, using eigenvalue methods to solve vector space problems, verifying Cayley Hamilton Theorem, advanced problems related to systems of equations. Solving a system of differential equations .

Linear Algebra – A few closing problems in Recurrence Relations Solving a recurrence relation, some more of system of equations.

Vectors

 Vectors1avectors
Vectors 3b
 Introduction to Vectors – Zero Vectors, Unit Vectors, Coinitial , Collinear, Equal Vectors, Addition and Subtraction of Vectors, Scalar and Vector Multiplication Introducing a vector, position vectors, direction cosines, different types of vectors, addition and subtraction of vectors. Vector and Scalar products. Scalar Triple product and Vector triple product and their properties. Components and projections of vectors.

Vectors: Introductory Problems and Examples – Related to products, properties of vectors, proving geometric properties using vectors. Solved examples and problem sets based on the above concepts.

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 Parametric vectorial equations of lines and planes. Angles between lines and planes. Co-planar and collinear points. Cartesian equations for lines and planes in 3D.

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 Solved examples and problem sets based on the above concepts.

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.Derivative, curves, tangential vectors, vector functions, gradient, directional derivative, divergence and curl of a vector function; important formulas related to div, curl and grad. Vector Integral Calculus. Line integral, independence of path, Green’s theorem, divergence theorem of Gauss, green’s formulas, Stoke’s theorems.

Vector Differential And Integral Calculus: Solved Problem Sets – Differentiation of Vectors, Div, Curl, Grad; Green’s theorem; Divergence theorem of Gauss, etc. Solved examples and problem sets based on the above concepts.

 

Trigonometry

 Inverse Trigonometric Ratios

Trigonometric Equations

Trigonometric 2b

 Trigonometry 1a ( Introduction to Trigonometry – Definitions, Formulas ) Introducing trigonometric ratios, plots of trigonometric functions, compound angle formulas. Domains and ranges of trigonometric functions, monotonicity of trigonometric functions quadrant wise. Formulas for double and triple angle ratios.

Trigonometry 1b ( Tutorial with solved problems based on Trigonometric ratios ) Problems based on the concepts introduced above.

Trigonometry 2a ( Basic concepts related to Heights and Distances ) Applying trigonometry to problems involving heights and distances. Angles of elevation and depression. Sine and Cosine rule, half angle formulas. Circumradius, inradius and escribed radius. Circumcentre, incentre, centroid and median of a triangle.

Trigonometry 2b ( Tutorial with solved problems related to Heights and Distances and other applications of Trigonometry ) – Problems based on the concepts introduced above.

Trigonometry 3a ( Introducing Inverse Trigonometric Ratios) – Inverse trigonometric ratios – their domains, ranges and plots.

Trigonometry 3b ( Tutorial with solved problems related to inverse trigonometric ratios )– Problems related to inverse trigonometric ratios.

Trigonometry 4 ( A tutorial on solving trigonometric equations )– Solving trigonometric equations. Methods and transformations frequently used in solving such equations.

 

 

 

 

Single Variable Calculus

 Continutiy and differentiability

Differentiation- Curves

Differential Equations

Differentiation- Continuity; Changing Independent Variables

Integral Calculus- Introducing Definite and Indefinite Integrals

 

 Quick and introductory definitions related to Funtions, Limits and Continuity – Defining the domain and range of a function, the meaning of continuity, limits, left and right hand limits, properties of limits and the “lim” operator; some common limits; defining the L’Hospital rule, intermediate and extreme value theorems.

Functions, Limits and Continuity – Solved Problem Set I – The Domain, Range, Plots and Graphs of Functions; L’Hospital’s Rule– – Solved problems demonstrating how to compute the domain and range of functions, drawing the graphs of functions, the mod function, deciding if a function is invertible or not; calculating limits for some elementary examples, solving 0/0 forms, applying L’Hospital 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  More advanced cases of evaluating limits, conditions for continuity of functions, common approximations used while evaluating limits for ln ( 1 + x ), sin (x); continuity related problems for more advanced functions than the ones in the first group of problems (in the last tutorial).

Functions, Limits and Continuity – Solved Problem Set III – Continuity and Intermediate Value Theorems – Problems related to Continuity, intermediate value theorem.

Introductory concepts and definitions related to Differentiation – Basic formulas, Successive Differentiation, Leibnitz, Rolle and Lagrange Theorems, Maxima , Minima, Convexity, Concavity, etc – Theory and definitions introducing differentiability, basic differentiation formulas of common algebraic and trigonometric functions , successive differentiation, Leibnitz Theorem, Rolle’s Theorem, Lagrange’s Mean Value Theorem, Increasing and decreasing functions, Maxima and Minima; Concavity, convexity and inflexion, implicit differentiation.

Differential Calculus – Solved Problem Set I – Common Exponential, Log , trigonometric and polynomial functions – Examples and solved problems – differentiation of common algebraic, exponential, logarithmic, trigonometric and polynomial functions and terms; problems related to differentiability .

Differential Calculus – Solved Problem Set II – Derivability and continuity of functins – Change of Indepndent Variables – Finding N-th Derivatives
Examples and solved problems – related to derivability and continuity of functions; changing the independent variable in a differential equation; finding the N-th derivative of functions.

Differential Calculus – Solved Problems Set III- Maximia, Minima, Extreme Values, Rolle’s Theorem – Examples and solved problems – related to increasing and decreasing functions; maxima, minima and extreme values; Rolle’s Theorem.

Differential Calculus – Solved Problems Set IV – Points of Inflexion, Radius of Curvature, Curve Sketching –  Examples and solved problems – Slope of tangents to a curve, points of inflexion, convexity and concavity of curves, radius of curvature and asymptotes of curves, sketching curves.

Differential Calculus – Solved Problems Set V – Curve Sketching, Parametric Curves – More examples of investigating and sketching curves, parametric representation of curves.

Introducing Integral Calculus – Definite and Indefinite Integrals – using Substitution , Integration By Parts, ILATE rule – Theory and definitions. What integration means, the integral and the integrand. Indefinite integrals, integrals of common functions. Definite integration and properties of definite integrals; Integration by substitution, integration by parts, the LIATE rule, Integral as the limit of a sum. Important forms encountered in integration.

Integral Calculus – Solved Problems Set I – Basic examples of polynomials and trigonometric functions, area under curves – Examples and solved problems – elementary examples of integration involving trigonometric functions, polynomials; integration by parts; area under curves.

Integral Calculus – Solved Problems Set II – More integrals, functions involving trigonometric and inverse trigonometric ratios – Examples and solved problems – integration by substitution, definite integrals, integration involving trigonometric and inverse trigonometric ratios.

Integral Calculus – Solved Problems Set III – Reduction Formulas, Using Partial FractionsI– Examples and solved problems – Reduction formulas, reducing the integrand to partial fractions, more of definite integrals.

Integral Calculus – Solved Problems Set IV – More of integration using partial fractions, more complex substitutions and transformations –Examples and solved problems – More of integrals involving partial fractions, more complex substitutions and transformations

Integral Calculus – Solved Problems Set V- Integration as a summation of a series – Examples and solved problems – More complex examples of integration, examples of integration as the limit of 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 – Theory and definitions. What a differential equation is; ordinary and partial differential equations; order and degree of a differential equation; linear and non linear differential equations; General, particular and singular solutions; Initial and boundary value problems; Linear independence and dependence; Homogeneous equations; First order differential equations; Characteristic and auxiliary equations. Introductory problems demonstrating these concepts. Introducing the concept of Integrating Factor (IF).

Differential Equations – Solved Problems – Set II – D operator, auxillary equation, General Solution – Examples and solved problems – Solving linear differential equations, the D operator, auxiliary equations. Finding the general solution ( CF + PI )

Differential Equations – Solved Problems – Set III – More Differential Equations – More complex cases of differential equations.

Differential Equations – Solved Problems – Set IV – Still more differential equations.

 

 

Multiple Variable Calculus

 Differentiation- Curves  Calculus – Multiple Variables – Part I- Functions of severable variables; limits and continuity

 

Calculus – Multiple Variables – Part 2- Functions of several variables, theorems and co-ordinates

 

Calculus – Multiple Variables – Part 3- Multiple Integrals; double and triple integrals

 

 

Applied Mathematics : An Introduction to Game Theory

 Repeated GamesBayesian GamesGame Theory

Extensive Games

 

 

 

 An Introduction to Game Theory

Extensive Games

Bayesian Games : Games with Incomplete Information

Repeated Games

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.

Physics

Basic Mechanics

 

Constrained Motion - 1 - A Visualization

Visualizing a Block Spring System

Liquid in a U-Tube - A Visualization

  Introduction to Vectors and Motion

Vectors and Projectile Motion

Newton’s Laws of Motion

Work, Force and Energy

Simple Harmonic Motion

Rotational Dynamics

Fluid Mechanics

Engineering Mechanics

Moments and Equivalent Systems

Centroid And Center of Gravity

 Analysis of Structures

 

 

 

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).

Computer Science and Programming

 Data Structures and Algorithms

Arrays : Popular Sorting and Searching Algorithms

 Bubble Sort Steps - Visualization

 Bubble Sort – One of the most elementary sorting algorithms to implement – and also very inefficient. Runs in quadratic time. A good starting point to understand sorting in general, before moving on to more advanced techniques and algorithms. A general idea of how the algorithm works and a the code for a C program.

Insertion Sort – Another quadratic time sorting algorithm – an example of dynamic programming. An explanation and step through of how the algorithm works, as well as the source code for a C program which performs insertion sort.

Selection Sort – Another quadratic time sorting algorithm – an example of a greedy algorithm. An explanation and step through of how the algorithm works, as well as the source code for a C program which performs selection sort.

Shell Sort– An inefficient but interesting algorithm, the complexity of which is not exactly known.

Merge Sort An example of a Divide and Conquer algorithm. Works in O(n log n) time. The memory complexity for this is a bit of a disadvantage.

Quick Sort In the average case, this works in O(n log n) time. No additional memory overhead – so this is better than merge sort in this regard. A partition element is selected, the array is restructured such that all elements greater or less than the partition are on opposite sides of the partition. These two parts of the array are then sorted recursively.

Heap Sort– Efficient sorting algorithm which runs in O(n log n) time. Uses the Heap data structure.

Binary Search Algorithm- Commonly used algorithm used to find the position of an element in a sorted array. Runs in O(log n) time.

Basic Data Structures and Operations on them
 Queueslinked listDouble Linked List  Stacks Last In First Out data structures ( LIFO ). Like a stack of cards from which you pick up the one on the top ( which is the last one to be placed on top of the stack ). Documentation of the various operations and the stages a stack passes through when elements are inserted or deleted. C program to help you get an idea of how a stack is implemented in code.

Queues First in First Out data structure (FIFO). Like people waiting to buy tickets in a queue – the first one to stand in the queue, gets the ticket first and gets to leave the queue first. Documentation of the various operations and the stages a queue passes through as elements are inserted or deleted. C Program source code to help you get an idea of how a queue is implemented in code.

Single Linked List A self referential data structure. A list of elements, with a head and a tail; each element points to another of its own kind.

Double Linked List– A self referential data structure. A list of elements, with a head and a tail; each element points to another of its own kind in front of it, as well as another of its own kind, which happens to be behind it in the sequence.

Circular Linked List Linked list with no head and tail – elements point to each other in a circular fashion.

Tree Data Structures
 binary_search_tree  Binary Search Trees A basic form of tree data structures. Inserting and deleting elements in them. Different kind of binary tree traversal algorithms.

Heaps – A tree like data structure where every element is lesser (or greater) than the one above it. Heap formation, sorting using heaps in O(n log n) time.

Height Balanced Trees – Ensuring that trees remain balanced to optimize complexity of operations which are performed on them.

Graphs and Graph Algorithms

 

Dijkstra

 Depth First Search – Traversing through a graph using Depth First Search in which unvisited neighbors of the current vertex are pushed into a stack and visited in that order.

Breadth First Search – Traversing through a graph using Breadth First Search in which unvisited neighbors of the current vertex are pushed into a queue and then visited in that order.

Minimum Spanning Trees: Kruskal Algorithm– Finding the Minimum Spanning Tree using the Kruskal Algorithm which is a greedy technique. Introducing the concept of Union Find.

Minumum Spanning Trees: Prim’s Algorithm– Finding the Minimum Spanning Tree using the Prim’s Algorithm.

Dijkstra Algorithm for Shortest Paths– Popular algorithm for finding shortest paths : Dijkstra Algorithm.

Floyd Warshall Algorithm for Shortest Paths– All the all shortest path algorithm: Floyd Warshall Algorithm

Bellman Ford Algorithm – Another common shortest path algorithm : Bellman Ford Algorithm.

Popular Algorithms in Dynamic Programming

Dynamic Programming A technique used to solve optimization problems, based on identifying and solving sub-parts of a problem first.

Integer Knapsack problemAn elementary problem, often used to introduce the concept of dynamic programming.

Matrix Chain Multiplication Given a long chain of matrices of various sizes, how do you parenthesize them for the purpose of multiplication – how do you chose which ones to start multiplying first?

Longest Common Subsequence Given two strings, find the longest common sub sequence between them.

Dynamic Programming Algorithms covered previously: Insertion Sort, Floyd Warshall Algorithm Algorithms which we already covered, which are example of dynamic programming.

 

Greedy Algorithms 

 Elementary cases : Fractional Knapsack Problem, Task Scheduling – Elementary problems in Greedy algorithms – Fractional Knapsack, Task Scheduling. Along with C Program source code.

Data Compression using Huffman TreesCompression using Huffman Trees. A greedy technique for encoding information.

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

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

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

Programming With 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

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.

An Introduction to Graphics and Solid Modelling

 

Electrical Science and Engineering

Introduction to DC Circuits

 DC Circuits

DC Circuits with Inductors

Electrical DC Networks

Circuit Theory 1a- Introduction to Electrical Engineering, DC Circuits, Resistance and Capacitance, Kirchoff Law– Resistors, Capacitors, problems related to these.

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 capacitance

Circuit Theory 2a – Introducing Inductors– Inductors, inductance, computing self-inductance, flux-linkages, computing energy stored as a magnetic field in a coil, mutual inductance, dot convention, introduction to RL Circuits and decay of an inductor.

Circuit Theory 2b – Problems related to RL, LC, RLC circuits Introducing the concept of oscillations. Solving problems related to RL, LC and RLC circuits using calculus based techniques.

Circuit Theory 3a – Electrical Networks and Network Theorems Different kind of network elements: Active and passive, linear and non-linear, lumped and distributed. Voltage and current sources. Superposition theorem, Thevenin (or Helmholtz) theorem and problems based on these.

Circuit Theory 3b – More network theorems, solved problems– More solved problems and examples related to electrical networks. Star and Delta network transformations, maximum power transfer theorem, Compensation theorem and Tellegen’s Theorem and examples related to these.

 

 

Introduction to Digital Electronic Circuits and Boolean logic

 Number System

boolean algebra tutorial digital electronics

K Maps Tutorial, Digital Electronics

Combinational Circuits

Sequential Circuits Tutorial - Digital Electronics

Introduction to the Number System : Part 1 
Introducing number systems. Representation of numbers in Decimal, Binary,Octal and Hexadecimal forms. Conversion from one form to the other.

Number System : Part 2 Binary addition, subtraction and multiplication. Booth’s multiplication algorithm. Unsigned and signed numbers.

Introduction to Boolean Algebra : Part 1Binary logic: True and false. Logical operators like OR, NOT, AND. Constructing truth tables. Basic postulates of Boolean Algebra. Logical addition, multiplication and complement rules. Principles of duality. Basic theorems of boolean algebra: idempotence, involution, complementary, commutative, associative, distributive and absorption laws.

Boolean Algebra : Part 2De-morgan’s laws. Logic gates. 2 input and 3 input gates. XOR, XNOR gates. Universality of NAND and NOR gates. Realization of Boolean expressions using NAND and NOR. Replacing gates in a boolean circuit with NAND and NOR.

 Understanding Karnaugh Maps : Part 1 Introducing Karnaugh Maps. Min-terms and Max-terms. Canonical expressions. Sum of products and product of sums forms. Shorthand notations. Expanding expressions in SOP and POS Forms ( Sum of products and Product of sums ). Minimizing boolean expressions via Algebraic methods or map based reduction techniques. Pair, quad and octet in the context of Karnaugh Maps.

Karnaugh Maps : Part 2 Map rolling. Overlapping and redundant groups. Examples of reducing expressions via K-Map techniques.

Introduction to Combinational Circuits : Part 1 Combinational circuits: for which logic is entirely dependent of inputs and nothing else. Introduction to Multiplexers, De-multiplexers, encoders and decoders.Memories: RAM and ROM. Different kinds of ROM – Masked ROM, programmable ROM.

Combinational Circuits : Part 2 Static and Dynamic RAM, Memory organization.

Introduction to Sequential Circuits : Part 1  Introduction to Sequential circuits. Different kinds of Flip Flops. RS, D, T, JK. Structure of flip flops. Switching example. Counters and Timers. Ripple and Synchronous Counters.

Sequential Circuits : Part 2
ADC or DAC Converters and conversion processes. Flash Converters, ramp generators. Successive approximation and quantization errors.

 


Test Preparations – the Olympiads, Board Exams, and the IIT JEE

Posted in Uncategorized | 1 Comment