>_Programming podcast with Minko Gechev

Episode #13 Binary Heaps

Today we're going to discuss the binary heap data structure. In this episode, you'll learn where to use heaps in practice, how they can come handy to you during a coding interview, and how to implement them! Find more

Previous Episodes

Episode #12

COVID-19. Epidemic modeling with SIR.

Instead of digging into algorithms and data structures, today, you'll learn about epidemic modeling. In 9 minutes in this episode, you'll get a mathematical intuition on the spread of COVID-19 and the essential variables we can control, which can help us fight the virus.

Find more

Episode #11

Coupling and Cohesion

Today you'll learn how keeping your abstractions more cohesive and less coupled can improve the quality and maintainability of your software.

Find more

Episode #10

Topological Sort

In this episode, you'll learn the topological sort algorithm. Along the way, you'll understand what's a dependency graph and how topological sort operates on this data structure. We'll also discuss a few real-life examples where I had to implement topological sort myself!

Find more

Episode #9

Sorting. Counting Sort.

Have you ever been frustrated during interviews thinking that your interviewer expects you to have memorized a bunch of sorting algorithms you'd never need in real life? In this episode of the podcast learn how to approach such situations. In performance critical systems you may have to implement an efficient sorting yourself. Learn how to beat the built-in algorithm in a few lines of code!

Find more

Episode #8

Decorator Pattern

Today you'll learn how at runtime, you can enhance the behavior or existing objects using the decorator pattern. In this episode, we'll discuss the advantages of decorators over inheritance and look at two examples from real-life - implementing a network communication protocol and enriching user interface components.

Find more

Episode #7

Tries

In the episode today, we'll talk about the trie data structure. You'll learn what tries are, how you can use them in practice, and how to implement them in your favorite programming language!

Find more

Episode #6

Graphs and Graph Traversal

In this episode, we'll discuss graphs. You'll learn how this data structure looks like and what are its applications. Later on, we'll talk about algorithms for traversing graphs. You'll understand how breadth-first search and depth-first search work and when you should use one instead of the other. Topics we'll also touch on are chromatic graphs and finding the shortest path.

Find more

Episode #5

Arrays and Linked Lists

In this episode, we'll discuss two fundamental data structures in computer science - arrays and linked lists. Their understanding is essential not only in your day to day job but also for performing well on your next coding interview.

Find more

Episode #4

Quickselect

Today we're going to talk about quickselect. This algorithm helps us quickly find the n-th smallest element in unsorted arrays. It'll not only help you improve the performance of your applications, but it's also a very common white-board interview problem.

Find more

Episode #3

Partial Application (not Currying)

Today we'll discuss partial application and currying. By the end of the episode, you'll understand what these two different concepts are how they are different from each other, and where you can apply them in practice. In between the episode, we'll also talk about the brilliant computer scientist Haskell Curry, and we'll mention the Curry-Howard isomorphism.

Find more

Episode #2

Binary Search

Today we'll discuss the binary search algorithm. We'll go through several examples when the algorithm makes sense and discuss in detail how it works. By the end of the episode, you'll know when to apply a binary search and know why it's more efficient than a linear search.

Find more

Episode #1

How Compilers Work

In this episode, we discuss how compilers work. By the end of the show, you'll have a high-level understanding of the phases the source code you write goes though before executed!

Find more