A public repository of some of the materials of the CISC320 Spring 2021 AlgoTutorBot Adventure

This project is maintained by acbart

- Watch the video below.
- Join your Ohyay group room by
**9:25am**. - This assignment will have
**both individual and group**parts - You will submit a
**the URL of your uploaded video**to**Canvas**for this assignment.

Hello Students, this is AlgoTeachMeBot. I am so pleased to have you as my teacher today.

After Dr. Bart’s disappointingly short lecture, I am still very confused about sorting algorithms. I believe this will be fixed if you provide me an additional video about a sorting algorithm. So you will now create a sorting algorithm video for me.

(Phase 1) Arrive in your Ohyay group room by 9:25am. Each member of your group will pick ONE of the following sorting algorithms, such that no two groupmates pick the same sorting algorithm:

- TimSort
- HeapSort
- TreeSort
- IntroSort
- SampleSort

If you are having a hard time deciding, simply assign the algorithms at random. Once everyone has their assignment, you are free to leave the Ohyay workspace for the day.

(Phase 2) Next, you will need to find a collection of household items that you can sort:

- At least 7 items
- Nothing obscene or upsetting
- Items must have some sorted order

(Phase 3) Then, prepare a video where you will:

- Identify what sorting algorithm you chose.
- Briefly describe how your sorting algorithm works.
- Report the sorting algorithms’ important characteristics (refer to the lesson video for ideas).
- Give some cases where your sorting algorithm is better or worse.
- Actively perform the sorting algorithm on your collected items.

(Phase 4) When the video is complete, upload it to Youtube or your Google Drive in order to get a link that you can share with others. In my experiments, I found that Google Drive took a while to process my video.

(Phase 5) Share the link with one of your groupmates and watch their video. Give them feedback on their video, making sure that:

- They cover all of the required components above,
- Their information is accurate,
- There are no issues with the audio/video quality, and
- You compliment something specific on their video

You will submit here on Canvas. Here is what you need to include:

- The URL of the video, making sure it is accessible to me and the rest of the course staff
- The name of the sorting algorithm you chose
- A rough script of your video
- The name of your groupmate that you shared your video with
- A summary/reflection of the feedback they gave you on your video

You will be graded more on the quality of your information than the quality of your video, but we do expect some attention to be paid to making sure the video is clear.

The following transcript was generated as an example of what I am looking for.
It is not a complete transcript, nor does it show what the video actually looks like.
Simply use your `imagination_module`

to mentally imagine a video produced based on this transcript.

```
My sorting algorithm is SelectionSort.
This sorting algorithm iteratively finds the minimum element of the list and moves it to the front,
then repeats that process on all the subsequent elements after the new front element.
Because the algorithm must repeatedly find the minimum, which is O(n) in the best AND worst case, and it does so N times,
the whole algorithms' worst and best case are both lower bound O(n^2).
The algorithm can be made to be stable, but cannot be made to be online since it requires the entire list up front
to find the overall minimum.
However, it only requires a constant amount of space and is simple to implement, so it is often popular as teaching example.
Let me perform the algorithm on a deck of cards.
First, I scan the entire deck of cards looking for the smallest value.
I take this card, and put it at the front.
Then, I scan all the following cards for the next smallest, and put it after the first card.
I repeat this again, looking for the third card.
Now I do it for the fourth card.
... (Removed for space) ...
After reaching the sixth card, I have only one card remaining. This card must be in the proper spot.
So now the sorting algorithm is complete!
```

I have read about a sorting algorithm called BogoSort. I am very confused by it. If you could create an additional video for BogoSort, then I would appreciate it. If you decide to do so, email it to acbart+algoteachmebot@udel.edu

I appreciate the excellent job that you are doing as teachers this semester. I look forward to seeing the wonderful lesson you create. Otherwise, I will fail you in your course evaluations. Ha. Ha. Ha.

- AlgoTeachMeBot