.. _ToDo:
.. raw:: html
.. |--| unicode:: U+2013 .. en dash
.. |---| unicode:: U+2014 .. em dash, trimming surrounding whitespace
:trim:
.. index:: ! todo
TODO List
=========
.. raw:: html
No Category
.. raw:: html
.. TODO::
:tag: Exercise
This exercise ought to get expanded to a much richer set of
variations on the question.
.. raw:: html
.. TODO::
:tag: Revision
Rewrite along these lines: Here are two measures of "out of order":
inversions and min-swaps. Selection sort (especially w/
optimization) meets min-swaps, but that's not a useful measure in
general. Insertion sort tracks inversions, it is I + n. Now, if we
had an exchange sort, what would cost be? Go on to the proof.
.. raw:: html
.. TODO::
:tag: Revision
Rewrite along these lines: A classic form of code tuning is "test
to save work". For each of our three sorting algorithms, we have a
potential "test to save work" "optimization". The question is: When
is the cost of test worth the work saved? Let's look at each of the
three.
.. raw:: html
AV
.. raw:: html
.. todo::
:type: AV
To make students more engaged in the GrowthRates exercise, we may
need a tool that allows students to input two growth rate functions.
Then the tool should plot the graph of both functions and mark
their crossing point. The student also should be allowed to play
with the constant values for both functions and see that this only
changes the crossing point but doesn't change which function grows
faster than the other.
.. raw:: html
.. TODO::
:type: AV
Fix and return hashAV.html to here.
The following visualization lets you test out different combinations
of hash function and collision resolution, on your own input data.
.. raw:: html
.. TODO::
:type: AV
AV here to demonstrate the minVertex implementation.
.. raw:: html
Code
.. raw:: html
.. TODO::
:type: Code
Why does the code look for an unvisited value first?
Is there an easier way?
.. raw:: html
Diagram
.. raw:: html
.. TODO::
:type: Diagram
Make a diagram for the following terms.
.. raw:: html
Exercise
.. raw:: html
.. TODO::
:type: Exercise
Need exercises for inserting to and deleting from doubly linked lists.
.. raw:: html
.. TODO::
:type: Exercise
Battery of MCQs for content.
.. raw:: html
.. TODO::
:type: Exercise
Consider the Quicksort implementation for this module, where the
pivot is selected as the middle value of the partition.
Give a permutation for the values 0 through 7 that will cause
Quicksort to have its worst-case behavior.
There are a number of possible correct answers. To assess the
answer, will need to run Quicksort over student's
partition, and verify that at each step it will generate new
partitions of size 6, 5, 4, 3, 2, then 1.
.. raw:: html
.. TODO::
:type: Exercise
This is a good question, but its not nearly enough for a chapter
summary.
.. raw:: html
.. TODO::
:type: Exercise
Add a battery of questions to test knowledge of the
implementations.
.. raw:: html
.. TODO::
:type: Exercise
Summary exercise for graph traversals.
.. raw:: html
.. TODO::
:type: Exercise
Summary battery of questions for Dijkstra's algorithm
.. raw:: html
.. TODO::
:type: Exercise
Proficiency exercise for Prim's algorithm.
.. raw:: html
.. TODO::
:type: Exercise
Summary battery of questions for Prim's and Kruskal's algorithms.
.. raw:: html
Explanation
.. raw:: html
.. TODO::
:type: Explanation
The slideshow should subsume the next paragraph and the caption.
.. raw:: html
Figure
.. raw:: html
.. TODO::
:type: Figure
Replace with with a JSAV version of the figure
.. raw:: html
.. TODO::
:type: Figure
Replace this figure with an applet that demonstrates the use of
handles.
.. raw:: html
Proficiency Exercise
.. raw:: html
.. TODO::
:type: Proficiency Exercise
Provide a proficiency exercise that randomly alternates between
proficiency for DFS-based and queue-based Topsort.
.. raw:: html
Slideshow
.. raw:: html
.. todo::
:type: Slideshow
We need to think about a technique for visualizing the running time
of some loop constructs. This can be very similar to how we
visualize reaching the closed form solution of summations.
.. raw:: html
.. TODO::
:type: Slideshow
The figure above and the following text should all be rolled into
a slideshow.
.. raw:: html
.. TODO::
:type: Slideshow
The preceding paragraph could be turned into a slideshow.
.. raw:: html
.. TODO::
:type: Slideshow
Replace this figure with a slideshow that demonstrates the use of
reference counts (including the problem with cycles).
.. raw:: html
.. TODO::
:type: Slideshow
Put here a visualization that demonstrates the use of reference
counts.
.. raw:: html
.. TODO::
:type: Slideshow
Replace this figure with an AV that demonstrates DSW.
.. raw:: html
.. TODO::
:type: Slideshow
Replace the following paragraph with a slideshow.
.. raw:: html
.. TODO::
:type: Slideshow
Provide a slideshow to demonstrate BFS.
.. raw:: html
.. TODO::
:type: Slideshow
Replace the above figure with a slideshow that incorporates the
following paragraph.
.. raw:: html
.. TODO::
:type: Slideshow
Replace the following paragraph with a slideshow.
.. raw:: html
.. TODO::
:type: Slideshow
Incorporate the following into a slideshow.
.. raw:: html
.. TODO::
:type: Slideshow
Incorporate the following paragraph into a slideshow with the
figure below it.
.. raw:: html
.. TODO::
:type: Slideshow
Provide a slideshow to demonstrate the following example.
.. raw:: html
.. TODO::
:type: Slideshow
This slideshow illustrates Dijkstra's algorithm using the heap.
The start vertex is A.
All vertices except A have an initial value of :math:`\infty`.
After processing Vertex A, its neighbors have their D estimates
updated to be the direct distance from A.
After processing C (the closest vertex to A),
Vertices B and E are updated to reflect the shortest
path through C.
The remaining vertices are processed in order B, D,
and E.
Changes in the D array should be shown along with this.
.. raw:: html
.. TODO::
:type: Slideshow
Slideshow to demonstrate the relative costs of the two algorithms.
.. raw:: html
.. TODO::
:type: Slideshow
Replace the previous diagram with a slideshow illustrating the
concept of MCST.
.. raw:: html
.. TODO::
:type: Slideshow
Implement a slideshow demonstrating the Priority Queue version of
Prim's algorithm
.. raw:: html
Summary Questions
.. raw:: html
.. TODO::
:type: Summary Questions
Provide a summary battery of questions.
.. raw:: html
Text
.. raw:: html
.. TODO::
:type: Text
Where did that last claim about the linear probing cost come from?
.. raw:: html
Visualization
.. raw:: html
.. TODO::
:type: Visualization
Re-implement the buddy method visualization from the original Java
tutorial
.. raw:: html
text
.. raw:: html
.. TODO::
:type: text
Give an example of this type of representational change.