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
- 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.
Why Choose National University?
We’re proud to be a veteran-founded, San Diego-based nonprofit. Since 1971, our mission has been to provide accessible, achievable higher education to adult learners. Today, we educate students from across the U.S. and around the globe, with over 165,000 alumni worldwide.
Focus on one subject at a time — one month at a time — and finish your degree faster.
100+ Degree Programs
Choose from associate, bachelor’s, and master’s degrees, plus credentials and certificates.
On Campus or Online
Study when and where it’s convenient for you with evening, weekend, and 100% online classes.
Apply or transfer any time. Classes start monthly, and applications are accepted year round.
20+ Campus Locations
Attend class onsite at one of over 20 campus locations across California or in Nevada.
As a Yellow Ribbon school, we offer tuition discounts to servicemembers and dependents.