This is a lecture and laboratory course that studies effectiveness, efficiency and clarity considerations in algorithm design and implementation. Both sequential and parallel algorithms are included. General techniques, such as divide and conquer, greedy methods, dynamic programming, backtracking, searching, and various traversals, are studied. Methodologies for analyzing algorithm efficiency are reviewed, providing the basis for studying computational complexity, as well as the classification of problems as being in classes P, NP and NP-complete according to their inherent difficulty. Students distinguish tractable problems (problems with efficient solutions) from intractable problems (problems whose known solutions are impractical regardless of how powerful the computer becomes). Prerequisite: CSCI 220. Alternate years.
Grade Basis: Letter Grade
Credits: 4.0
St. Norbert College adheres to all policies of non-discrimination on the basis of age, sex, gender identity, race, color, national origin, ancestry, sexual orientation, military or veteran status, marital status, disability, religion or any other characteristic protected by the current federal, state, and local statutes. Further, the college prohibits discrimination based on genetic information and non-job related arrest record or conviction records for employment purposes.
@2023 St. Norbert College