|
Dec 22, 2024
|
|
|
|
CS 3851 - Algorithms3 lecture hours 2 lab hours 4 credits Course Description This course extends the study of algorithms introduced in CS 2852 . Topics covered include searching, sorting, selection, graph structures, traversal algorithms and P/NP complete problems. Applications such as data compression and optimization problems are also discussed. Laboratory activities include the implementation and comparison of problem-specific algorithms. (prereq: CS 2852 , MA 262 , MA 3320 ) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Apply asymptotic time complexity analysis to choose among competing algorithms
- Construct and solve recurrence equations describing the asymptotic time complexity of a given algorithm
- Implement sorting algorithms such as heapsort and quicksort
- Describe how graph and tree structures are implemented
- Describe similarities and difference between breadth-first and depth-first search techniques
- Compare and contrast at least two minimum spanning tree algorithms
- Identify the use of dynamic programming techniques in algorithmic design
- Describe the implications of demonstrating that a particular algorithm is NP complete
- List at least three engineering applications of algorithmic design and analysis
Prerequisites by Topic
- Algorithmic analysis
- Java programming
- Set theory
- Recursion
- Methods of proof
- Graphs
- Trees
Course Topics
- Independent research presentation
- Algorithmic analysis
- Mathematic tools
- Sorting
- Order statistics
- Greedy algorithms
- Graphing algorithms
- Dynamic programming
- NP complete
Laboratory Topics
- Algorithm analysis
- Sorting
- Greedy algorithms
- Dynamic programming
Coordinator Dr. Christopher Taylor
Add to Portfolio (opens a new window)
|
|