Computer Science 215. Algorithms
An introduction to the mathematical foundations, design, implementation and computational analysis of fundamental algorithms. Problems include heuristic searching, sorting, several graph theory problems, tree balancing algorithms, and the theoretical expression of their orders of growth. Out-of-class assignments and in-class labs emphasize the balance between theoretical hypotheses and experimental verification. C/C++, Java, Perl or Maple are applied to various solutions.