COM S 311: Introduction to the Design and Analysis of Algorithms
(3-1) Cr. 3. F.S.SS.
Prereq: Minimum of C- in COM S 228; MATH 166, ENGL 150; COM S 230 or CPR E 310
Basic techniques for design and analysis of algorithms. Sorting, searching, graph algorithms, string matching, and NP-completeness. Design techniques such as dynamic programming, divide and conquer, greedy method, and approximation. Asymptotic, worst-case, average-case and amortized analyses. Topics from advanced data structures such as balanced trees and hashing. Programming projects.
The undergraduate curriculum in Computer Science leading to the Bachelor of Science degree is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org . This degree equips students with a sound knowledge of the foundations of Computer Science as well as problem solving and system design skills necessary to create robust, efficient, reliable, scalable, and flexible software systems. The B.S. degree in Computer Science prepares students for graduate study in Computer Science and for various business, industry, and government positions including computer scientists, information technologists, and software developers. The main educational objectives of the Computer Science program at Iowa State University are that its graduates demonstrate expertise, engagement, and learning within three to five years after graduation.