Skip to main content

Data Structures and Algorithms

Enrollment in this course is by invitation only



Dear students, you are starting the course Data structures and algorithms under Certificate 2 of Mobile Software Programming of FUNiX University's program.

To learn Data Structures and Algorithms, you first need to have basic knowledge of object-oriented programming (OOP) in the Java language, which is a necessary condition to help you install these structures. data structures, operations on data structures, and algorithms in the curriculum.

The course Data Structures and Algorithms course provides you with an understanding of data structures and algorithms, understanding some linear and non-linear data structures, and deploying some common algorithms commonly used in computer software such as searching and sorting. Besides, the most important thing you need to try to understand is to think about the design and implementation of algorithmic data structures that are suitable for the specific problems you will encounter in your future career.

This subject is one of the basic subjects of the information technology industry, it would be really difficult for any learner without thorough preparation and an active approach. Work hard and persistent and you will surely succeed!

Course objectives

After completing this course, students will achieve the following output standards and skills:

  • Understand the basics of data structures and algorithms
  • Understand basic search and sorting algorithms.
  • Understand how to use Recursion, Use recursion to solve some problems.
  • Understand and be able to apply Linked Lists data structures
  • Understand and be able to apply Stack and Queue data structures
  • Understand and use tree structures, especially binary search trees
  • Learn some concepts about graphs, methods of traversing graphs, and the problem of finding the shortest path and coloring the graph.
  • Advanced Searching and Sorting Methods, Heap Structures, and Heap Sort Algorithms
  • Understand hashing (hashtable and hash function) and some algorithms to solve collisions problems in the hashtable.


The course consists of 4 modules, 10 lessons. Each lesson will have videos that require students to watch carefully, the lesson text and the summary text of the lesson also require learners to invest time in serious research. At the end of each lesson, students answer the quiz questions. After each section, students will do project assignments. Before doing the project, students need to complete the exercises. During the learning process, students will actively connect directly with Mentors to get answers and share questions about subject content.

During the study period (expected to be 6 weeks), the allocation of the study week is very important. If you have any questions, please connect with Mentor for answers.

Course Development Team


  • Qualification: Doctorate in Information System, Post and Telecommunications Institute of Technology; Master of Science in Mathematics Assurance for Computational Systems, National University.
  • Occupation: Lecturer
  • Workplace: Faculty of IT1, Post and Telecommunications Institute of Technology
  • Experience: 24 years of experience in software development and training.
  • Facebook:
  • Ngo Tung Son

    • Qualification: Graduated from Computer Course, University of Lorraine, France
    • Occupation: Lecturer of FPT-Greenwich international bachelor program of FPT University
    • Workplace: FPT University
    • Experience: Worked at Lorraine and Panasonic University laboratories in Vietnam; Co-founder Technical manager of Hung Vuong Technology and Trading Joint Stock Company (
    • Facebook:


    The purpose of FUNiX Way learning programs is that learners are confident and proficient in the digital environment, can earn income with the profession they study or use what they have learned to do better than their current job, motivated and capable of upskilling, can work as a professional project member and join the profession community as a responsible member.

    Learning resources

    In modern times, each subject has numerous relevant studying materials including printed and online books. FUNiX Way does not provide a specific learning resource but offers recommendations for students to choose the most appropriate source for them. In the process of studying from many different sources based on that personal choice, students will be timely connected to a mentor to respond to their questions. All the assessments including multiple-choice questions, exercises, projects, and oral exams are designed, developed, and conducted by FUNiX.  

    Learners are under no obligation to choose a fixed learning material. They are encouraged to actively find and study from any appropriate sources including printed textbooks, MOOCs, or websites. Students are on their own responsibilities in using these learning sources and ensuring full compliance with the source owners’ policies; except for the case in which they have official cooperation with FUNiX. For further support, feel free to contact FUNiX Academic Department for detailed instructions.

    Learning resources are recommended below. It should be noted that listing these learning sources does not necessarily imply that FUNiX has an official partnership with the source’s owner:

    Feedback channel

    FUNiX is ready to receive and discuss all comments and feedback related to learning materials via email