Current Catalog Description
Application of algorithms to solving a variety of problems. Factors influencing choice of algorithms for a given problem. Students will work in groups and individually to solve problems in and outside of class.
Prerequisite by Topic
CS 350, Algorithms and Analysis.
Know and have programmed a variety of algorithms Be able to choose an appropriate algorithm to solve a problem.
Upon the successful completion of this course students will be able to:
"Programming Challenges," by Skiena and Revilla.
Introduction to Algorithms, by Cormen et al, and "Programming Pearls," second edition, by Bentley.
Major Topics Covered in the Course
Graph Algorithms, including various searches, spanning trees, and path algorithms. Backtracking and Dynamic Programming. Combinatorics.
There will be a variety of problems presented for solution each week.
|Computer Organization and Architecture|
|Concepts of Programming Languages|
Algorithm analysis, problem abstraction, definition of invariants.
Students will analyze programming problems and puzzles, and devise approaches to solving them. The class will work on problems in groups and individually.
Students will design and implement solutions to a variety of programming problems and puzzles. This will be done both in groups and individually, and with problems at a variety of challenge levels.