Search for tag: "beginning"

Lesson 30.8 Quicksort Performance

It looks like quicksort has solved our performance problems. However, we should not be so hasty. In this video, we look at the real performance for quicksort, and why it is not perfect. We also talk…

From  Hannah Lee on December 10th, 2020 10 plays

Lesson 30.6 The Partition algorithm

In the previous video, we saw that nested loops are causing our sorting algorithms to be slow. To speed things up, we need to get rid of one of these loops. To do that, we will need a special…

From  Hannah Lee on December 10th, 2020 10 plays

Lesson 30.5 Selection Sort

In the previous video we saw that insertion sort is not an ideal sorting algorithm. In this video we try our hand at another algorithm: selection sort. This is another simple algorithm that may be…

From  Hannah Lee on December 10th, 2020 11 plays

Lesson 30.1 Searching

In this video, we look at the different ways we can search a list for an element. In doing so, we see that it helps a lot for our lists to be sorted. Hence that will be our focus for the rest of this…

From  Hannah Lee on December 10th, 2020 11 plays

Lesson 25.3 Error Types and the Call Stack

After the last video, try-except looks less like an if-else statement and more like an if-elif-else statement. As we see in this video, this has profound effects on how errors interact with the call…

From  Hannah Lee on November 12th, 2020 41 plays

Lesson 13.6 Assert Helpers

Sometimes we absolutely need to enforce all of our preconditions, and we cannot live with the compromises of the previous video. In this video we show how to use top-down design to give us more…

From  Hannah Lee on October 10th, 2020 19 plays

Lesson 13.5 Assert Trade-Offs

Preconditions can get really complicated, and sometimes it is unclear how to enforce all of the preconditions. In this video we talk about why it is okay to break up a precondition and…

From  Hannah Lee on October 10th, 2020 17 plays

Lesson 8.3 Test Scripts

A good testing plan has many, many test cases, and it can be really tedious to keep testing a function. That is why it would be ideal if we could automate the process. In this video, we introduce the…

From  Hannah Lee on September 24th, 2020 24 plays

Lesson 7.2 Specification Format

Now that you know why specifications are so important, it is time to write them. We have a very specific format that we want for our specifications, which is detailed in this video.

From  Hannah Lee on September 24th, 2020 20 plays

Lesson 6.2 String Slicing

Strings have a fundamental property that is not present in the other types so far. You can cut up a string into smaller bits or substrings. This is know as string slicing, and it is the focus of the…

From  Hannah Lee on September 16th, 2020 24 plays

Lesson 6.1 Advanced String Expressions

We have seen that we create a string by writing it between two quotes. However, the quotes are never part of the string. What if we want the quotes to be part of the string? In this video we tackle…

From  Hannah Lee on September 16th, 2020 51 plays