UEH Standard programs in English (20% English)

Brief Course Description

1. Course Title:

Data Structures and Algorithms

2. Language of Instruction:

Tiếng Việt

3. Course Code:

TEC550050

4. Credits:

3

5. Course Objectives:

The course "Data Structures and Algorithms" equips students with a relatively complete knowledge of analyzing and designing computer programming algorithms. It provides foundational knowledge about algorithms on computers, including recursive algorithms, search algorithms, and sorting algorithms. It also covers knowledge of common data structures and corresponding algorithms on computers, including lists, queues, stacks, binary search trees, and AVL tree.

6. Brief Description of Course Content:

This course equips students with both basic and advanced knowledge of data structures and algorithms, enabling them to apply programming to solve real-world problems using the Python language. The course content includes the following topics:

  • Algorithm Design and Analysis: Students are introduced to fundamental concepts, how to analyze and evaluate algorithms, particularly search and sorting algorithms such as binary search, bubble sort, insertion sort, merge sort, and quicksort.
  • Recursive Algorithms: Concepts and applications of recursion in programming, including how to design and analyze the complexity of recursive algorithms.
  • Sorting and Searching Algorithms: Analysis of sorting and searching problems, implementation, and comparison of various algorithms.
  • Linked Data Structures: Introduction and practice with linked lists, stacks, queues, and operations on these data structures.
  • Trees and Graphs: Concepts, classification, and traversal methods for trees, as well as graph algorithms such as Kruskal’s and Dijkstra’s algorithms.
  • Dynamic Programming: Theory and practice of dynamic programming problems, including the implementation of dynamic programming algorithms in Python.
  • Practice and Review: Practical application of the learned content through exercises and small projects, along with a summary and evaluation of the entire course.

Students will develop skills in analyzing, evaluating algorithms, writing, and implementing algorithms in Python, as well as the ability to work independently and participate in technology projects. Through this course, students will build a solid foundation for further learning, research, and application of new technological knowledge.