(CS 301) Algorithms and Complexity
Study of algorithm analysis, design strategies, and fundamental algorithms with a focus on performance, efficiency, and data structures.
Credit hours | 3.0 lecture |
---|---|
Prerequisites | CS 206 and CS 300 |
Offered | Variable |
Programs | Computer Science (BS), Computer Science Minor, Mathematics (BS) |
Course Learning Outcomes
Each student who passes this course will be able to do the following:
- Interpret pseudocode representations of algorithms and translate them into real programming languages.
- Understand, describe, implement, and compare classical sorting algorithms, discussing their advantages and disadvantages.
- Implement classical data structures (graphs, trees, hash tables) and analyze their strengths and weaknesses in different contexts.
- Demonstrate proficiency in designing, programming, and optimizing algorithms for various problems and scenarios.