.. _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

source: ListADT

.. TODO:: :tag: Exercise This exercise ought to get expanded to a much richer set of variations on the question. .. raw:: html

source: ExchangeSort

.. 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

source: SortOpt

.. 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

source: AnalIntro

.. 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

source: HashCImproved

.. 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

source: GraphShortest

.. TODO:: :type: AV AV here to demonstrate the minVertex implementation. .. raw:: html

Code


.. raw:: html

source: GraphShortest

.. TODO:: :type: Code Why does the code look for an unvisited value first? Is there an easier way? .. raw:: html

Diagram


.. raw:: html

source: GraphIntro

.. TODO:: :type: Diagram Make a diagram for the following terms. .. raw:: html

Exercise


.. raw:: html

source: ListDouble

.. TODO:: :type: Exercise Need exercises for inserting to and deleting from doubly linked lists. .. raw:: html

source: HuffProof

.. TODO:: :type: Exercise Battery of MCQs for content. .. raw:: html

source: Quicksort

.. 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

source: IndexingSumm

.. TODO:: :type: Exercise This is a good question, but its not nearly enough for a chapter summary. .. raw:: html

source: GraphImpl

.. TODO:: :type: Exercise Add a battery of questions to test knowledge of the implementations. .. raw:: html

source: GraphTraversal

.. TODO:: :type: Exercise Summary exercise for graph traversals. .. raw:: html

source: GraphShortest

.. TODO:: :type: Exercise Summary battery of questions for Dijkstra's algorithm .. raw:: html

source: MCST

.. TODO:: :type: Exercise Proficiency exercise for Prim's algorithm. .. raw:: html

source: Kruskal

.. TODO:: :type: Exercise Summary battery of questions for Prim's and Kruskal's algorithms. .. raw:: html

Explanation


.. raw:: html

source: LinearIndexing

.. TODO:: :type: Explanation The slideshow should subsume the next paragraph and the caption. .. raw:: html

Figure


.. raw:: html

source: SelectionSort

.. TODO:: :type: Figure Replace with with a JSAV version of the figure .. raw:: html

source: Garbage

.. TODO:: :type: Figure Replace this figure with an applet that demonstrates the use of handles. .. raw:: html

Proficiency Exercise


.. raw:: html

source: GraphTopsort

.. 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

source: AnalProgram

.. 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

source: StackRecur

.. TODO:: :type: Slideshow The figure above and the following text should all be rolled into a slideshow. .. raw:: html

source: SortNotation

.. TODO:: :type: Slideshow The preceding paragraph could be turned into a slideshow. .. raw:: html

source: Garbage

.. TODO:: :type: Slideshow Replace this figure with a slideshow that demonstrates the use of reference counts (including the problem with cycles). .. raw:: html

source: Garbage

.. TODO:: :type: Slideshow Put here a visualization that demonstrates the use of reference counts. .. raw:: html

source: Garbage

.. TODO:: :type: Slideshow Replace this figure with an AV that demonstrates DSW. .. raw:: html

source: GraphTraversal

.. TODO:: :type: Slideshow Replace the following paragraph with a slideshow. .. raw:: html

source: GraphTraversal

.. TODO:: :type: Slideshow Provide a slideshow to demonstrate BFS. .. raw:: html

source: GraphTopsort

.. TODO:: :type: Slideshow Replace the above figure with a slideshow that incorporates the following paragraph. .. raw:: html

source: GraphTopsort

.. TODO:: :type: Slideshow Replace the following paragraph with a slideshow. .. raw:: html

source: GraphTopsort

.. TODO:: :type: Slideshow Incorporate the following into a slideshow. .. raw:: html

source: GraphShortest

.. TODO:: :type: Slideshow Incorporate the following paragraph into a slideshow with the figure below it. .. raw:: html

source: GraphShortest

.. TODO:: :type: Slideshow Provide a slideshow to demonstrate the following example. .. raw:: html

source: GraphShortest

.. 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

source: GraphShortest

.. TODO:: :type: Slideshow Slideshow to demonstrate the relative costs of the two algorithms. .. raw:: html

source: MCST

.. TODO:: :type: Slideshow Replace the previous diagram with a slideshow illustrating the concept of MCST. .. raw:: html

source: MCST

.. TODO:: :type: Slideshow Implement a slideshow demonstrating the Priority Queue version of Prim's algorithm .. raw:: html

Summary Questions


.. raw:: html

source: GraphTopsort

.. TODO:: :type: Summary Questions Provide a summary battery of questions. .. raw:: html

Text


.. raw:: html

source: HashAnal

.. TODO:: :type: Text Where did that last claim about the linear probing cost come from? .. raw:: html

Visualization


.. raw:: html

source: Buddy

.. TODO:: :type: Visualization Re-implement the buddy method visualization from the original Java tutorial .. raw:: html

text


.. raw:: html

source: AnalTuning

.. TODO:: :type: text Give an example of this type of representational change.