CSCI 3230

Algorithms

Credit Hours
4
Contact Hours
4
Course Coordinator
Jacob Gillenwater

Catalog Description

Introduction to algorithms with analysis techniques. Topics include files and file structures, sorting, indexing and searching, trees, hashing, compression, graph algorithms, computational geometry, encryption, string matching, and NP completeness.

Prerequisite(s)

None

Course Outcomes

  • Explain the use of asymptotic notation in describing the amount of work done by an algorithm.
  • Use and solve recurrence relations to determine the time complexity of recursively defined algorithms.
  • Given a problem, determine an appropriate algorithmic strategy and appropriate data structure to solve the problem efficiently. ( Student Outcome CS1 )
  • Explain the difference between P, NP, and NP-Completeness.

Topics

  • correctness of algorithms.
  • asymptotic notation.
  • analyzing recurrence relations.
  • sorting and searching strategies.
  • dynamic programming.
  • greedy algorithms.
  • amortized analysis.
  • graph algorithms.
  • complexity classes and NP-completeness.
  • additional topics on modern applications of algorithms (time permitting).

No syllabi uploaded yet.