This course discusses about Abstract Data Type (ADT), Data Structures, and Algorithms. ADT is a data type apart from the standard data type like char, int, or float. By learning the ADT, students may develop Data Structures like a dynamic array, stack, queue, tree, or graph effectively. They will also be provided with an intuition to select appropriate ADTs to solve a problem. Aside of those, this course also provide some basic algorithms like recursive programming, searching, and sorting.