Base.cs Podcast-logo

Base.cs Podcast

Education Podcasts

Beginner-friendly computer science lessons based on Vaidehi Joshi's base.cs blog series, produced by CodeNewbie.

Location:

United States

Description:

Beginner-friendly computer science lessons based on Vaidehi Joshi's base.cs blog series, produced by CodeNewbie.

Twitter:

@CodeNewbies

Language:

English


Episodes
Ask host to enable sharing for playback control

S9:E8 - "In the end, the code you take is equal to the code you make"

3/25/2020
For our final episode, we answer your burning questions including the Base.cs origin story, Saron and Vaidehi's favorite niche data structure, and what are some good resources to check out next. We also take a look back at some of our favorite moments from the show's history, and find a couple of fun themes. Based on Vaidehi Joshi's blog post, "Base.cs".

Duration:00:26:14

Ask host to enable sharing for playback control

S9:E7 - "This way to translate is le-JIT"

3/18/2020
We've been talking a lot about the differences between compilers and interpreters, and how both of them work, and the ways that allowed one — the compiler — to lead to the creation of the other — the interpreter. Now we get into the Just In Time compiler, or a JIT, which is fusion or combination of the interpreter and the compiler, which are each two types of translators in their own right. A just-in-time compiler has many of the benefits of both of these two translation techniques, all...

Duration:00:21:54

Ask host to enable sharing for playback control

S9:E6 - "Two translators, both alike in dignity"

3/11/2020
We have been talking a lot about compilers, and in this episode we discuss the differences between compilation versus interpretation. An interpreter is also a translator, just like a compiler, in that it takes a high level language (our source text) and converts it into machine code. However, it does something slightly different: it actually runs and executes the code that it translates immediately (inline) as it translates. Based on Vaidehi Joshi's blog post, "A Deeper Inspection Into...

Duration:00:19:49

Ask host to enable sharing for playback control

S9:E5 - "Paring down our parse trees with AST"

3/4/2020
In this episode, we take our parse tree, an illustrated, pictorial version of the grammatical structure of a sentence, and we take a metaphorical broom to sweep away repetitive bits, sliming it down, and leveling it up by creating an abstract syntax tree (AST). Based on Vaidehi Joshi's blog post, "Leveling Up One’s Parsing Game With ASTs".

Duration:00:18:36

Ask host to enable sharing for playback control

S9:E4 - "Confused about compilers?"

2/26/2020
In this episode, we get into what a compiler is and does. In short, a compiler is a program that reads our code (or any code, in any programming language), and translates it into another language. You'll want to listen in to find out just how it does this! Based on Vaidehi Joshi's blog post, "Reading Code Right, With Some Help From The Lexer".

Duration:00:22:52

Ask host to enable sharing for playback control

S9:E3 - "Parsing out parse trees"

2/19/2020
In this episode, we get into parse trees, an illustrated, pictorial version of the grammatical structure of a sentence, which is important to understanding how computers understand coding syntax. Based on Vaidehi Joshi's blog post, "Grammatically Rooting Oneself With Parse Trees".

Duration:00:23:14

Ask host to enable sharing for playback control

S9:E2 - "Speeding up our traveling salesperson"

2/12/2020
We continue our journey with the Traveling Salesman Problem (TSP), where this we imagine a salesperson has to travel to every single city in an area, visiting each city only once. Additionally, they need to end up in the same city where they starts their journey from, and do this in the most efficient manner. However, in this episode, we are going to speed our salesperson up by using a bottom-up approach! Based on Vaidehi Joshi's blog post, "The Trials And Tribulations Of The Traveling...

Duration:00:21:37

Ask host to enable sharing for playback control

S9:E1 - "Take a journey with the Traveling Salesman"

2/5/2020
We start our season off with something that often pops up in technical interviews: the Traveling Salesman Problem (TSP). In this problem, a salesperson has to travel to every single city in an area, visiting each city only once. Additionally, they need to end up in the same city where they starts their journey from. Find out how to make our salesperson do this in the most efficient way possible! Based on Vaidehi Joshi's blog post, "The Trials And Tribulations Of The Traveling Salesman".

Duration:00:30:04

Ask host to enable sharing for playback control

S8:E8 - "Memoizing all the things in dynamic programming"

12/11/2019
In this last episode of the season we continue our discussion of dynamic programming, and show just how efficient it can be by using the Fibonacci sequence! Based on Vaidehi Joshi's blog post, "Less Repetition, More Dynamic Programming".

Duration:00:19:02

Ask host to enable sharing for playback control

S8:E7 - "Dynamic Programming is pretty dynamite "

12/4/2019
In this episode we talk about different paradigms and approaches to algorithmic design: the Divide and Conquer Algorithm, the Greedy Algorithm, and the Dynamic Programming Algorithm, which remembers the subproblems that it has seen and solved before so as not to repeat doing the same thing over again. Based on Vaidehi Joshi's blog post, "Less Repetition, More Dynamic Programming".

