Posts

How Does Google Maps Find the Shortest Route? Understanding Graphs and Dijkstra's Algorithm

Image
From a university classroom to real world navigation: exploring how a fundamental computer science algorithm connects to the technology we use every day.   Introduction: Have You Ever Wondered How Google Maps Finds Your Route? Imagine that you need to travel from your home to a hospital in a busy city. You open Google Maps, enter your destination and within seconds it presents you with possible routes, estimated travel times and directions. Have you ever stopped to wonder what happens behind the scenes? How does a computer understand thousands of roads? How does it compare different routes? And how can it decide which route is the shortest or fastest? These questions connect to an important area of computer science: Data Structures and Algorithms . Recently, I worked on a Smart City project that involved representing locations as a graph and exploring algorithms for finding routes between them. One of the important concepts in this area is Dijkstra's algorithm, which solves shortes...

Project Management for Beginners: Lessons from University Group Projects

Image
When I first heard the term project management , I assumed it was something reserved for professionals in corporate environments. But after struggling through several university group projects, I realized that we were already doing project management just without the right knowledge. Looking back, understanding a few basic project management concepts would have made those experiences far less stressful. In this post, I’ll break down the essential project management basics every beginner should know, using simple explanations and relatable real-life examples. What is  Project Management ?  A professional definition:  "Project management is the practice of planning, executing, and monitoring a set of tasks to achieve a specific objective within defined constraints such as time, scope, and resources." It ensures that work is completed efficiently, goals are met, and potential issues are managed effectively throughout the project. In simple terms, it’s about getting things d...

The Four Pillars of Object-Oriented Programming: A Comprehensive Guide

Image
In my previous blog series, we explored how Python Pandas simplifies data manipulation and analysis. Now, let's shift our focus to Object-Oriented Programming (OOP), a powerful paradigm that helps organize code and manage complexity in software development. OOP is essential for building modular, reusable, and scalable applications. In this post, we'll start by diving into the Four Pillars of OOP, the key principles that every programmer should know. Introduction to Object Oriented Programming (OOP) Object Oriented Programming, simply known as OOP is a programming paradigm that revolves the software design around the two fundamental concepts: objects and classes. Java, Python, C++ are some of the popular OO languages. An object is something which represents something tangible or intangible in the real world. For example, in a system, an object can represent a BankAccount, Car, Employee, … Objects have three main characteristics. Identity -  Helps to identify an object uniq...

The Power of Data: How Smart Decisions Drive Business Success

Image
Data is one of the most crucial factors in decision making. It provides a factual foundation for informed decision making by reducing individual biases. Data driven decision making is one of the trending topics today within organizations which enables companies to make insightful decisions based on concrete data analysis rather than relying on intuition and assumptions. It is basically the process of collecting data based on company’s Key Performance Indicators (KPIs) and transforming them into actionable insights. In the real world data driven decision making can be seen in many ways. Collecting survey responses to identify products, services and features their customers would like.            Launching a new product/ service in a test market to understand how well the product would perform in the market.  Conducting User Acceptance Testing (UAT)  to discover possible problems that should be addressed before the full release, and how cust...