IST238: Algorithms.

Syllabus.
  1. Introduction
  2. Think guys!
  3. Recursion
  4. Sorting methods
  5. Bitwise operators
  6. Dynamic Programming
  7. Greedy approach
  8. Huffman code
  9. Public and private key encryption
  10. Dictionaries and hash functions
  11. Random number generator

  1. Program examples
  2. Projects.
    1. Insertion sort algorithm - Due by Sep 14, 11:59pm.
    2. Different sequences in the Shell sort algorithm - Due by Sep 20, 11:59pm.
    3. Comparison of merge, quick, and heap sorting methods - Due by Oct 6, 11:59pm.
    4. Dijkstra shortest path algorithm - Due by Nov 23, 11:59pm.
    5. Huffman code - Due by Nov 27, 11:59pm
      In order to improve your grade you might want to complete the full version of this project. The full version is due by December 8, 2006.
  3. Homework assignments.
    1. Selection sort - Due by Sep 5, 11:59pm.
    2. Bubble sort - Due by Sep 7, 11:59pm.
    3. Shell sort - Due by Sep 18, 11:59pm.
    4. Merge sort - Due by Sep 25, 11:59pm.
    5. Quick sort - Due by Sep 29, 11:59pm.
    6. Sieve of Eratosthenes - Due by Oct 17, 11:59pm.
    7. Binomail coefficients - Due by Oct 21, 11:59pm.
    8. Floyd's shortest path algorithm - Due by Nov 2, 11:59pm.
    9. Knapsack problem - dynamic approach - Due by Nov 7, 11:59pm.
    10. Implement public and private keys encryption. - Due by Nov 29, 11:59pm.