We will attempt to cover as many of the following topics as possible.Course objectives:
Introduction to analysis of algorithms, analyzing algorithms and complexity, data structures, recursion, various strategies for designing algorithms such as divide-and-conquer, greedy method, dynamic programming; worst case and average case analysis, analytic tools such as summing series, products and binomials, asymptotic approximations; linear and nonlinear recurrences and their solution methods, recurrences involving integer parts, generating functions, algebraic simplifications and transformations, the fast Fourier transform, lower bound theory.
The concepts covered in this course will help the students to develop algorithms for the solution of problems, analyze their computational complexity and improve it.Evaluation procedures and criteria:
There will be a mid-term, a final examination, and several homework assignments. All the assignments will be discussed in class. The grading will be relative or “on the curve”, i.e., the performance of a student relative to the class will be important.Course schedule/outline/calendar of events:
The final examination will be based on the entire course material, however greater emphasis will be laid on the material covered after the mid-term. (The calendar of events will be included at the beginning of the relevant semester.)
Required student resources:
Text- Fundamentals of Computer Algorithms by E. Horowitz, S. Sahni and S. Rajasekaran. Computer Science Press, Inc., 1997.Special needs:
Any students with disabilities, or other special needs, who need special accommodations in this course are invited to share these concerns or requests with the instructor as soon as possible.Approved academic honesty statement:
All work in this course must be completed in a manner consistent with NDSU University Senate Policy, Section 335: Code of Academic Responsibility and Conduct (http://www.ndsu.nodak.edu/policy/335.htm).All announcements made in the classroom will supercede those made in this document.