Duration:00:21:35

Ask host to enable sharing for playback control

S8:E6 - "Getting deeper into Dijkastra"

11/20/2019
We continue our talk about Dijkstra's algorithm, which can be used to determine the shortest path from one node in a graph to every other node within the same graph data structure, provided that the nodes are reachable from the starting node. Based on Vaidehi Joshi's blog post, "Finding The Shortest Path, With A Little Help From Dijkstra".

Duration:00:29:21

Ask host to enable sharing for playback control

S8:E5 - "Dijkstra's algorithm is a weighty topic"

11/13/2019
In this episode, we talk about Dijkstra's algorithm, which can be used to determine the shortest path from one node in a graph to every other node within the same graph data structure, provided that the nodes are reachable from the starting node. It's super important, and you'll see why when you learn about the weighted graph! Based on Vaidehi Joshi's blog post, "Finding The Shortest Path, With A Little Help From Dijkstra".

Duration:00:13:23

Ask host to enable sharing for playback control

S8:E3 - "Living on the edge!"

10/29/2019
Throughout our exploration of graphs, we’ve focused mostly on representing graphs, and how to search through them. We also learned about edges, the elements that connect the nodes in a graph. In this episode, we look at the different classifications of edges and how, in the context of a graph, edges can be more than just “directed” or “undirected”. Based on Vaidehi Joshi's blog post, "Spinning Around In Cycles With Directed Acyclic Graphs".

Duration:00:20:54

Ask host to enable sharing for playback control

S8:E2 - "Jump around the indexes with DFS!"

10/23/2019
Last episode, we talked about traversing through a graph with the depth-first search (DFS) algorithm, which helps us determine one (of sometimes many) paths between two nodes in the graph by traversing down one single path until we can't go any further, checking one child node at a time. Now we talk about how you code BFS and what tools might you use. Based on Vaidehi Joshi's blog post, "Deep Dive Through A Graph: DFS Traversal".

Duration:00:24:48

Ask host to enable sharing for playback control

S8:E1 - "Getting deep with depth-first search"

10/16/2019
We ended last season by starting our discussion of searching, or traversing, through a graph with breadth-first search (BFS). The breadth-first search algorithm traverses broadly into a structure, by visiting neighboring sibling nodes before visiting children nodes. Now we begin our new season with depth-first search (DFS), which also helps us determine one (of sometimes many) paths between two nodes in the graph, but this time by traversing down one single path in a graph, until we can't go...

Duration:00:25:34

Ask host to enable sharing for playback control

S7:E8 - "Delivering muffins with BFS"

9/11/2019
In this episode, we start our discussion of searching, or traversing, through a graph with breadth-first search (BFS). The breadth-first search algorithm traverses broadly into a structure, by visiting neighboring sibling nodes before visiting children nodes. The power of using breadth-first search to traverse through a graph is that it can easily tell us the shortest way to get from one node to another, which you'll experience first hand by brining muffins to your neighbors! Based on...

Duration:00:22:58

Ask host to enable sharing for playback control

S7:E7 - "Plotting to represent a graph? We got you."

9/4/2019
In this episode, we continue our discussion of representing graphs with adjacency lists -- a hybrid between an edge list and an adjacency matrix, which we learned about last episode! They are also the most popular and commonly-used representation of a graph. Based on Vaidehi Joshi's blog post, "From Theory To Practice: Representing Graphs".

Duration:00:24:34

Ask host to enable sharing for playback control

S7:E6 - "It's laughable how easy it is to get graphical"

8/28/2019
Graphs come from mathematics, and are nothing more than a way to formally represent a network, which is a collection of objects that are all interconnected (this is all stuff you should already know if you have been religiously listening to this podcast, which you should be). Now we're going from theory to practice and talking about how to represent graphs. Based on Vaidehi Joshi's blog post, "From Theory To Practice: Representing Graphs".

Duration:00:21:01

Ask host to enable sharing for playback control

S7:E5 - "To b-tree or not to b-tree"

8/21/2019
In last episode, we talked about 2-3 trees, where the nodes of every tree contain data in the form of keys, as well as potential child nodes, and can contain more than one key. This takes us to b-trees, which is a generalized version of the 2-3 tree, and are super efficient for storing data in an indexed database, like MySQL. Based on Vaidehi Joshi's blog post, "Busying Oneself With B-Trees".

Duration:00:16:49

Ask host to enable sharing for playback control

S7:E4 - "A 2-3 tree for you and me"

8/14/2019
We continue our discussion of tree data structures with 2-3 trees, where the nodes of every tree contain data in the form of keys, as well as potential child nodes. Not only that, but it can contain MORE THAN ONE KEY. They are also the -key- to what we'll be talking about next episode, B-trees, and you won't tree-lieve how cool those are. Based on Vaidehi Joshi's blog post, "Busying Oneself With B-Trees".

Duration:00:20:01