- Be able to understand data structure and algorithm.
- Be able to implement a number of linear and non-linear data structure.
- Be able to implement searching and sorting algorithms from basic to advance.
Data structures and Algorithms is one of the most critical issue in Computer Science. At the beginning stage of learning programming, our top concern is the ability to run and produce expected outcome of a program. However, to process complicated, large volumes of data, we need more effective techniques than just the simple programming.
Imagine that you have to dig into the soil to build the foundation for your house, and have to transport that soil to the scrap-yard. There are two different ways: using baskets or using wagon. Which way is better? Programming without thoroughly thinking about data structures and algorithms is the same as transporting soil using baskets: If the soil is not much, this way is both fast and easy to follow. But if the amount of soil is huge, doing that way needs a lot of efforts. I want to quote the introduction text of Professor Do Xuan Loi's book to justify the relation between data structure and algorithm:
"Sometimes, when referring to solving a problem in computer, people only pay attention to algorithms. They are a series of rigid and clear statements used to identify a sequence of operations on some certain objects that help us to achieve the expected result after a finite number of steps.
However, algorithm only reflects the processing operations, but the objects are data used to represent the necessary information of the problem: input data, intermediate results, etc. It's not possible to mention algorithm without thinking about which type of data this algorithm act upon, yet when considering data we also need to understand which type of algorithms are used to process that type of the data to attain the desired result."
To learn this course, you first need to understand the fundamental knowledge of object-oriented programming (OOP) in Java as we will use it to transform algorithms into computer application.
This course assists you in gaining the knowledge of Data Structure and Algorithm, as well as linear and non-linear data structure. At the end of the course, you will know how to implement some common algorithms in computer science such as searching and sorting algorithms. Besides, the most important thing that you need to perceive is to get the idea of which Data Structure and Algorithm will fit to that specific problem you will encounter later in your working field.