Contact

Request Information

Please complete the form below, and an admissions advisor will contact you shortly.

800-628-8648

Apply Now

Ready to take the next step?

The application process is easy. We accept and review applications year-round, and qualified applicants can begin classes any month of the year, depending on your program and location.

Click Apply Now to get started on the next exciting chapter of your life!

Apply Now

CSC338 Algorithm Design

Lead Faculty: Dr Ronald Uhlig

Course Description

This course presents an introduction to the techniques for designing efficient computer algorithms, proving their correctness, and analyzing their running time complexity. General topics include asymptotic behavior, solving summations and recurrences, algorithm design techniques such as divide-and-conquer, dynamic programming, and greedy algorithms applied to sorting, searching and graphs. The course includes an introduction to the theory of parallel and distributed algorithms

Learning Outcomes

  • Analyze worst-case running time of algorithms using asymptotic analysis.
  • Describe the divide-and-conquer paradigm. Describe and analyze algorithms that employ this paradigm.
  • Describe the dynamic-programming paradigm. Describe and analyze algorithms that employ this paradigm.
  • Describe the greedy paradigm. Describe and analyze algorithms that employ this paradigm.
  • Explain the major algorithms for sorting. Provide analyses of these algorithms.
  • Explain the major graph algorithms and their analyses.
  • Discuss parallel computer architecture and parallel algorithm design strategies.
  • Prepare and make professional presentations.