COVID-19 update: DC has implemented a vaccination policy for the fall 2021 semester. Learn more.Program delivery information: fall semester.Learn more about courses and services being offered remotely. COVID-19 Pre-entry Screening Questionnaire Report if you are unwell
The course introduces students to the theory and practice of designing and analyzing algorithms for solving typical real-world problems and the data structures for processing and manipulating data in computer programs. The course covers sorting, searching, divide and conquer, greedy, graph-based, and other types of algorithms as well the methods for evaluating their complexity. Students will learn many types of data structures used in today's software systems (including lists, trees, queues, stacks, etc.) and algorithms for their efficient manipulation. Upon completing this course students will be able to determine the best data structures to use for solving particular problems.
Many of the photos on this website were taken prior to the COVID-19 pandemic.