
Fastest way to check if a number is prime or not  Python and C++ Code
How to check if a given number is a prime number? What is the most efficient way to check if a number is prime or not? How to find prime numbers in a given list of numbers? We will discuss and implement all of the above problems in Python and C++

Most efficient way to find factors of a number  C++ and Python Code
First, we will see how to find all factors of a number using brute force. Then we will improve upon that to find all factors of a number using the most efficient method and code it in C++ as well as Python

What it takes to develop, test and release a Software Product?
When we talk about developing a software product, we often overlook what goes on in the life of an engineer. The software is not just about code, much like how a journey is not about destination.

Hobbyist Competitive Programmer to Software Developer at HackerEarth
During four years of Computer Engineering, I used to think about what I should pursue as professional career. Loved designing graphic posters, thoroughly enjoyed Competitive Programmer and it was immensely satisfying to build software products to solve real world problems. So much dilemma and I ended up being a Software Engineer at HackerEarth

Open Diary Post: How I lead 4 years of Computer Engineering
Life is like a realtime strategy game. Its great to know beforehand how others played it when they were at your situation. In this short post, I'm summing up scenarios I faced, decisions I made and their outcomes during four years of Computer Engineering.

Open Source: Build and install GIMP from source code
GNU Image Manipulation Program is one of the best open source projects out there as an alternative for PhotoShop. This post discusses how we can build and install GIMP from source code. I did it because I wanted to contribute to the project.

What is Memoization? What is Dynamic Programming? Let's take an example
Memoization or Dynamic Programming is a technique of remembering solutions to subproblems which will help us solve a larger problem.

Greatest Common Divisor of a list of numbers  C++ and Python Implementation
First, we will see how to find GCD of two numbers. It is also known as Highest Common Factor  HCF. Then we will move on to find the GCD of a list of numbers and code it in both C++ as well as Python

Fast Power Algorithm  Exponentiation by Squaring  C++ and Python Implementation
We know how to find 2 raised to the power 10. But what if we have to find 2 raised to the power very large number such as 1000000000? We discuss how to find solution to such a problem using an fast, efficient algorithm

Collection of Python posts for beginners
I took MITx 6.00x on edX in 2012 and we were taught basics of Python alongwith programming in general. While revisiting the videos in the end, I thought of creating a quick guide for myself and everyone else.

How to compute Time Complexity or Order of Growth of any program
Time Complexity gives us an idea of running time of any program w.r.t. the size of input fed to the program. Order of Growth is just another word for Time Complexity.

Python: Dictionary and its properties
Dictionary is a generalization of a List. Dictionary stores (key, value) pair for easier value access in future using the key. We see how it is different from a list and its properties.

Python: Tuples and Basic Operations on Tuples
What is a tuple? How is it different from a list? And some basic methods on Tuples

Python: Lists and List methods
Declaring, Accessing, Slicing, Deleting and Updating Lists and its elements in Python

Python: Linear Search v/s Bisection (Binary) Search
When it comes to searching an element within a list of elements, our first approach is searching sequentially through the list. Let's take a look at a better method, Binary Search

Basics of Recursion with an example in Python
Recursion is a technique of finding solutions to larger problems using known solution of smaller problems. For me atleast, it was hard to get the understanding of recursion. In this post we see an iterative and recursive version of one problem in programming.

Python: Finding Square Root using Guess & Check Algorithm
Guess and Check is one of the most common methods of finding solution to any problem. We will see how it can be used to find a close approximation of square root of any number

Python: Perform repetitive tasks using Iteration or Loop
For and While loop constructs in Python enable us to perform repetitive tasks or help us iterate over a string or a list or any iterable object

Python: Branching code flow using if  else  elif
If this Then that! Python provides us with if, else and elif to add conditions in code and branch it like a tree

Python: Strings and it's frequently used methods
Accessing string characters via index, string slicing and frequently used str methods such as find, replace. How to read input from Standard Input STDIN

Python: Arithmetic and Logical Operators
How to perform arithmetic and logical operations on Python variables of different types

Python: Objects and Types
Everything in Python is an object! Every object in Python has a type. This post discusses some of them with examples

Python: Syntax, Static Semantics, Semantics of a Language
Before we begin with any language, it's important to know the aspects of the language. What is Syntax? Semantics? Static Semantics? This post explain these terms with examples.

Playing with Photoshop and GIMP
As a kid, I admired designs and wanted to pursue design as a career. (Un)fortunately, I married Software Engineering. These were some of the designs that were created for college fests.