Course Price
Includes:
4 modules
45 hours
Access on mobile and TV
Certificate of Completion
Ngo Tung Son
Ngo Tung Son
Co-founder and Technical Manager of Hung Vuong Trading Technology
Development
Last updated 08/02/2018
Course Objective

- 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.

About this course

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. 

Requirements

N/A

Description
Module 1: Introduction to algorithm
    - Introduce common knowledge of data structures and algorithms.
    - Use  primary sources  from the course Introduction to Data Structures & Algorithm in Java on Udemy
Module 2: Linear data structure.
    - Introduce some types of linear structure (store data in form of a sequence of values).
    - Use primary sources from the course Introduction to Data Structures & Algorithm in Java on Udemy.
Module 3: Non-linear data structure.
    - Introduce some types of complex data structures that don't store data in form of a sequence of values.
    - Use primary sources from the course Introduction to Data Structures & Algorithm in Java on Udemy.
Module 4: Advanced searching and sorting algorithms
    - Introduce some faster and more optimized sorting and searching algorithms (than sorting and searching sequentially).
    - Use primary sources  from the course Introduction to Data Structures & Algorithm in Java on Udemy.
Grading policies and Evaluation:
(Marks are rounded to the nearest tenth)
1. Progress evaluation:
    - Asking questions, 15% total points.
    - Quiz, 20% total points.
    - Assignment, 40% total points.
2. Final exam evaluation:
    - Oral test, 25% total points.
Compulsory prerequisites to take the final exam:
    - Ask at least 8 questions, which are accepted by mentor(s).
    - Complete all quizzes with perfect scores (100%).
    - Get more than zero points (>0) in every assignment.
Passing conditions:
    - The mark of the final exam isn't less than 4 out of 10 ( >= 4/10)
    - Total score isn't less than 5 out of 10 ( > = 5/10)

Frequently Bought Together
S$495
S$990
Web-based Java Applications Web-based Java Applications
Chu Tuan Luyen
Senior Java Developer. Currently teaching in FPT University.
S$495
S$990
Ruby on Rails Ruby on Rails
Quach Ngoc Xuan
Senior Software Engineer at FPT-Software for 10+ years. Currently a lecturer at FPT University
S$495
S$990
Software Requirements Software Requirements
Vu Manh Thang
Senior Business Analyst. BA at Banking, Outsource.
S$495
S$990
Database Systems Database Systems
Ngo Tung Son
Co-founder and Technical Manager of Hung Vuong Trading Technology
S$495
S$990
Front-End Web Development Front-End Web Development
Quach Ngoc Xuan
Senior Software Engineer at FPT-Software for 10+ years. Currently a lecturer at FPT University
S$495
S$990
Introduction to Computer Science Introduction to Computer Science
Phan Truong Lam
Director of Academic Affair Department at FPT University
S$495
S$990
Introduction to Software Engineering Introduction to Software Engineering
Nguyen Tat Trung
Senior Software Engineer at FPT-Software. Currently a lecturer at FPT University
S$495
S$990
Data structures and algorithms Data structures and algorithms
Ngo Tung Son
Co-founder and Technical Manager of Hung Vuong Trading Technology
S$495
S$990
Object-Oriented Programming (with Java) Object-Oriented Programming (with Java)
Nguyen Quyet
Lecturer at FPT Software training center. Masters Information Systems - Hanoi University of Technology