Data structures (such as list, queue, stack), algorithms (such as recursion, sorting and searching), concepts and design patterns of object-oriented programming are introduced. Students are expected to understand and use these techniques to handle data.