×
Home Discussions Write at Opengenus IQ
×

Search anything:

  • DSA Cheatsheet
  • HOME
  • Jobs
  • About
  • One Liner
  • RANDOM
  • Track your progress
  • Deep Learning (FREE)
  • Join our Internship 🎓
  • AI Engineering
  • Scholarship
  • Campus Ambassador

OpenGenus IQ, an open-source Computer Science Publication House, is driven by 2500+ BSc/MSc/PhD holders globally, exploring Algorithms, Deep Learning, System Design, and more since 2017.

Dynamic Programming (DP)

Longest Geometric Progression

In this article, we have explained how to solve the problem of Longest Geometric Progression efficiently using Dynamic Programming. It involves the use of Map data structure in implementation which is different from other standard problems.

Ue Kiao, PhD Ue Kiao, PhD
Greedy Algorithms

Fitting Shelves Problem [Greedy Algorithm]

In this article, we will understand what fitting shelves problem is and will see a greedy approach algorithm of solving this problem.

Rahul Kumar Yadav
Deep Learning

Neural Architecture Search (NAS)

The aim of this article is to provide a clear and intuitive understanding of the deep learning paradigm known as Neural Architecture Search (NAS).

Benedict O. Emoekabu Benedict O. Emoekabu
Compiler Design

Add support of Debugging: DWARF, Functions, Source locations, Variables

In this article, we continue to discuss other aspects involved with debugging and debugging information in Kaleidoscope. We discuss how to include function definitions, source locations, and variable locations in debug information.

Erick Lumunge
Compiler Design

Building a Compiler Front-End

The front-end of a compiler comprises four phases, source code is converted from high-level code to an intermediate representation which is optimized and compiled to machine code.

Erick Lumunge
game theory

Pure and Mixed Strategy Nash equilibrium

In this article, we will discuss about the pure and mixed strategy nash equilibrium which are important concepts in Game Theory.

Harshul Nanda Harshul Nanda
Compiler Design

Add debugging support in Programming Language

A good programming language should also be able to support debugging and debug information. In this article, we add support for debugging and debug information.

Erick Lumunge
Compiler Design

Bootstraping a Compiler

Bootstrapping a compiler involves producing a self-compiling compiler, that is, we write a compiler using language A that produces code for target machine B and can still compile itself.

Erick Lumunge
Compiler Design

Compiling LLVM IR to Object Code

We have seen how to implement the Kaleidoscope programming language, from source code to an LLVM IR to optimization to implementing a JIT compiler and implementing further extensions. In this article, we will compile the LLVM IR into object code.

Erick Lumunge
Compiler Design

Variable Mutation in Kaleidoscope

Mutation in programming languages involves the ability to change an object. In this article, we further extend our language, we add to it the ability to define new variables and mutate them.

Erick Lumunge
Compiler Design

How to compile a compiler? [Bootstrapping]

In this article, we will learn the process and types of bootstrapping. Bootstrapping involves using compilers to compile other compilers or themselves.

Erick Lumunge
Compiler Design

LLVM Memory and SSA

In this article, we learn all about SSA and LLVM memory and how the two are related.

Erick Lumunge
Compiler Design

User-defined Operators in Kaleidoscope

User-defined operators take in a set of operands as input and return a result. We want to support functionalities such as division, logical negation, comparisons, etc.

Erick Lumunge
Compiler Design

If-then-else in LLVM Control Flow

Control flow statements are statements used to change the flow of execution of the program. In this article, we extend Kaleidoscope to include control flow operations such as if-then-else statements.

Erick Lumunge
Compiler Design

For loops in LLVM Control Flow

In programming, we use loops to repeat a sequence of instructions until a specified condition is met. In this article, we further extend Kaleidoscope to support for loops.

Erick Lumunge
data science

Statistical Features in Data Science

In this article, we will understand about various statistical features like median, quartiles, inter quartile range (IQR), bias and variance.

Sanjana Babu
data science

Confidence intervals

This article aims to improve our understanding on one of the basic concepts of statistics: confidence intervals.

Sanjana Babu
System Design

System Design of Retail Management System

In this article, we will take a look at the key features a retail management system needs to offer, its high-level, low-level design, database design, and some of the already existing retail management systems.

Anna Burdanova
data science

Relation of Data Science to ML, AI, NLP, DL

In this article, we will understand how data science is related to various other domains such as Machine learning, Artificial intelligence. Natural language Processing and Deep learning.

Sanjana Babu
data science

Over and under sampling

This article aims to improve our understanding of oversampling and under sampling which are important concepts in Data Science.

Sanjana Babu
data science

Phases / life cycle of Data Science

This article serves as an introduction to data science life cycle and gives an overview on the various phases.

Sanjana Babu
Algorithms

Majority element in sorted array

In this article, we will be learning how to find the majority element in a sorted array. This involve using Linear Search, Binary Search and a constant time algorithm.

Gifty Treesa Iju Gifty Treesa Iju
C++

Working with 2D Maps in C++

In this article, we will learn how to work with two-dimensional (2D) maps in C++. We have explained the concept using C++ code examples.

Reyansh Bahl
queue

K queues in an array

In this article, we have explained 2 approaches to implement K queues in a single array. The challenge is that the space of the array should be utilized optimally by the K queues.

Gabriel
divide and conquer

Find floor in sorted array

In this article, we are going to see various methods of finding the floor of a given number from a given sorted array. To solve this efficiently, the concept of Divide and Conquer / Binary Search is required.

Rahul Kumar Yadav
OpenGenus IQ © 2026 All rights reserved â„¢ [email: team@opengenus.org]
Top Posts LinkedIn Twitter