CS 2223: Algorithms
D20 (Freshman Year, Second Semester)



Course Description

β€œCat. I Building on a fundamental knowledge of data structures, data abstraction techniques, and mathematical tools, a number of examples of algorithm design and analysis β€” worst case and average case β€” will be developed. Topics include greedy algorithms, divide-and-conquer, dynamic programming, heuristics, and probabilistic algorithms. Problems will be drawn from areas such as sorting, graph theory, and string processing. The influence of the computational model on algorithm design will be discussed. Students will be expected to perform analysis on a variety of algorithms.Recommended background: CS 2102 or CS 2103, and CS 2022.”



Languages/Technologies



Concepts Learned



Projects



My Experience

CS 2223 was a class that taught algorithms and data structures in a larger depth than prior classes I took. It analyzed not only data structures such as hash tables, linked lists and binary trees, but it also looked at the space and time costs and more of their functionalities. It also explored many search algorithms, mainly binary search. At the end of the course, a research project was conducted with a team of five where we analyzed the KMP substring algorithm and compared it to a traditional method for finding a substring.