Final Project COMP 6030/4030

Fall 2000

  1. General guidelines

The goal of the project is for you to demonstrate that you mastered the material of this course and you are able to use it for problem solving. It is important that you work continuously on your project during the second part of the semester. We will spend plenty of time during the class to discuss the progress. If needed, please also use the consultation time: Room 202 Dunn, Thursday 1-2 pm, or other time by appointment with R. Kozma, email kozma@socrates.berkeley.edu or kozmar@msci.memphis.edu .

After selecting your topic, you can structure your project as follows:

Please use the above list just as a guideline. In your actual project you could omit or add other sections depending on the nature of the topic.

  1. Requirements

There are written and oral parts of the project.

  1. Evaluation
  2. Project proposal (1p) 5%

    Final written part (6p) 20%

    Presentation 20%

  3. List of possible topics
  4. Your project should supplement class material. You must learn something extra during your project and the class should learn from you during your presentation! So you should go beyond the lecture and this can be done in several ways: (i) you can select a topic that hasn't been dealt with in details in the class; (ii) you could describe a given algorithm in details and describe its implementation and pseudo code; (iii) you could choose to describe a novel application of a given algorithm; (iv) you could compare several different algorithms or methods, regarding their performance (time, memory, optimality). The topics in italics in the list below are the ones which go beyond the basic course material.

    Sort:

    Insertion sort

    Bubble sort

    Divide and conquer algorithms

    Quick sort, basic and improvements

    Merge sort

    Heap sort

    Shell sort

    Radix sort

    Search:

    Find max/min

    Amortized time analysis

    Dynamic sets

    Red-Black trees, optimality in binary search

    Insertion in RBT, rotation, color flip

    Hashing, closed address

    Hashing, open address

    Choice of hash function

    Graphs:

    Binary relations, equivalence, ordering

    Traversing graphs, depth first search

    Traversing graphs, breadth first search

    Greedy algorithm

    Critical path analysis

    Prim's minimum spanning tree algorithm

    Dijkstra's shortest path algorithm

    Kruskal's minimum spanning tree algorithm

    Graph colorings

    Transitive closure:

    Transitive closure, Warshall algorithm

    Multiply bit-matrices, Kronod algorithm

    Dynamic programming

    Constructing optimum binary trees

    N-queens problems

    String matching, Knuth-Morris-Pratt algorithm

    Knapsack problem

    Traveling salesman problem

    Complexity and computation

    NP hard problems, algorithms

    Fast Fourier Transformation FFT

    Evaluating polynomials

    Matrix multiplication

    Novel and parallel computing

    DNA computing algorithms

    Massive parallel computing (neural)

    Walks on graphs and neural networks

    Chaos computing algorithms

    Your choice:

    You can propose other topics, please see me.

  5. Topic selection advice

You are free to select a topic as given above. If two or more students choose the same topic, you can still do it! However, in that case we need to discuss it and you must be more specific and select a certain sub-problem from that field. We will resolve such possible collisions during the week following Oct. 12.