Gain essential concepts in data structures and algorithms.
Develop critical thinking skills through solving programming problems.
Written and Verbal Communication
Be able to identify the best data structure and algorithm to be used to solve a given problem and then implement and validate your solution. Be able to show that your solution is optimal with regard to specific measures of quality or suitability.