ACS 3110 Advanced Trees & Sorting Algorithms (CS 2.1)
In this course students will implement and test advanced data structures and algorithms, analyze algorithmic complexity, benchmark performance in time and memory usage, and draw out elegant problem-solving techniques. Key concepts include divide-and-conquer recursion, sorting algorithms, heaps, tries, n-ary trees, and self-balancing trees. Students will build an original project that applies these data structures to real-world problems such as autocomplete, expression parsing, and phylogenetic trees. Students will also write technical blog articles about these topics to deepen understanding, improve technical writing, and bolster their online presence as knowledgeable and proficient software engineers. Prerequisites:
ACS 2130 (CS 1.3)